I downloaded and installed Ubuntu from the official site. However, I don't know if I installed the 32-bit or 64-bit version.
In Windows 7 I could right click My Computer and it listed which version it was.
Is there an easy way to check in Ubuntu?
I know at least 2 ways. Open a terminal(Ctrl+Alt+T) and type:
Result for 32-bit Ubuntu:
Linux discworld 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 03:31:50 UTC 2011 i686 i686 i386 GNU/Linux
whereas the 64-bit Ubuntu will show:
Linux discworld 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 03:31:50 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
$ uname -i x86_64
Result for 32-bit Ubuntu:
/sbin/init: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped
whereas for the 64-bit version it would look like:
/sbin/init: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped
Same for systems using systemd (16.04):
Result for 64-bit:
/lib/systemd/systemd: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=54cc7ae53727d3ab67d7ff5d66620c0c589d62f9, stripped
Details, and select "Details" icon
Alternative to get the above screen:
I know the terminal responses are good but I guess this is the GUI answer. :)
System info, and select System Info icon
Use the command:
You will typically get:
for 32-bit (or possibly i586 or i386), and:
The script is basically this:
#!/bin/bash ARCH=$(uname -m) if [ "$ARCH" = "i686" ]; then zenity --info --title="Architecture Checker" --text="Your Architecture is 32-Bit" fi if [ "$ARCH" = "x86_64" ]; then zenity --info --title="Architecture Checker" --text="Your Architecture is 64-Bit" fi
This will need to be in a executable text file, and
zenity will need to be installed.
Open the Ubuntu Software Center and search for
lib32. If that turns up any results, you are on a 64-bit install (the results are compatibility libraries for running 32-bit applications on a 64-bit install).
Not exactly a better answer, but at least it doesn't require a terminal... ;-)
I found an even easier one: open Help -> About Mozilla Firefox and you will see it right there... ;-)
At the bottom it displays the "user agent string", e.g. on my 64-bit system:
Mozilla/5.0 (X11; U; Linux x86_64; nl; rv:22.214.171.124) Gecko/20101027 Ubuntu/10.10 (maverick) Firefox/3.6.12
or on my 32-bit system:
Mozilla/5.0 (X11; U; Linux i686; nl; rv:126.96.36.199) Gecko/20101027 Ubuntu/10.10 (maverick) Firefox/3.6.12
x86_64 is 64-bit,
i686 is 32-bit
(But this is still not the answer that should be there ;) )
As far as I can remember, it is possible to install x86_64 kernel on a 32-bit system. As a few wrote here, you should look what libraries you have/what packages you have installed on your system. So the safest way to see is to check if you have
/lib64 and if it is a symlink to
Another possible way is to check what packages you have downloaded in
/var/cache/apt/archive. If they contain _amd64.deb, it is a 64-bit system, that is, if you have installed packages and have not cleared your cache.
ls -la / |grep lib
You should take in mind that you may have a 64 bit CPU while you install a 32 bit kernel. I.e. If your CPU is 64 it doesn't mean that your OS is 64, it depends on what you've installed.
-m, --machine print the machine hardware name -p, --processor print the processor type or "unknown" -i, --hardware-platform print the hardware platform or "unknown"
so to get the hardware platform use
uname -m or
uname -p or
uname -i while to get the kernel type it's better to
getconf LONG_BIT command.
Check this SO question
I am not sure what you call an OS being 32 bits.
To be specific, my kernel and desktop distribution is a 64 bits Debian/Sid, but I routinely use
schroot to run a
deboostrap-ed 32 bits Debian inside a
chroot-ed environment (for testing purposes).
Do you feel that my 32 bits environment should be called 32 bits (I believe so) or 64 bits (after all, it does run inside a 64 bits kernel). In that environment
uname -m says
i686 and all libraries and executables and processes are 32 bits.
For practical purposes
uname -m should be enough. The
file command can tell you if an ELF executable is a 32 bits or a 64 bits one.
And the hardware information about your processor is visible with e.g.
its output is the same in my desktop 64 bits system and in my 32 bits schroot-ed environment.
Thank you for your interest in this question.
Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?