Réponses:
Selon cette réponse SO , fait la arch
distinction entre PowerPC ( ppc
) et Intel ( i386
), et non entre les noyaux 32 et 64 bits sur x86. Donc, dans ce contexte, i386
signifie un processeur x86.
Vérifiez la sortie de uname -m
pour connaître votre type de machine. (Sous Linux, arch
est l'équivalent de uname -m
.)
Voir aussi ce Ask Different Q&A .
Sur un système macOS, comme sur d'autres systèmes BSD, vous devez utiliser l' machine
utilitaire:
$ arch
i386
$ machine
x86_64h
Le i386
est trompeur si vous avez l' habitude de l' arch
utilitaire sur d' autres systèmes. Sur macOS Mojave, i386
cela signifie qu'il est capable d'exécuter un logiciel 32 bits compilé pour la famille de processeurs Intel. Notez que l' arch
utilitaire sur macOS est utilisé pour des choses très différentes par rapport à par exemple Linux (voir son manuel).
Vous pouvez également utiliser uname -m
comme sous Linux:
$ uname -m
x86_64
i386
désignation implique qu'il est capable d'exécuter un logiciel 32 bits ... man arch
ne le suggère certainement pas. À mon humble avis, Apple vient de laisser tomber la balle et a permis que les choses deviennent un peu désordonnées - peut-être au nom de la compatibilité descendante?
Je pense que l' utilisation des services « traditionnels » (par exemple arch
, uname
, sw_vers
) pour découvrir votre matériel Mac ou le logiciel ne peut 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 différents de ceux 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 les man uname
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 sommes conscients que la numérotation des versions du noyau et de la distribution est différente, mais les manuels système de ces deux commandes disent que vous obtenez OS Version
. Comprendre la genèse du courantmacos
explique en partie 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
à la fois 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
De plus, 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 qu'Apple n'a pas géré correctement sa documentation et / ou ses applications.
uname -m
et ça m'a donnéx86_64
. Donc je suppose que c'est une architecture CPU 64 bits. J'ai essayéarch
juste d'essayer un cmd que j'avais rencontré en étudiant pour une certification Linux.