How to find architecture of my PC and Ubuntu?
Solution 1:
The command is uname -m
.
Open a terminal try using uname -m
command. This should show you the OS architecture.
If it gives any output like ix86
, where x is 3,4,5 or 6, Your OS is 32bit.
You can also see the Ubuntu architecture by Opening "System monitor" and going in the System tab.
Difference between hardware platform and Processor type:
There is a difference between the hardware platform (which is given by -i
switch) to the CPU type (given by -p
switch).
The hardware platform tells us which architecture the kernel is built for (may be optimized though for later versions). It can be a i386.
However the Processor type refers to the actual processor type of your machine such as i686 (P4 and later builds).
Thanks to Schotty of this this page. Here is an answer from Unix stackexchange site on the same topic, though I didn't find the language enough clear (completely my fault).
Solution 2:
Use Anwar's answer to find the architecture.
Now here is the explanation for your second part of the question.
Below is the uname
output: In my case I have installed a 32 bit version. Both i386 and i686 refer 32 bit version. uname
will return x86_64 in case if it is a 64 bit version.
$ uname -a
Linux devav2 3.2.0-30-generic-pae #48-Ubuntu SMP Fri Aug 24 17:14:09 UTC 2012 i686 i686 i386 GNU/Linux
- Linux(-s) - OS/Kernel name
- devav2(-n) - hostname
- 3.2.0-30-generic-pae (-r) - kernel release
- 48-Ubuntu SMP Fri Aug 24 17:14:09 UTC 2012 (-v) - Kernel version with time and SMP stands for symmetric multiprocessing, which means you have multiprocessor support
- i686(-m) - Machine hardware name
- i686(-p) - processor type
- i386(-i) - hardware platform
- GNU/LINUX(-o) - Operating System name
Below is grabbed from uname --help
page which might help you to understand more about it.
-a, --all print all information, in the following order,
except omit -p and -i if unknown:
-s, --kernel-name print the kernel name
-n, --nodename print the network node hostname
-r, --kernel-release print the kernel release
-v, --kernel-version print the kernel version
-m, --machine print the machine hardware name
-p, --processor print the processor type or "unknown"
-i, --hardware-platform print the hardware platform or "unknown"
-o, --operating-system print the operating system
Solution 3:
For debian Linux derived systems.
On 64bits systems :
$ dpkg-architecture -q DEB_BUILD_ARCH
amd64
On 32bits systems :
$ dpkg-architecture -q DEB_BUILD_ARCH
i386
Solution 4:
If all you want is the architecture you could always try the command called arch. It is very terse. It is not POSIX.