i386 หมายถึงอะไรใน macOS Mojave?


12

ฉันบนมือสอง MacBook Pro จากปลายปี 2013 (ซ้อม 10.14.3) และเมื่อฉันพิมพ์ในเทอร์มิผมได้รับกลับมาarch i386มันไม่ควรจะเป็นx86_64หรือ ผู้ขายได้แสดงรายการผิดหรือไม่? โปรดดูภาพด้านล่างของ'เกี่ยวกับ Mac นี้' ภาพหน้าจอ

คำตอบ:


15

ตามคำตอบ SO นี้ให้archแยกความแตกต่างระหว่าง PowerPC ( ppc) และ Intel ( i386) ไม่ใช่ระหว่างเคอร์เนล 32- และ 64- บิตบน x86 ดังนั้นในบริบทนี้i386หมายถึงซีพียู x86

ตรวจสอบผลลัพธ์ของuname -mเพื่อค้นหาประเภทเครื่องของคุณ (บน Linux archเทียบเท่ากับuname -m)

ดูเพิ่มเติมนี้ถาม Q & A ที่แตกต่างกัน


อ๋อ! ฉันไม่ได้และมันทำให้ผมuname -m x86_64ดังนั้นฉันคิดว่ามันเป็นสถาปัตยกรรม CPU 64 บิต ฉันพยายามที่archจะลองคำสั่งที่ฉันได้ชนในขณะที่เรียนการรับรอง Linux
WobblyWindows

14

บนระบบ 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

5
เพื่อไม่ให้กลายเป็นภูเขาโมลฮิล แต่ AFAIK ไม่มีเอกสารจาก Apple ที่ระบุว่าการi386ระบุถึงความสามารถในการใช้งานซอฟต์แวร์ 32- บิต ... man archแน่นอนไม่แนะนำ IMHO แอปเปิ้ลเพิ่งปล่อยบอลและปล่อยให้สิ่งต่าง ๆ ยุ่งเหยิงสักหน่อย - บางทีอาจจะเป็นในชื่อของความเข้ากันได้แบบย้อนหลัง?
Seamus

3

ผมรู้สึกว่าการใช้สาธารณูปโภค "ดั้งเดิม" (เช่นarch, uname,sw_vers ) ที่จะค้นพบฮาร์ดแวร์หรือซอฟต์แวร์ของ Mac ของคุณอาจจะไม่น่าเชื่อถือมาก มันไม่สอดคล้องกันอย่างแน่นอน! แม้แต่คู่มือของระบบก็ยังเต็มไปด้วยความไม่สอดคล้องกัน

นี่ไม่ใช่การบอกว่าคุณไม่สามารถรับข้อมูลที่เป็นประโยชน์จากยูทิลิตี้เหล่านี้ได้ แต่เป็นการบอกว่าถ้าคุณไม่ทราบว่าคุณกำลังมองหาอะไรคุณอาจได้รับผลลัพธ์ที่แตกต่างจากสิ่งที่คุณได้รับจากระบบอื่น

ตัวอย่างเช่น:

$ arch
i386

No! (ยกเว้นว่าคุณใช้คอมพิวเตอร์เครื่องเก่าจริงๆ)

อีกตัวอย่างหนึ่งคือเวอร์ชั่นของระบบปฏิบัติการ 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 

ซึ่งเป็นสิ่งที่ดีและดี - เราทราบว่าเมล็ดและ distro รุ่นที่วางจำหน่ายเลขที่แตกต่างกัน OS Versionแต่คู่มือระบบสำหรับทั้งสองคำสั่งเหล่านี้บอกว่าคุณจะได้รับ ทำความเข้าใจเกี่ยวกับแหล่งกำเนิดของปัจจุบันmacosอธิบายบางสิ่งนี้ แต่ก็ไม่ได้อธิบายว่าทำไมคู่มือระบบไม่สอดคล้องกัน

ดังนั้นสำหรับคำถามของ OP เกี่ยวกับวิธีการรับข้อมูลที่ชัดเจนและเชื่อถือได้ในระบบฉันรู้สึกว่าคำตอบควรใช้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ดูเหมือนว่าจะยังคงอยู่ในสถานะปัจจุบันมากขึ้น

และสุดท้ายสำหรับคำถามหัวข้อ : "อะไรคือผลลัพธ์ของarchi386 บน macOS Mojave?" . คำตอบ:แต่มันหมายความว่าแอปเปิ้ลไม่ได้เก็บเอกสารของพวกเขาและ / หรือปพลิเคชันได้อย่างถูกต้อง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.