desenv-web-rp.com

O que significa i386 no macOS Mojave?

Estou em um MacBook Pro de segunda mão do final de 2013 (Mojave 10.14.3) e quando digito Arch no Terminal, recebo de volta i386. Não deveria ser um x86_64? O vendedor deturpou o item? Por favor, veja a imagem abaixo de 'Sobre este Mac' . screenshot

12
WobblyWindows

De acordo com isso SO resposta , Arch distingue entre PowerPC (ppc) e Intel (i386), não entre kernels de 32 e 64 bits no x86. Então, 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 este Ask Different Q&A .

15
Stephen Kitt

Em um sistema macOS, como em outros sistemas BSD, você deve usar o utilitário machine:

$ Arch
i386
$ machine
x86_64h

O i386 é enganoso se você estiver acostumado ao utilitário Arch em outros sistemas. No macOS Mojave, i386 significa que é capaz de executar software de 32 bits compilado para a família de processadores Intel. Observe que o utilitário Arch no macOS é usado para coisas bem diferentes em comparação com por exemplo Linux (veja seu manual).

Você também pode usar uname -m como no Linux:

$ uname -m
x86_64
14
Kusalananda

Eu sinto que usando os utilitários "tradicionais" (por exemplo, Arch, uname, sw_vers) descobrir o hardware ou o software do seu 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 que são diferentes do que você entra 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ê obtém OS Version. Compreender o gênese do atual macos 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 usar system_profiler para 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 para system_profiler parece ser mantido em um estado mais atual.

E, finalmente, quanto à questão principal : "O que [a saída de Arch] i386 significa no macOS Mojave ? ". Resposta: Infelizmente, significa isso Apple não manteve sua documentação e/ou aplicativos corretamente.

3
Seamus