Jawaban:
Menurut jawaban SO ini , arch
bedakan antara PowerPC ( ppc
) dan Intel ( i386
), bukan antara kernel 32- dan 64-bit pada x86. Jadi dalam konteks ini, i386
berarti CPU x86.
Periksa output uname -m
untuk mengetahui jenis mesin Anda. (Di Linux, arch
setara dengan uname -m
.)
Lihat juga Tanya Jawab yang Berbeda ini .
Pada sistem macOS, seperti pada sistem BSD lainnya, Anda harus menggunakan machine
utilitas:
$ arch
i386
$ machine
x86_64h
Ini i386
menyesatkan jika Anda terbiasa dengan arch
utilitas pada sistem lain. Di macOS Mojave, i386
berarti mampu menjalankan perangkat lunak 32-bit yang dikompilasi untuk keluarga prosesor Intel. Perhatikan bahwa arch
utilitas pada macOS digunakan untuk hal-hal yang sangat berbeda dibandingkan pada misalnya Linux (lihat manualnya).
Anda juga dapat menggunakan uname -m
seperti di Linux:
$ uname -m
x86_64
i386
penunjukan menyiratkan itu mampu menjalankan perangkat lunak 32-bit ... man arch
tentu tidak menyarankan itu. IMHO, Apple baru saja menjatuhkan bola, dan membiarkan hal-hal menjadi sedikit berantakan - mungkin atas nama kompatibilitas mundur?
Saya merasa bahwa menggunakan utilitas "tradisional" (mis arch
. uname
, sw_vers
) Untuk menemukan perangkat keras atau perangkat lunak Mac Anda mungkin tidak terlalu andal. Ini tentu saja tidak konsisten! Bahkan manual sistem penuh dengan ketidakkonsistenan.
Ini bukan untuk mengatakan bahwa Anda tidak bisa mendapatkan informasi yang berguna dari utilitas ini, itu hanya untuk mengatakan bahwa kecuali Anda tahu apa yang Anda cari, Anda mungkin mendapatkan hasil yang berbeda dari apa yang Anda dapatkan di sistem lain.
Sebagai contoh:
$ arch
i386
Tidak! (Kecuali jika Anda menggunakan komputer yang benar-benar tua.)
Contoh lain adalah versi OS. man sw_vers
dan man uname
keduanya mengklaim melaporkan "Versi OS":
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.14.4
BuildVersion: 18E226
$ uname -v
Darwin Kernel Version 18.5.0 .... # output snipped
Semuanya baik dan bagus - kami sadar bahwa penomoran versi rilis kernel dan distro berbeda, tetapi manual sistem untuk kedua perintah ini mengatakan Anda dapatkan OS Version
. Memahami asalmacos
- usul arus menjelaskan beberapa hal ini, tetapi tidak menjelaskan mengapa manual sistem tidak konsisten.
Jadi, untuk pertanyaan OP mengenai cara mendapatkan informasi yang jelas dan andal tentang suatu sistem, saya merasa jawabannya harus digunakan system_profiler
untuk perangkat keras dan perangkat lunak:
$ system_profiler SPHardwareDataType
Hardware:
Hardware Overview:
Model Name: MacBook Pro
Model Identifier: MacBookPro13,3
Processor Name: Intel Core i7
Processor Speed: 2.9 GHz
Number of Processors: 1
Total Number of Cores: 4
L2 Cache (per Core): 256 KB
L3 Cache: 8 MB
Memory: 16 GB
Boot ROM Version: 254.0.0.0.0
SMC Version (system): 2.38f7
Serial Number (system): C02*********
Hardware UUID: ********-****-****-****-************
$ system_profiler SPSoftwareDataType
Software:
System Software Overview:
System Version: macOS 10.14.4 (18E226)
Kernel Version: Darwin 18.5.0
Boot Volume: Macintosh HD
Boot Mode: Normal
Computer Name: MacBook No 2
User Name: Seamus (seamus)
Secure Virtual Memory: Enabled
System Integrity Protection: Enabled
Time since boot: 13:13
Juga, manual sistem untuk system_profiler
tampaknya dipertahankan ke kondisi yang lebih saat ini.
Dan akhirnya, tentang Pertanyaan Headline : "Apa arti [output arch
] i386 pada macOS Mojave?" . Jawaban: Sayangnya, itu berarti bahwa Apple belum memelihara dokumentasi dan / atau aplikasi mereka dengan benar.
uname -m
dan itu memberi sayax86_64
. Jadi saya kira itu adalah arsitektur CPU 64 bit. Saya mencobaarch
hanya untuk mencoba cmd yang saya temui saat belajar untuk sertifikasi Linux.