Odpowiedzi:
Zgodnie z tym SO odpowiedź , arch
rozróżnia PowerPC ( ppc
) oraz Intel ( i386
), a nie między 32- i 64-bitowego jądra na x86. W tym kontekście i386
oznacza to procesor x86.
Sprawdź dane wyjściowe, uname -m
aby dowiedzieć się, jaki jest twój typ maszyny. (W systemie Linux arch
jest odpowiednikiem uname -m
).
Zobacz także: Zapytaj Różne pytania i odpowiedzi .
W systemie macOS, podobnie jak w innych systemach BSD, należy użyć machine
narzędzia:
$ arch
i386
$ machine
x86_64h
Jest i386
to mylące, jeśli jesteś przyzwyczajony do arch
narzędzia w innych systemach. W systemie macOS Mojave i386
oznacza to, że może on uruchamiać 32-bitowe oprogramowanie skompilowane dla rodziny procesorów Intel. Zauważ, że arch
narzędzie w systemie macOS jest używane do całkiem różnych rzeczy w porównaniu do np. Linuksa (patrz jego instrukcja).
Możesz również użyć uname -m
jak w systemie Linux:
$ uname -m
x86_64
i386
oznaczenie sugeruje, że jest w stanie uruchomić 32-bitowe oprogramowanie ... z man arch
pewnością tego nie sugeruje. IMHO, Apple właśnie upuściło piłkę i pozwoliło, aby sprawy trochę się popsuły - może w imię wstecznej kompatybilności?
Czuję, że za pomocą „tradycyjnych” narzędzi (np arch
, uname
, sw_vers
), aby odkryć swój sprzęt lub oprogramowanie Mac nie może być bardzo wiarygodne. To z pewnością niespójne! Nawet instrukcje systemowe są pełne niespójności.
Nie oznacza to, że nie można uzyskać przydatnych informacji z tych narzędzi, a jedynie powiedzieć, że jeśli nie wiesz, czego szukasz, możesz uzyskać wyniki, które różnią się od wyników uzyskiwanych w innych systemach.
Na przykład:
$ arch
i386
Nie! (Chyba że używasz naprawdę starego komputera).
Innym przykładem jest wersja systemu operacyjnego. man sw_vers
i man uname
oba twierdzą, że zgłaszają „wersję systemu operacyjnego”:
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.14.4
BuildVersion: 18E226
$ uname -v
Darwin Kernel Version 18.5.0 .... # output snipped
Co jest dobre i dobre - mamy świadomość, że numeracja wersji wydania jądra i dystrybucji jest inna, ale instrukcje systemowe dla obu tych poleceń mówią, że tak OS Version
. Zrozumienie genezy prądumacos
wyjaśnia niektóre z nich, ale nie wyjaśnia, dlaczego instrukcje systemowe są niespójne.
I tak na pytanie OP dotyczące tego, jak uzyskać jasne i wiarygodne informacje o systemie, uważam, że odpowiedzią powinno być użycie system_profiler
zarówno sprzętu, jak i oprogramowania:
$ 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
system_profiler
Wydaje się również, że podręcznik systemowy dla bardziej aktualnego stanu.
I wreszcie, jeśli chodzi o główne pytanie : „Co oznacza [wynik arch
] i386 na MacOS Mojave?” . Odpowiedź: Niestety, oznacza to, że Apple nie utrzymywał poprawnie swojej dokumentacji i / lub aplikacji.
uname -m
i to mi dałox86_64
. Sądzę więc, że jest to 64-bitowa architektura procesora. Próbowałemarch
po prostu wypróbować cmd, na które wpadłem podczas nauki o certyfikat Linux.