web-dev-qa-db-fra.com

Que signifie i386 sur macOS Mojave?

Je suis sur un MacBook Pro d'occasion de fin 2013 (Mojave 10.14.3) et quand je tape Arch sur le Terminal, je reviens i386. Cela ne devrait-il pas être un x86_64? Le vendeur a-t-il déformé l'article? Veuillez voir la capture d'écran ci-dessous de 'À propos de ce Mac' . screenshot

12
WobblyWindows

Selon this SO answer , Arch distingue PowerPC (ppc) et Intel (i386), pas entre les noyaux 32 et 64 bits sur x86. Dans ce contexte, i386 signifie un processeur x86.

Vérifiez la sortie de uname -m pour connaître le type de votre machine. (Sous Linux, Arch est l'équivalent de uname -m.)

Voir aussi ce Ask Different Q&A .

15
Stephen Kitt

Sur un système macOS, comme sur d'autres systèmes BSD, vous devez utiliser l'utilitaire machine:

$ Arch
i386
$ machine
x86_64h

Le i386 est trompeur si vous êtes habitué à l'utilitaire Arch sur d'autres systèmes. Sur macOS Mojave, i386 signifie qu'il est capable d'exécuter des logiciels 32 bits compilés pour la famille de processeurs Intel. Notez que l'utilitaire Arch sur macOS est utilisé pour des choses très différentes par rapport à sur par exemple Linux (voir son manuel).

Vous pouvez également utiliser uname -m comme sous Linux:

$ uname -m
x86_64
14
Kusalananda

Je pense que l'utilisation des utilitaires "traditionnels" (par exemple Arch, uname, sw_vers) pour découvrir le matériel ou les logiciels de votre Mac peut ne pas être très fiable. C'est certainement incohérent! Même les manuels du système regorgent d'incohérences.

Cela ne veut pas dire que vous ne pouvez pas obtenir d'informations utiles de ces utilitaires, c'est seulement dire que si vous ne savez pas ce que vous recherchez, vous pouvez obtenir des résultats qui sont différents de ce que vous obtenez sur d'autres systèmes.

Par exemple:

$ Arch
i386

Non! (À moins que vous n'utilisiez un très vieil ordinateur.)

Un autre exemple est la version du système d'exploitation. man sw_vers et man uname les deux prétendent signaler la "version du système d'exploitation":

$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.14.4
BuildVersion:   18E226

$ uname -v
Darwin Kernel Version 18.5.0 ....  # output snipped 

Ce qui est bien beau - nous savons que la numérotation des versions du noyau et de la distribution est différente, mais les manuels système de ces deux commandes indiquent que vous obtenez OS Version. Comprendre la genèse de l'actuel macos explique une partie de cela, mais cela n'explique pas pourquoi les manuels du système sont incohérents.

Et donc, à la question du PO concernant la façon d'obtenir des informations claires et fiables sur un système, je pense que la réponse devrait être d'utiliser system_profiler pour le matériel et les logiciels:

$ 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

En outre, le manuel du système pour system_profiler semble être maintenu dans un état plus actuel.

Et enfin, en ce qui concerne la question principale : "Que signifie [la sortie de Arch] i386 sur macOS Mojave ? ". Réponse: Malheureusement, cela signifie que Apple n'a pas conservé sa documentation et/ou ses applications correctement.

3
Seamus