Bagaimana saya memeriksa apakah saya memiliki OS 32-bit atau 64-bit?

489

Saya mengunduh dan menginstal Ubuntu dari situs resmi. Namun, saya tidak tahu apakah saya menginstal versi 32-bit atau 64-bit.

Di Windows 7 saya bisa klik kanan My Computer dan terdaftar versi mana itu.

Apakah ada cara mudah untuk memeriksa di Ubuntu?

Hanya orang Bolivia disini
sumber
Pertanyaan serupa: askubuntu.com/questions/189640/…
Wilf
Arsitektur instalasi dan arsitektur kernel adalah dua hal yang berbeda. Sebagai contoh, saya mengimplementasikan dukungan multianch debian via dpkg --add-architecture amd64dan menginstal beberapa amd64paket di Ubuntu 16 bit 32 bit saya. Sekarang saya menjalankan instalasi 32 bit dengan kernel 64 bit tanpa masalah. Jadi saat dpkg --print-architecturemencetak i386, uname -mcetak x86_64. Merujuk ke wiki.debian.org/Multiarch/HOWTO (ini adalah proses yang rumit)
kenn

Jawaban:

629

Saya tahu setidaknya 2 cara. Buka terminal ( Ctrl+ Alt+ T) dan ketik:

  1. uname -a

    Hasil untuk Ubuntu 32-bit:

    Linux discworld 2.6.38-8-generic # 42-Ubuntu SMP Senin 11 Apr 03:31:50 UTC 2011 i686 i686 i386 GNU / Linux

    sedangkan Ubuntu 64-bit akan menunjukkan:

    Linux discworld 2.6.38-8-generic # 42-Ubuntu SMP Senin 11 Apr 03:31:50 UTC 2011 x86_64 x86_64 x86_64 GNU / Linux

    Versi lebih pendek:

    $ uname -i
    x86_64
    

    atau

  2. file /sbin/init

    Hasil untuk Ubuntu 32-bit:

    / sbin / init: ELF 32-bit LSB shared object, Intel 80386 , versi 1 (SYSV), terkait secara dinamis (menggunakan shared libs), untuk GNU / Linux 2.6.15, dilucuti

    sedangkan untuk versi 64-bit akan terlihat seperti:

    / sbin / init: ELF 64-bit LSB shared object, x86-64 , versi 1 (SYSV), terhubung secara dinamis (menggunakan shared libs), untuk GNU / Linux 2.6.15, dilucuti

    Sama untuk sistem yang menggunakan systemd (16.04):

    file /lib/systemd/systemd

    Hasil untuk 64-bit:

    / lib / systemd / systemd: ELF 64-bit LSB shared object, x86-64 , versi 1 (SYSV), terkait secara dinamis, interpreter /lib64/ld-linux-x86-64.so.2, untuk GNU / Linux 2.6. 32, BuildID [sha1] = 54cc7ae53727d3ab67d7ff5d66620c0c589d62f9, dilucuti
Rinzwind
sumber
11
Metode 2, yang terdiri dari "mengendus" konten (biner) dari executable yang tersedia secara luas, cukup tidak langsung dan canggung. Sementara itu berfungsi untuk sebagian besar pengaturan, keberadaan 64bit yang dapat dieksekusi tidak bisa menjadi cara yang andal untuk mendeteksi arsitektur OS yang sedang berjalan . Khususnya ketika Anda mempertimbangkan multiarch, ia32_libsdan, khususnya dalam initcontoh Anda ,upstart
MestreLion
8
Anda mungkin benar, tetapi Metode 1 menunjukkan kepada saya i686output 32 atau 64 tidak ditampilkan untuk saya
Aleks
6
@aleks yang 32 bit (lihat teks yang disorot: `i686 i686 i386` dalam jawabannya)
Rinzwind
itu 32 bit, saya telah menggunakan metode kedua, tetapi yang pertama tidak menunjukkan kepada saya apa pun yang tampak seperti i386:) tetapi jawaban Anda membantu. terima kasih banyak
Aleks
1
# file /sbin/init- /sbin/init: symbolic link to pemula '' - # file /sbin/upstart-/sbin/upstart: ELF 64-bit LSB shared object, x86-64...
Nakilon
142

