Was bedeutet i386 unter macOS Mojave?

12

Ich bin ab Ende 2013 auf einem gebrauchten MacBook Pro (Mojave 10.14.3) und wenn ich archauf dem Terminal tippe , komme ich zurück i386. Sollte es nicht ein sein x86_64? Hat der Verkäufer den Artikel falsch dargestellt? Bitte sehen Sie den Screenshot unten von 'Über diesen Mac' . Bildschirmfoto

Wackelige Fenster
quelle

Antworten:

15

Nach dieser SO-Antwort wird archzwischen PowerPC ( ppc) und Intel ( i386) unterschieden, nicht zwischen 32- und 64-Bit-Kerneln auf x86. Bedeutet in diesem Zusammenhang i386also eine x86-CPU.

Überprüfen Sie die Ausgabe von uname -m, um Ihren Maschinentyp herauszufinden. (Unter Linux archentspricht dies uname -m.)

Siehe auch Fragen und Antworten .

Stephen Kitt
quelle
ja! Ich tat es uname -mund es gab mir x86_64. Ich denke, es ist eine 64-Bit-CPU-Architektur. Ich habe archnur versucht, ein Cmd auszuprobieren, auf das ich während des Studiums für eine Linux-Zertifizierung gestoßen war.
WobblyWindows
14

Auf einem macOS-System sollten Sie wie auf anderen BSD-Systemen das machineDienstprogramm verwenden:

$ arch
i386
$ machine
x86_64h

Das i386ist irreführend, wenn Sie an das archDienstprogramm auf anderen Systemen gewöhnt sind. Unter macOS Mojave kann i38632-Bit-Software ausgeführt werden, die für die Intel-Prozessorfamilie kompiliert wurde. Beachten Sie, dass das archDienstprogramm unter macOS für ganz andere Zwecke verwendet wird als unter Linux (siehe Handbuch).

Sie können auch uname -mwie unter Linux verwenden:

$ uname -m
x86_64
Kusalananda
quelle
5
Nicht um einen Berg aus einem Maulwurfshügel zu machen, aber AFAIK, es gibt keine Dokumentation von Apple, die darauf hinweist, dass die i386Bezeichnung 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?
Seamus
3

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_versund man unamebeide 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_profilernach 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_profilerscheint 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.

Seamus
quelle