Відповіді:
Згідно цього SO відповідь , archрозрізняє PowerPC ( ppc) і Intel ( i386), а не між 32- і 64-розрядні ядра на x86. Отже, в цьому контексті i386означає процесор x86.
Перевірте вихід, uname -mщоб дізнатися тип машини. (У Linux arch- еквівалент uname -m.)
Дивіться також це запитання різних запитань .
У системі macOS, як і в інших системах BSD, ви повинні використовувати machineутиліту:
$ arch
i386
$ machine
x86_64h
i386Вводить в оману , якщо ви звикли до archутиліті на інших системах. На macOS Mojave i386означає, що він здатний запускати 32-розрядне програмне забезпечення, зібране для процесорів сімейства Intel. Зауважте, що archутиліта на macOS використовується для зовсім інших речей порівняно з, наприклад, на Linux (див. Її посібник).
Ви також можете використовувати uname -mяк в Linux:
$ uname -m
x86_64
i386позначення означає, що воно здатне працювати з 32-бітним програмним забезпеченням ... це, man archзвичайно, не підказує. ІМХО, Apple щойно скинула м'яч і дозволила дещо заплутатися - можливо, в ім'я відсталої сумісності?
Я відчуваю , що з допомогою «традиційних» комунальних послуг (наприклад arch, uname, sw_vers) , щоб відкрити ваше обладнання або програмне забезпечення Mac не може бути дуже надійним. Це, звичайно, непослідовно! Навіть системні посібники рясніють невідповідностями.
Це не означає, що ви не можете отримати корисну інформацію від цих утиліт, це лише сказати, що, якщо ви не знаєте, що шукаєте, ви можете отримати результати, які відрізняються від тих, які ви отримуєте в інших системах.
Наприклад:
$ arch
i386
Ні! (Якщо ви не використовуєте справді старий комп'ютер.)
Інший приклад - версія ОС. man sw_versі man unameобидва претендують на звіт про "Версію ОС":
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.14.4
BuildVersion: 18E226
$ uname -v
Darwin Kernel Version 18.5.0 .... # output snipped
Це все добре і добре - ми знаємо, що нумерація версій ядра та дистрибутива є різною, але системні посібники для обох цих команд говорять, що ви отримали OS Version. Розуміння генезису течіїmacos пояснює щось із цього, але не пояснює, чому системні посібники суперечать.
Отож, на питання ОП щодо отримання чіткої та достовірної інформації в системі, я вважаю, що відповідь має бути використана system_profilerяк для апаратного, так і для програмного забезпечення:
$ 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здається, підтримується до більш поточного стану.
І нарешті, що стосується заголовкового запитання : "Що означає [вихід arch] i386 на macOS Mojave?" . Відповідь: На жаль, це означає, що Apple не підтримувала належну їх документацію та / або додатки.
uname -mі це дало меніx86_64. Тож я думаю, що це 64-бітна архітектура процесора. Я спробувавarchпросто спробувати cmd, на який я натрапив під час навчання для сертифікації Linux.