Respuestas:
Según esta respuesta SO , arch
distingue entre PowerPC ( ppc
) e Intel ( i386
), no entre núcleos de 32 y 64 bits en x86. Entonces, en este contexto, i386
significa una CPU x86.
Compruebe la salida de uname -m
para averiguar su tipo de máquina. (En Linux, arch
es el equivalente de uname -m
).
Consulte también esta sección Preguntas y respuestas diferentes .
En un sistema macOS, como en otros sistemas BSD, debe usar la machine
utilidad:
$ arch
i386
$ machine
x86_64h
La i386
forma engañosa si estás acostumbrado a la arch
utilidad en otros sistemas. En macOS Mojave, i386
significa que es capaz de ejecutar software de 32 bits compilado para la familia de procesadores Intel. Tenga en cuenta que la arch
utilidad en macOS se utiliza para cosas muy diferentes en comparación con, por ejemplo, Linux (consulte su manual).
También puede usar uname -m
como en Linux:
$ uname -m
x86_64
i386
designación implica que es capaz de ejecutar software de 32 bits ... man arch
ciertamente no sugiere eso. En mi humilde opinión, Apple acaba de dejar caer la pelota y permitió que las cosas se pusieran un poco desordenadas, ¿quizás en nombre de la compatibilidad con versiones anteriores?
Siento que el uso de los servicios públicos "tradicionales" (por ejemplo arch
, uname
, sw_vers
) para descubrir su hardware o software de Mac puede no ser muy fiable. ¡Ciertamente es inconsistente! Incluso los manuales del sistema están plagados de inconsistencias.
Esto no quiere decir que no pueda obtener información útil de estas utilidades, solo quiere decir que, a menos que sepa lo que está buscando, puede obtener resultados diferentes de los que obtiene en otros sistemas.
Por ejemplo:
$ arch
i386
¡No! (A menos que esté usando una computadora realmente vieja).
Otro ejemplo es la versión del sistema operativo. man sw_vers
y man uname
ambos afirman informar "Versión del sistema operativo":
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.14.4
BuildVersion: 18E226
$ uname -v
Darwin Kernel Version 18.5.0 .... # output snipped
Lo cual está muy bien: somos conscientes de que la numeración de la versión de lanzamiento de kernel y distribución es diferente, pero los manuales del sistema para ambos comandos dicen que se obtiene OS Version
. Comprender la génesis de la corrientemacos
explica algo de esto, pero no explica por qué los manuales del sistema son inconsistentes.
Y así, a la pregunta del OP sobre cómo obtener información clara y confiable sobre un sistema, creo que la respuesta debería ser usar system_profiler
tanto para hardware como para software:
$ 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
Además, el manual del sistema system_profiler
parece mantenerse en un estado más actual.
Y finalmente, en cuanto a la pregunta principal : "¿Qué significa [la salida de arch
] i386 en macOS Mojave?" . Respuesta: Desafortunadamente, significa que Apple no ha mantenido su documentación y / o aplicaciones correctamente.
uname -m
y me diox86_64
. Entonces supongo que es una arquitectura de CPU de 64 bits. Intentéarch
probar un cmd con el que me topé mientras estudiaba para obtener una certificación de Linux.