Solusi 1:
"uname -m" adalah perintah yang Anda cari. Anda dapat menjalankan 32bit dan 64bit pada prosesor intel dan AMD modern, jadi "uname -p" tidak akan membantu Anda (selain itu sebagian besar tidak berfungsi akhir-akhir ini, ini di sini core2 memikirkan tanggapan untuk "uname -p" adalah "tidak diketahui").
Mencari keberadaan /usr/lib64 (seperti yang telah disarankan) juga tidak akan membantu Anda, karena beberapa paket terkait perangkat keras dan sistem akan menginstal pustaka 32bit dan 64bit agar aman. Di sistem (debian) saya, paket fakeroot melakukan hal itu.
Adapun output dari "uname -m", jika itu i386 atau i686 itu 32bit, jika itu x86_64 (atau alfa, atau ia64 atau arsitektur 64bit lain yang belum pernah saya lihat :) itu 64bit.
(selain untuk bersenang-senang, server FreeBSD 64bit saya mengembalikan "amd64", yang mungkin agak aneh untuk intel quadcore tetapi sangat dapat dimengerti jika Anda mengetahui sejarah arsitektur x86 64bit)
Solusi 2:
uname -a dan cari x86_64. Jika Anda ingin tahu apakah CPU Anda dapat menangani 64bit, cat /proc/cpuinfo dan cari lm di dalam flag.
Solusi 3:
untuk RedHat/CentOS:
$ uname -a
Linux cs-centos 2.6.18-92.1.22.el5 #1 SMP Tue Dec 16 12:03:43 EST 2008 i686 athlon i386 GNU/Linux
32-bit
- i686 dan/atau i386
64-bit
- akan memiliki x86_64 di uname -a keluaran
Solusi 4:
Hanya untuk membingungkan, Anda dapat menjalankan kernel 64bit dengan userland 32bit, yang sedang saya lakukan. Dalam hal ini, uname -m
mengembalikan x86_64
tetapi saya tidak memiliki perpustakaan 64bit yang terpasang sehingga sebagian besar program 64bit tidak dapat berjalan.
Jadi setelah Anda mencentang uname, Anda perlu mencari /lib64/ld-linux-x86-64.so.2
, /lib64/libc-2.7.so
dan /lib/ld-linux.so.2
, /lib/libc-2.7.so
untuk melihat apakah perpustakaan 64bit dan 32bit tersedia. Dan untuk benar-benar memastikan, jalankan file tersebut dan lihat apakah dijalankan dengan benar.
Sepotong informasi berguna lainnya adalah keluaran dari lsb_release -a
yang merupakan cross-distro dan akan melaporkan modul LSB khusus arsitektur apa yang tersedia.
Solusi 5:
$> getconf LONG_BIT
Jawaban:32 atau 64.