Ubuntu 12.04+ dengan Unity

  • Tekan Command (mac) atau tombol Window.
  • Ketik Details, dan pilih ikon "Detail"
  • Baca bidang "tipe OS"
  • OS 64 bit akan membaca "64-bit"

masukkan deskripsi gambar di sini

Alternatif untuk mendapatkan layar di atas:

  • klik System Menu (persneling di sudut kanan atas)
  • klik "Tentang Komputer ini"

Saya tahu respons terminal baik tetapi saya kira ini adalah jawaban GUI. :)

Ubuntu 11,04 dengan Unity

  • Tekan Command (mac) atau tombol Window.
  • Ketik System info, dan pilih ikon Info Sistem
  • Baca bidang "tipe OS"
  • OS 64 bit akan membaca "64-bit"
Frank Henard
sumber
14
+1: Cara GUI lebih disukai daripada perintah terminal untuk pengguna yang digunakan untuk Windows dan secara khusus meminta cara yang mudah .
MestreLion
1
Juga, cara lain (GUI) untuk sampai ke layar yang sama:System Menu (top right corner, near the clock) -> System Settings -> Details
MestreLion
Dengan cara mudah yang paling pasti dalam pikiran: tolong, siapa pun yang menjalankan Ubuntus yang lebih tua, berikan padanan GUI Anda! Khusus untuk Lucid Lynx (karena LTS didukung hingga 2015 dan karenanya mungkin berjalan di laptop hand-me-down orang.)
JP
1
@ JP: Untuk Ubuntus yang lebih tua, seperti Lucid Lynx, cara GUI termudah yang saya ketahui adalah Sistem Monitor Gnome . Its Systemtab menunjukkan arsitektur.
MestreLion
1
Jendela GUI indah, tetapi bayangkan jika Anda akan sebentar jika Anda menjalankan edisi server tanpa GUI diinstal?
chris
79

Cara yang sangat mudah dan singkat adalah:

Buka Terminal, tulis yang berikut dan tekan Enter.

getconf LONG_BIT

Angka yang dihasilkan (dalam kasus saya 64) adalah jawabannya.

terminal - getconf LONG_BIT

Cristiana Nicolae
sumber
7
Pada sistem 32 bit saya, ini memberikan jawaban yang benar juga. Dari semua perintah yang tercantum dalam berbagai jawaban, output dari yang ini adalah yang paling mudah.
Stephen Ostermiller
Kecuali: $ getconf LONGBIT getconf: Variabel tidak dikenal `LONGBIT '
Auspex
1
Anda kehilangan garis bawah @Auspex LONG_BIT
Michael
@Michael Damn, jadi saya. Saya tidak tahu bagaimana saya mengaturnya, dan setelah memutakhirkan kedua mesin itu menjadi 64 bit dalam sebulan terakhir, ini sudah cukup diperdebatkan sekarang ;-) Terima kasih, pokoknya!
Auspex
58

Referensi: Bagaimana Saya Tahu jika Saya Menjalankan Linux 32-bit atau 64-bit?

Gunakan perintah:

uname -m

Anda biasanya akan mendapatkan:

i686

untuk 32-bit (atau mungkin i586 atau i386), dan:

x86_64

untuk 64-bit.

Hemant Metalia
sumber
sulit untuk percaya bahwa / etc / release sepertinya tidak menyebutkannya.
rogerdpack
uname -mpimemberikan semua hal yang disebutkan uname -a, meskipun biasanya semuanya sama ...
Wilf
27

Buka terminal dan coba archperintahnya. Jika outputnya x86_64 maka itu 64 bit. Jika dikatakan i686, i386, dll. Maka 32 bit.

Namun, cara terbaik untuk menentukan arsitektur adalah dengan menjalankan archperintah dan google output.

aneeshep
sumber
11
archsama seperti uname -m(bahkan dinyatakan dalam halaman manual). ;-)
htorque
Di komputer saya (Ubuntu 9.04), perintah lengkungan sepertinya tidak ada. Jadi saya akan mengatakan uname -m lebih dapat diandalkan.
Jonathan Sternberg
@ JonathanSternberg: ditambahkan beberapa bulan kemudian, dikembangkan oleh penulis yang sama unamedan termasuk dalam coreutilspaket yang sama . Jadi dari Ubuntu 10,04 dan seterusnya kedua perintah tersedia.
MestreLion
21

dpkg --print-architecture perintah akan menampilkan apakah Anda telah menginstal OS Ubuntu 32 bit atau 64 bit.

Pada sistem 64 bit

$ dpkg --print-architecture
amd64          

Pada sistem 32 bit

$ dpkg --print-architecture
i386

`

