Antworten:
Nach dieser SO-Antwort wird arch
zwischen PowerPC ( ppc
) und Intel ( i386
) unterschieden, nicht zwischen 32- und 64-Bit-Kerneln auf x86. Bedeutet in diesem Zusammenhang i386
also eine x86-CPU.
Überprüfen Sie die Ausgabe von uname -m
, um Ihren Maschinentyp herauszufinden. (Unter Linux arch
entspricht dies uname -m
.)
Siehe auch Fragen und Antworten .
Auf einem macOS-System sollten Sie wie auf anderen BSD-Systemen das machine
Dienstprogramm verwenden:
$ arch
i386
$ machine
x86_64h
Das i386
ist irreführend, wenn Sie an das arch
Dienstprogramm auf anderen Systemen gewöhnt sind. Unter macOS Mojave kann i386
32-Bit-Software ausgeführt werden, die für die Intel-Prozessorfamilie kompiliert wurde. Beachten Sie, dass das arch
Dienstprogramm unter macOS für ganz andere Zwecke verwendet wird als unter Linux (siehe Handbuch).
Sie können auch uname -m
wie unter Linux verwenden:
$ uname -m
x86_64
i386
Bezeichnung impliziert , dass 32-Bit-Software ausgeführt werden kann man arch
. IMHO, Apple hat gerade den Ball fallen lassen und zugelassen, dass die Dinge etwas chaotisch werden - vielleicht im Namen der Abwärtskompatibilität?
Ich glaube , dass das „traditionelle“ Dienstprogramme (zB arch
, uname
, sw_vers
) Ihre Mac-Hardware oder Software sein kann , nicht sehr zuverlässig zu entdecken. Es ist sicherlich inkonsistent! Sogar die Systemhandbücher sind voller Inkonsistenzen.
Dies bedeutet nicht, dass Sie von diesen Dienstprogrammen keine nützlichen Informationen erhalten können. Es bedeutet nur, dass Sie möglicherweise Ergebnisse erzielen, die sich von denen auf anderen Systemen unterscheiden , wenn Sie nicht wissen, wonach Sie suchen .
Beispielsweise:
$ arch
i386
Nein! (Es sei denn, Sie verwenden einen wirklich alten Computer.)
Ein weiteres Beispiel ist die Betriebssystemversion. man sw_vers
und man uname
beide behaupten, "OS Version" zu melden:
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.14.4
BuildVersion: 18E226
$ uname -v
Darwin Kernel Version 18.5.0 .... # output snipped
Was alles gut und schön ist - wir sind uns bewusst, dass die Versionsnummerierung von Kernel und Distribution unterschiedlich ist, aber die Systemhandbücher für diese beiden Befehle besagen, dass Sie erhalten OS Version
. Das Verständnis der Entstehung des Stromsmacos
erklärt einige davon, erklärt jedoch nicht, warum die Systemhandbücher inkonsistent sind.
Auf die Frage des OP, wie klare und zuverlässige Informationen über ein System erhalten werden können, sollte die Antwort meiner Meinung system_profiler
nach sowohl für Hardware als auch für Software verwendet werden:
$ 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
Außerdem system_profiler
scheint das Systemhandbuch für auf einem aktuelleren Stand gehalten zu werden.
Und schließlich zur Überschriftenfrage : "Was bedeutet [die Ausgabe von arch
] i386 unter macOS Mojave?" . Antwort: Leider bedeutet dies, dass Apple die Dokumentation und / oder Apps nicht ordnungsgemäß gepflegt hat.
uname -m
und es gab mirx86_64
. Ich denke, es ist eine 64-Bit-CPU-Architektur. Ich habearch
nur versucht, ein Cmd auszuprobieren, auf das ich während des Studiums für eine Linux-Zertifizierung gestoßen war.