Réponses:
Selon cette réponse SO , fait la archdistinction entre PowerPC ( ppc) et Intel ( i386), et non entre les noyaux 32 et 64 bits sur x86. Donc, dans ce contexte, i386signifie un processeur x86.
Vérifiez la sortie de uname -mpour connaître votre type de machine. (Sous Linux, archest 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' machineutilitaire:
$ arch
i386
$ machine
x86_64h
Le i386est trompeur si vous avez l' habitude de l' archutilitaire sur d' autres systèmes. Sur macOS Mojave, i386cela signifie qu'il est capable d'exécuter un logiciel 32 bits compilé pour la famille de processeurs Intel. Notez que l' archutilitaire sur macOS est utilisé pour des choses très différentes par rapport à par exemple Linux (voir son manuel).
Vous pouvez également utiliser uname -mcomme sous Linux:
$ uname -m
x86_64
i386désignation implique qu'il est capable d'exécuter un logiciel 32 bits ... man archne 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_verset les man unamedeux 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_profilersemble ê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 -met ça m'a donnéx86_64. Donc je suppose que c'est une architecture CPU 64 bits. J'ai essayéarchjuste d'essayer un cmd que j'avais rencontré en étudiant pour une certification Linux.