Respostas:
De acordo com esta resposta do SO , arch
distingue entre PowerPC ( ppc
) e Intel ( i386
), não entre kernels de 32 e 64 bits no x86. Portanto, neste contexto, i386
significa uma CPU x86.
Verifique a saída de uname -m
para descobrir o seu tipo de máquina. (No Linux, arch
é o equivalente a uname -m
.)
Veja também estas perguntas e respostas diferentes .
Em um sistema macOS, como em outros sistemas BSD, você deve usar o machine
utilitário:
$ arch
i386
$ machine
x86_64h
O i386
é enganosa se você está acostumado a arch
utilidade em outros sistemas. No macOS Mojave, i386
significa que ele é capaz de executar software de 32 bits compilado para a família de processadores Intel. Observe que o arch
utilitário no macOS é usado para coisas bem diferentes em comparação com, por exemplo, no Linux (consulte o manual).
Você também pode usar uname -m
como no Linux:
$ uname -m
x86_64
i386
designação implica que ela é capaz de executar software de 32 bits ... man arch
certamente não sugere isso. IMHO, a Apple acabou de lançar a bola e permitiu que as coisas ficassem um pouco confusas - talvez em nome da compatibilidade com versões anteriores?
Eu sinto que usando os utilitários "tradicionais" (por exemplo arch
, uname
, sw_vers
) para descobrir o seu hardware ou software do Mac pode não ser muito confiável. É certamente inconsistente! Até os manuais do sistema estão repletos de inconsistências.
Isso não quer dizer que você não possa obter informações úteis desses utilitários, mas apenas que, a menos que saiba o que está procurando, poderá obter resultados diferentes dos obtidos em outros sistemas.
Por exemplo:
$ arch
i386
Não! (A menos que você esteja usando um computador muito antigo.)
Outro exemplo é a versão do sistema operacional. man sw_vers
e man uname
ambos afirmam relatar "Versão do SO":
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.14.4
BuildVersion: 18E226
$ uname -v
Darwin Kernel Version 18.5.0 .... # output snipped
O que é ótimo - sabemos que a numeração das versões de kernel e distribuição é diferente, mas os manuais do sistema para esses dois comandos dizem que você recebe OS Version
. Compreender a gênese da correntemacos
explica um pouco disso, mas não explica por que os manuais do sistema são inconsistentes.
E assim, para a pergunta do OP sobre como obter informações claras e confiáveis em um sistema, acho que a resposta deve ser o uso system_profiler
de hardware e 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
Além disso, o manual do sistema system_profiler
parece ser mantido em um estado mais atual.
E, finalmente, quanto à pergunta principal : "O que [a saída de arch
] i386 significa no macOS Mojave?" . Resposta: Infelizmente, isso significa que a Apple não manteve sua documentação e / ou aplicativos corretamente.
uname -m
e isso me deux86_64
. Então eu acho que é uma arquitetura de CPU de 64 bits. Eu tenteiarch
apenas experimentar um cmd que eu havia encontrado enquanto estudava para obter uma certificação Linux.