Avinash Raj
sumber
6
Satu-satunya metode sejauh ini untuk mendeteksi OS 32bit yang menjalankan kernel 64bit dengan benar.
Dan Garthwaite
8

Pemeriksa Arsitektur

masukkan deskripsi gambar di sini

Unduh Tautan

  1. Unduh itu
  2. Ekstrak itu.
  3. Tandai file Architecture Checker.sh Dapat dijalankan dan jalankan.

Script pada dasarnya adalah ini:

#!/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

Ini harus dalam file teks yang dapat dieksekusi, dan zenityperlu diinstal.

Lincity
sumber
8
Jujur perlu mengunduh dan mengekstrak file 8 baris itu? Masukkan saja ke dalam blok kode di sini.
kiri
dan ketika output uname -mtidak i686... penggunaan yang bagus zenity, bisa digunakan notify-sendsekalipun.
Wilf
5

Buka Pengaturan Sistem dan di bawah bagian Sistem , tekan Detail . Anda akan mendapatkan setiap detail termasuk OS Anda, prosesor Anda serta fakta apakah sistem menjalankan versi 64-bit atau 32-bit.

pengguna265559
sumber
Itu tampak luar biasa. Tapi saya tidak tahu bagaimana cara "Pergi ke Pengaturan Sistem". (BTW) Saya menggunakan 12,4 MATE.
Papou
3

Buka Pusat Perangkat Lunak Ubuntu dan cari lib32. Jika itu muncul hasil apa pun, Anda berada pada instalasi 64-bit (hasilnya adalah pustaka kompatibilitas untuk menjalankan aplikasi 32-bit pada instalasi 64-bit).

Bukan jawaban yang lebih baik, tapi setidaknya tidak memerlukan terminal ... ;-)

Sunting

Saya menemukan yang lebih mudah: buka Bantuan -> Tentang Mozilla Firefox dan Anda akan melihatnya di sana ... ;-)

Di bagian bawah ini menampilkan "string agen pengguna", misalnya pada sistem 64-bit saya:

Mozilla/5.0 (X11; U; Linux x86_64; nl; rv:1.9.2.12) Gecko/20101027 Ubuntu/10.10 (maverick) Firefox/3.6.12

atau pada sistem 32-bit saya:

Mozilla/5.0 (X11; U; Linux i686; nl; rv:1.9.2.12) Gecko/20101027 Ubuntu/10.10 (maverick) Firefox/3.6.12

x86_64adalah 64-bit, i686adalah 32-bit

(Tapi ini masih bukan jawaban yang seharusnya ada;))

JanC
sumber
2
GUI murni, tentu, tetapi sangat rapuh ... paket yang berisi nama ( atau deskripsi ) lib32jelas bukan cara yang dapat diandalkan untuk mendeteksi arsitektur.
MestreLion
2

Tombol daya (paling atas, paling kanan) memiliki opsi "Tentang Komputer ini". :)

Lada
sumber
2
tidak pada 12,04 LTS
törzsmókus
1

Sejauh yang saya ingat, adalah mungkin untuk menginstal kernel x86_64 pada sistem 32-bit. Seperti beberapa yang ditulis di sini, Anda harus melihat pustaka apa yang Anda miliki / paket apa yang telah Anda instal pada sistem Anda. Jadi cara teraman untuk melihat adalah memeriksa apakah Anda memiliki /lib64dan apakah itu symlink ke /lib.

Cara lain yang mungkin adalah memeriksa paket apa yang telah Anda unduh /var/cache/apt/archive. Jika mengandung _amd64.deb, itu adalah sistem 64-bit, yaitu, jika Anda telah menginstal paket dan belum membersihkan cache Anda.

Semua itu dapat dilakukan dari Konqueror / Dolphin hanya dengan menunjuk dan mengklik atau:

ls -la / |grep lib
Osis
sumber
1

Anda harus ingat bahwa Anda mungkin memiliki CPU 64 bit saat Anda menginstal kernel 32 bit. Yaitu Jika CPU Anda adalah 64 itu tidak berarti bahwa OS Anda adalah 64, itu tergantung pada apa yang Anda instal.

