जवाबों:
इस एसओ उत्तर के अनुसार , arch
पावरपीसी ( ppc
) और इंटेल ( i386
) के बीच अंतर होता है , x86 पर 32- और 64-बिट गुठली के बीच नहीं। तो इस संदर्भ में, i386
एक x86 सीपीयू का मतलब है।
uname -m
अपने मशीन प्रकार का पता लगाने के लिए आउटपुट की जाँच करें । (लिनक्स पर, arch
के बराबर है uname -m
।)
यह भी देखें इस पूछें अलग क्यू एंड ए ।
एक macOS सिस्टम पर, अन्य BSD सिस्टम की तरह, आपको machine
उपयोगिता का उपयोग करना चाहिए :
$ arch
i386
$ machine
x86_64h
i386
यदि आप करने के लिए इस्तेमाल कर रहे हैं भ्रामक है arch
अन्य प्रणालियों पर उपयोगिता। MacOS Mojave पर, i386
इसका मतलब है कि यह प्रोसेसर के इंटेल परिवार के लिए संकलित 32-बिट सॉफ़्टवेयर को चलाने में सक्षम है। ध्यान दें कि arch
macOS पर उपयोगिता उदाहरण के लिए लिनक्स की तुलना में काफी भिन्न चीजों के लिए उपयोग की जाती है (इसका मैनुअल देखें)।
आप uname -m
लिनक्स पर भी उपयोग कर सकते हैं :
$ uname -m
x86_64
i386
है यह इंगित करने के लिए कि पदनाम का अर्थ है कि यह 32-बिट सॉफ़्टवेयर चलाने में सक्षम है ... man arch
निश्चित रूप से यह सुझाव नहीं देता है। IMHO, Apple की बस गेंद को गिरा दिया, और चीजों को थोड़ा गड़बड़ करने की अनुमति दी - शायद पिछड़े संगतता के नाम पर?
मुझे लगता है कि "पारंपरिक" उपयोगिताओं का उपयोग कर (जैसे arch
, uname
, sw_vers
) अपने मैक के हार्डवेयर या सॉफ्टवेयर की खोज के लिए बहुत विश्वसनीय नहीं हो सकता। यह निश्चित रूप से असंगत है! यहां तक कि सिस्टम मैनुअल असंगतियों के साथ व्याप्त हैं।
यह कहने के लिए नहीं है कि आप इन उपयोगिताओं से उपयोगी जानकारी प्राप्त नहीं कर सकते हैं, यह केवल यह कहना है कि जब तक आप यह नहीं जानते कि आप क्या खोज रहे हैं, आपको परिणाम मिल सकते हैं जो कि आपके द्वारा अन्य प्रणालियों पर प्राप्त किए गए कार्यों से भिन्न हैं ।
उदाहरण के लिए:
$ arch
i386
नहीं! (जब तक आप वास्तव में पुराने कंप्यूटर का उपयोग नहीं कर रहे हैं।)
एक अन्य उदाहरण ओएस संस्करण है। man sw_vers
और man uname
दोनों "OS संस्करण" रिपोर्ट करने का दावा करते हैं:
$ 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
एक सीएमडी को आज़माने की कोशिश की जिसे मैंने लिनक्स प्रमाणन के लिए अध्ययन करते समय टकरा दिया था।