man uname

   -m, --machine
          print the machine hardware name

   -p, --processor
          print the processor type or "unknown"

   -i, --hardware-platform
          print the hardware platform or "unknown"

jadi untuk menggunakan platform perangkat keras uname -matau uname -patau uname -isementara untuk mendapatkan tipe kernel lebih baik untuk getconf LONG_BITmemerintahkan.

Lihat pertanyaan SO ini

Maythux
sumber
Sebenarnya tidak relevan dengan pertanyaan: Ia memiliki CPU 64 bit dan ingin tahu OS mana yang diinstal.
Auspex
0

Lihatlah Sumber Perangkat Lunak Anda di Synaptic atau Software Center. Jika Anda belum menghapus sumber asli Anda misalnya cdrom, itu akan (?) Menunjukkan arsitektur. Ini adalah GUI tetapi tidak akan mengatakan '32bit' atau '64bit'.

melampaui
sumber
-1

Saya tidak yakin apa yang Anda sebut OS menjadi 32 bit.

Untuk lebih spesifik, distribusi kernel dan desktop saya adalah Debian / Sid 64 bit, tetapi saya secara rutin menggunakan schrootuntuk menjalankan deboostrapDebian bit 32 bit di dalam chrootlingkungan bit (untuk tujuan pengujian).

Apakah Anda merasa bahwa lingkungan 32 bit saya harus disebut 32 bit (saya percaya demikian) atau 64 bit (setelah semua, itu berjalan di dalam kernel 64 bit). Dalam lingkungan itu uname -mdikatakan i686dan semua pustaka dan executable dan proses adalah 32 bit.

Untuk tujuan praktis uname -mharus cukup. The fileperintah dapat memberitahu Anda jika eksekusi ELF adalah 32 bit atau 64 bit satu.

Lihat kepribadian khusus Linux (2) syscall (dan juga uname (2) satu).

Dan informasi perangkat keras tentang prosesor Anda terlihat dengan misalnya

 cat /proc/cpuinfo

outputnya sama di sistem desktop 64 bit saya dan di lingkungan 32 bit schroot-ed saya.

Basile Starynkevitch
sumber
4
-1: Anda menambahkan banyak kebingungan yang tidak perlu tanpa menambahkan setiap informasi baru yang berguna. Mengapa mengatakan bahwa Anda "tidak yakin apa yang Anda sebut OS menjadi 32 bit"? Itu pertanyaan yang cukup mudah, yang Anda tahu tentang. chrootContoh Anda tidak ada gunanya: mirip dengan Mesin Virtual, jadi tentu saja uname -makan ditampilkan i686jika Anda bootstraps dengan OS 32-bit. Tetapi "host" masih 64 bit, dan uname -makan berkata demikian jika Anda menjalankannya di luar lingkungan chroot
MestreLion
2
Juga, /proc/cpuinfomenyesatkan: ini menunjukkan kemampuan CPU , dan bukan arsitektur OS yang sebenarnya diinstal (dan berjalan). Hampir semua CPU desktop yang dijual dalam 5 tahun terakhir adalah 64-bit, tetapi ini sama sekali tidak ada hubungannya dengan pertanyaan. Dan tentu saja ia melaporkan hal yang sama di kedua skenario, karena perangkat keras CPU Anda sama, dan mampu menjalankan OS 32 dan 64 bit.
MestreLion
@MestreLion, Yang ingin dikatakan oleh Basile adalah bahwa dalam beberapa kasus, misalnya saat menggunakan LXC atau chroot, Anda dapat menjalankan sistem 32bit murni dengan kernel 64bit. Dalam kasus ini unameakan memberi tahu Anda arsitektur kernel, 64bit, sementara metode lain akan memberi tahu Anda arsitektur userland, 32bit, dan tidak jelas yang mana dari keduanya adalah arsitektur "the".
Joni
@Joni: Oke, saya mengerti. Tapi itu skenario yang sangat sudut, dan tentu saja bukan kasus OP.
MestreLion
Mungkin ini bukan kasus OP, saya hanya ingin mengklarifikasi poin yang Basile coba buat (Juga, sepertinya edit saya sebelumnya untuk memperbaiki jawaban ditolak? Dalam lingkungan ini uname -makan menampilkan arsitektur kernel yang x86_64, bukan i686. )
Joni