यदि मेरे पास 32-बिट या 64-बिट ओएस है तो मैं कैसे जांच करूं?


489

मैंने उबंटू को आधिकारिक साइट से डाउनलोड और इंस्टॉल किया। हालाँकि, मुझे नहीं पता कि मैंने 32-बिट या 64-बिट संस्करण स्थापित किया है या नहीं।

विंडोज 7 में मैं अपने कंप्यूटर पर राइट क्लिक कर सकता हूं और यह सूचीबद्ध है कि यह कौन सा संस्करण है।

क्या उबंटू में जांच करने का एक आसान तरीका है?



इसी तरह के सवाल: askubuntu.com/questions/189640/…
विल्फ



स्थापना वास्तुकला और गिरी वास्तुकला दो अलग-अलग चीजें हैं। उदाहरण के लिए, मैंने अपने 32 बिट उबंटू 16.04 में dpkg --add-architecture amd64कुछ amd64पैकेजों के माध्यम से डेबियन मल्टीकार सपोर्ट लागू किया । अब मैं समस्या के बिना 64 बिट कर्नेल के साथ 32 बिट इंस्टॉलेशन चलाता हूं। तो जबकि dpkg --print-architectureप्रिंट i386, uname -mप्रिंट x86_64Wiki.debian.org/Multiarch/HOWTO का संदर्भ लें (यह एक पेचीदा प्रक्रिया है)
kenn

जवाबों:


629

मुझे कम से कम 2 तरीके पता हैं। एक टर्मिनल खोलें ( Ctrl+ Alt+ T) और टाइप करें:

  1. uname -a

    32-बिट Ubuntu के लिए परिणाम:

    लिनक्स डिस्कवर्ल्ड 2.6.38-8-जेनेरिक # 42-उबटन एसएमपी मोन अप्रैल 11 03:31:50 यूटीसी 2011 i686 i686 i386 GNU / लिनक्स

    जबकि 64-बिट उबंटू दिखाएगा:

    लिनक्स डिस्कवर्ल्ड 2.6.38-8-जेनेरिक # 42-उबटन एसएमपी मोन अप्रैल 11 03:31:50 यूटीसी 2011 x86_64 x86_64 x86_64 GNU / लिनक्स

    छोटा संस्करण:

    $ uname -i
    x86_64
    

    या

  2. file /sbin/init

    32-बिट Ubuntu के लिए परिणाम:

    / sbin / init: ELF 32-बिट LSB साझा की गई वस्तु, Intel 80386 , संस्करण 1 (SYSV), गतिशील रूप से जुड़ा हुआ (GNB / Linux 2.6.15 के लिए साझा किए गए उपयोग का उपयोग करता है), छीन लिया गया

    जबकि 64-बिट संस्करण के लिए यह ऐसा दिखेगा:

    / sbin / init: ELF 64-बिट एलएसबी साझा की गई वस्तु, x86-64 , संस्करण 1 (SYSV), गतिशील रूप से जुड़ा हुआ (जीएनयू / लिनक्स 2.6.15 के लिए साझा किए गए उपयोग का उपयोग करता है), छीन लिया गया

    सिस्टमड के उपयोग से सिस्टम के लिए समान (16.04):

    file /lib/systemd/systemd

    64-बिट के लिए परिणाम:

    / lib / systemd / systemd: GNF / Linux 2.6 के लिए ELF 64-बिट LSB साझा ऑब्जेक्ट, x86-64 , संस्करण 1 (SYSV), गतिशील रूप से जुड़ा हुआ, दुभाषिया /lib64/ld-linux-x86-64.so.2। 32, बिल्डआईडी [sha1] = 54cc7ae53727d3ab67d7ff5d66620c0c589d62f9, छीन लिया गया

11
विधि 2, जिसमें व्यापक रूप से उपलब्ध निष्पादन योग्य "बाइनरी" (बाइनरी) सामग्री शामिल है, काफी अप्रत्यक्ष और अजीब है। हालांकि यह अधिकांश सेटअपों के लिए काम करता है, 64 बिट निष्पादन योग्य की उपस्थिति केवल चलने वाले ओएस आर्किटेक्चर का पता लगाने का एक विश्वसनीय तरीका नहीं होना चाहिए । विशेष रूप से जब आप विचार करते हैं multiarch, ia32_libsऔर, विशेष रूप से आपके initउदाहरण में,upstart
MestreLion

8
आप शायद सही हैं, लेकिन मेथड 1 ने मुझे i68632 में से एक भी नहीं दिखाया या 64 आउटपुट मेरे लिए प्रदर्शित किए गए
एलेक्सा

6
@ टेल्स जो कि 32 बिट है (हाइलाइट किए गए टेक्स्ट को देखें: `i686 i686 i386` उत्तर में)
रिनविंड

यह 32 बिट है, मैंने दूसरी विधि का उपयोग किया है, लेकिन पहले ने मुझे ऐसा कुछ भी नहीं दिखाया, जो जैसा दिखता था i386:) लेकिन आपके उत्तर ने मदद की। बहुत बहुत शुक्रिया
Aleks

1
# file /sbin/init- /sbin/init: symbolic link to upstart'` - # file /sbin/upstart-/sbin/upstart: ELF 64-bit LSB shared object, x86-64...
Nakilon

142

एकता के साथ Ubuntu 12.04+

  • हिट कमांड (मैक) या विंडो की।
  • टाइप करें Details, और "विवरण" आइकन चुनें
  • "OS प्रकार" फ़ील्ड पढ़ें
  • 64 बिट OS पढ़ेगा "64-बिट"

यहां छवि विवरण दर्ज करें

उपरोक्त स्क्रीन पाने के लिए वैकल्पिक:

  • सिस्टम मेनू पर क्लिक करें (ऊपरी दाएं कोने पर गियर)
  • "इस कंप्यूटर के बारे में" पर क्लिक करें

मुझे पता है कि टर्मिनल प्रतिक्रियाएं अच्छी हैं, लेकिन मुझे लगता है कि यह जीयूआई जवाब है। :)

एकता के साथ Ubuntu 11.04

  • हिट कमांड (मैक) या विंडो की।
  • प्रकार System info, और सिस्टम जानकारी आइकन का चयन करें
  • "OS प्रकार" फ़ील्ड पढ़ें
  • 64 बिट OS पढ़ेगा "64-बिट"

14
+1: GUI तरीका एक उपयोगकर्ता के लिए टर्मिनल कमांड पर पसंद किया जाता है जो विंडोज के लिए उपयोग किया जाता है और विशेष रूप से एक आसान तरीका के लिए कहा जाता है
MestreLion

1
इसके अलावा, एक ही स्क्रीन पर आने का दूसरा (GUI) तरीका:System Menu (top right corner, near the clock) -> System Settings -> Details
MestreLion

एक निश्चित तरीके से सबसे निश्चित रूप से ध्यान में रखें: कृपया, पुराने Ubuntus को चलाने वाले, अपने GUI के बराबर प्रदान करें! विशेष रूप से ल्यूसिड लिंक्स के लिए (जैसा कि एलटीएस 2015 तक समर्थित है और इसलिए लोगों के हाथ-नीचे लैपटॉप पर अच्छी तरह से चल सकता है।)
जेपी

1
@ जेपी: पुराने यूबंटस के लिए, जैसे कि ल्यूसिड लिंक्स, सबसे आसान जीयूआई तरीका जो मुझे पता है कि ग्नोम का सिस्टम मॉनिटर है । इसका Systemटैब वास्तुकला को दर्शाता है।
MestreLion

1
जीयूआई विंडो प्यारी है, लेकिन कल्पना करें कि क्या आप एक मिनट के लिए करेंगे यदि आपका जीयूआई स्थापित किए बिना सर्वर संस्करण चल रहा है?
क्रिस

79

एक बहुत ही आसान और छोटा तरीका है:

टर्मिनल खोलें, निम्नलिखित लिखें और दबाएं Enter

getconf LONG_BIT

परिणामी संख्या (मेरे मामले में 64) उत्तर है।

टर्मिनल - getconf LONG_BIT


7
मेरे 32 बिट सिस्टम पर, यह सही उत्तर भी देता है। विभिन्न उत्तरों में सूचीबद्ध सभी कमांड में से, इस का आउटपुट सबसे सीधा है।
स्टीफन ओस्टरमिलर

सिवाय: $ getconf LONGBIT getconf: अपरिचित वैरिएबल `LONGBIT '
Auspex

1
आपको अंडरस्कोर @Auspex LONG_BIT
माइकल

@ मिचेल डैम, तो मैं था। मुझे नहीं पता कि मैं कैसे कामयाब रहा, और पिछले महीने में उन दो मशीनों को 64 बिट में अपग्रेड कर दिया, यह अब बहुत ज्यादा लूट है;; धन्यवाद, वैसे भी!
शुभ अंक

58

संदर्भ: मुझे कैसे पता चलेगा कि मैं 32-बिट या 64-बिट लिनक्स चला रहा हूं?

कमांड का उपयोग करें:

uname -m

आप आमतौर पर प्राप्त करेंगे:

i686

32-बिट (या संभवतः i586 या i386) के लिए, और:

x86_64

64-बिट के लिए।


यह विश्वास करना मुश्किल है कि / etc / रिलीज़ इसका उल्लेख नहीं करता है।
रोजरपैक

uname -mpiउन सभी बातों का उल्लेख करता है uname -a, भले ही वे आमतौर पर सभी समान हों ...
विल्फ

27

टर्मिनल खोलें और archकमांड का प्रयास करें । यदि इसका आउटपुट x86_64 है तो यह 64 बिट है। अगर यह i686, i386, आदि कहता है, तो यह 32 बिट है।

हालाँकि, आर्किटेक्चर को निर्धारित करने का सबसे अच्छा तरीका है archकमांड को चलाना और आउटपुट को गूगल करना।


11
archuname -m( जैसा कि मैनपेज में भी कहा गया है) वैसा ही है । ;-)
htorque

मेरे कंप्यूटर (Ubuntu 9.04) पर, आर्क कमांड मौजूद नहीं है। तो मैं कहूँगा कि uname -m अधिक विश्वसनीय है।
जोनाथन स्टर्नबर्ग

@JonathanSternberg: इसे कुछ महीनों बाद जोड़ा गया था, उसी लेखक द्वारा विकसित किया गया था unameऔर एक ही coreutilsपैकेज में शामिल किया गया था । तो उबंटू 10.04 से आगे दोनों कमांड उपलब्ध हैं।
MestreLion

21

dpkg --print-architecture कमांड प्रदर्शित करेगा कि क्या आपने 32 बिट या 64 बिट उबंटू ओएस स्थापित किया है।

64 बिट सिस्टम पर

$ dpkg --print-architecture
amd64          

32 बिट सिस्टम पर

$ dpkg --print-architecture
i386

`


6
64 बिट कर्नेल चलाने वाले 32 बिट ओएस का सही तरीके से पता लगाने के लिए अब तक का एकमात्र तरीका।
डैन गर्थवेट

8

वास्तुकला परीक्षक

यहां छवि विवरण दर्ज करें

डाउनलोड लिंक

  1. डाउनलोड करो
  2. इसे निकालें।
  3. फ़ाइल को आर्किटेक्चर चेकरएस एक्ज़ीक्यूटेबल मार्क करें और उसे चलाएं।

स्क्रिप्ट मूल रूप से यह है:

#!/bin/bash
ARCH=$(uname -m)
if [ "$ARCH" = "i686" ]; then
 zenity --info --title="Architecture Checker" --text="Your Architecture is 32-Bit"
fi
if [ "$ARCH" = "x86_64" ]; then
 zenity --info --title="Architecture Checker" --text="Your Architecture is 64-Bit"
fi

यह एक निष्पादन योग्य पाठ फ़ाइल में होना चाहिए, और zenityस्थापित करने की आवश्यकता होगी।


8
ईमानदारी से उस 8 लाइन फ़ाइल को डाउनलोड करने और निकालने की आवश्यकता है? बस इसे यहां एक कोड ब्लॉक में रखें।
किरी

और जब का उत्पादन uname -mनहीं है i686... का अच्छा उपयोग zenity, notify-sendहालांकि उपयोग कर सकते हैं ।
विल्फ

5

सिस्टम सेटिंग्स पर जाएं और सिस्टम सेक्शन के तहत , डिटेल्स को हिट करें । आपको अपने ओएस, अपने प्रोसेसर के साथ-साथ इस तथ्य के साथ हर विवरण मिलेगा कि क्या सिस्टम 64-बिट या 32-बिट संस्करण चला रहा है।


यह अद्भुत लगता है। लेकिन मुझे नहीं पता कि "सिस्टम सेटिंग्स पर कैसे जाएं"। (BTW) मैं 12.4 मेट का उपयोग कर रहा हूं।
पापौ

3

उबंटू सॉफ्टवेयर सेंटर खोलें और खोजें lib32। यदि यह किसी भी परिणाम को बदल देता है, तो आप 64-बिट इंस्टॉल पर हैं (परिणाम 64-बिट इंस्टॉल पर 32-बिट एप्लिकेशन चलाने के लिए संगतता लाइब्रेरी हैं)।

नहीं बिल्कुल एक बेहतर जवाब है, लेकिन कम से कम यह एक टर्मिनल की आवश्यकता नहीं है ... ;-)

संपादित करें

मुझे एक और भी आसान मिला: खुली मदद -> मोज़िला फ़ायरफ़ॉक्स के बारे में और आप इसे वहीं देखेंगे ... ;-)

नीचे यह "उपयोगकर्ता एजेंट स्ट्रिंग" प्रदर्शित करता है, उदाहरण के लिए मेरे 64-बिट सिस्टम पर:

Mozilla/5.0 (X11; U; Linux x86_64; nl; rv:1.9.2.12) Gecko/20101027 Ubuntu/10.10 (maverick) Firefox/3.6.12

या मेरे 32-बिट सिस्टम पर:

Mozilla/5.0 (X11; U; Linux i686; nl; rv:1.9.2.12) Gecko/20101027 Ubuntu/10.10 (maverick) Firefox/3.6.12

x86_6464-बिट है, i68632-बिट है

(लेकिन यह अभी भी जवाब नहीं है कि वहाँ होना चाहिए;))


2
शुद्ध जीयूआई, निश्चित रूप से, लेकिन काफी नाजुक एक ... पैकेज जिनके नाम ( या विवरण ) होते हैं lib32, निश्चित रूप से वास्तुकला का पता लगाने का एक विश्वसनीय तरीका नहीं है।
MestreLion

2

पावर बटन (टॉप-मोस्ट, एक्सट्रीम राइट) में "इस कंप्यूटर के बारे में" विकल्प है। :)


2
12.04 LTS पर नहीं
törzsmókus

1

जहाँ तक मुझे याद है, 32-बिट सिस्टम पर x86_64 कर्नेल स्थापित करना संभव है। जैसा कि कुछ ने यहां लिखा है, आपको यह देखना चाहिए कि आपके पास कौन सी लाइब्रेरी हैं / आपने अपने सिस्टम पर कौन से पैकेज स्थापित किए हैं। तो देखने के लिए सबसे सुरक्षित तरीका /lib64यह है कि आपके पास है और अगर यह एक सिमलिंक है तो जांच लें /lib

एक और संभावित तरीका यह जांचना है कि आपने किन पैकेजों को डाउनलोड किया है /var/cache/apt/archive। यदि उनके पास _amd64.deb है, तो यह 64-बिट सिस्टम है, अर्थात, यदि आपने पैकेज स्थापित किए हैं और अपना कैश साफ़ नहीं किया है।

यह सब कोनकेर / डॉल्फिन से सिर्फ इशारा और क्लिक करके या किया जा सकता है :

ls -la / |grep lib

1

आपको यह ध्यान रखना चाहिए कि 32 बिट कर्नेल स्थापित करते समय आपके पास 64 बिट सीपीयू हो सकता है। यानी यदि आपका सीपीयू 64 है तो इसका मतलब यह नहीं है कि आपका ओएस 64 है, यह इस बात पर निर्भर करता है कि आपने क्या स्थापित किया है।

man uname

   -m, --machine
          print the machine hardware name

   -p, --processor
          print the processor type or "unknown"

   -i, --hardware-platform
          print the hardware platform or "unknown"

इसलिए हार्डवेयर प्लेटफार्म उपयोग पाने के लिए uname -mया uname -pया uname -iगिरी प्रकार यह बेहतर है पाने के लिए है, जबकि getconf LONG_BITआदेश।

इस SO प्रश्न की जाँच करें


प्रश्न के लिए वास्तव में प्रासंगिक नहीं है: उसके पास 64 बिट सीपीयू है और यह जानना चाहता है कि कौन सा ओएस स्थापित हुआ।
शुभ अंक

0

Synaptic या सॉफ़्टवेयर केंद्र में अपने सॉफ़्टवेयर स्रोतों पर एक नज़र डालें। यदि आपने अपने मूल स्रोत जैसे cdrom को नहीं हटाया है, तो यह वास्तुकला को इंगित करेगा (?)। यह एक GUI है, लेकिन यह '32bit' और न ही '64 बिट' नहीं कहेगा।


-1

मुझे यकीन नहीं है कि आप एक ओएस को 32 बिट्स कहते हैं।

विशिष्ट होने के लिए, मेरा कर्नेल और डेस्कटॉप वितरण 64 बिट्स डेबियन / सिड है, लेकिन मैं नियमित रूप schrootसे deboostrapएक chrootशेड वातावरण (परीक्षण उद्देश्यों के लिए) के अंदर एक-32 बिट्स डेबियन को चलाने के लिए उपयोग करता हूं ।

क्या आपको लगता है कि मेरे 32 बिट्स वातावरण को 32 बिट्स (मुझे विश्वास है) या 64 बिट्स (आखिरकार, यह 64 बिट कर्नेल के अंदर चलता है) कहा जाना चाहिए। उस वातावरण में uname -mकहते हैं i686और सभी पुस्तकालयों और निष्पादनों और प्रक्रियाओं 32 बिट्स हैं।

व्यावहारिक उद्देश्यों के uname -mलिए पर्याप्त होना चाहिए। fileआदेश आप बता सकते हैं कि एक ELF निष्पादन एक 32 बिट या 64 बिट्स से एक है।

लिनक्स विशिष्ट व्यक्तित्व (2) syscall देखें (और भी uname (2) एक)।

और आपके प्रोसेसर के बारे में हार्डवेयर जानकारी उदाहरण के साथ दिखाई देती है

 cat /proc/cpuinfo

इसका आउटपुट मेरे डेस्कटॉप 64 बिट्स सिस्टम और मेरे 32 बिट्स schroot-ed वातावरण में समान है।


4
-1: आपने कोई उपयोगी नई जानकारी जोड़े बिना बहुत सी अनावश्यक उलझनें जोड़ दीं। ऐसा क्यों कह रहे हैं कि "आपको यकीन नहीं है कि आप एक ओएस को 32 बिट्स कहते हैं"? यह एक बहुत ही सीधा सा सवाल है, जिसके बारे में आप जानते हैं। आपका उदाहरण व्यर्थ है: यह एक वर्चुअल मशीन के समान है, इसलिए यदि आप इसे 32-बिट ओएस के साथ बूटस्ट्रैप करते हैं तो निश्चित रूप से आउटपुट होगा । लेकिन "होस्ट" अभी भी 64 बिट्स है, और अगर आप इसे chrootuname -mi686uname -m
चेरोट

2
इसके अलावा, /proc/cpuinfoभ्रामक है: यह सीपीयू क्षमताओं को दिखाता है , कि वास्तविक स्थापित (और चल रहा) ओएस आर्किटेक्चर। वस्तुतः पिछले 5 वर्षों में बेचे जाने वाले सभी डेस्कटॉप सीपीयू 64-बिट हैं, लेकिन इसका सवाल से कोई लेना- देना नहीं है। और निश्चित रूप से यह दोनों परिदृश्यों में समान रिपोर्ट करता है, क्योंकि आपका सीपीयू हार्डवेयर समान है, और यह 32 और 64 बिट्स ओएस दोनों को चलाने में सक्षम है।
MestreLion

@MestreLion, जो बेसिल कहने की कोशिश कर रहा है, वह यह है कि कुछ मामलों में, उदाहरण के लिए LXC का उपयोग करते समय या chroot, आप 64 बिट कर्नेल के साथ विशुद्ध रूप से 32 बिट सिस्टम चला सकते हैं। इन मामलों में unameआपको कर्नेल आर्किटेक्चर, 64 बिट बताएगा, जबकि अन्य तरीके आपको यूजरलैंड आर्किटेक्चर, 32 बिट बताएंगे, और यह स्पष्ट नहीं है कि दोनों में से कौन सा "आर्किटेक्चर" है।
जोनी

@ जोनी: ठीक है, मैं समझता हूं। लेकिन यह एक बहुत ही कोने-मामले का परिदृश्य है, और निश्चित रूप से ओपी का मामला नहीं है।
MestreLion

संभवतः यह ओपी का मामला नहीं है, मैं बस स्पष्ट करना चाहता था कि बिंदु बेसिल बनाने की कोशिश कर रहा था (इसके अलावा, ऐसा लगता है कि उत्तर को अस्वीकार करने के लिए मेरे पहले के संपादन को अस्वीकार कर दिया गया था? इस वातावरण uname -mमें कर्नेल की वास्तुकला का उत्पादन होगा जो x86_64 है, i686 नहीं। )
जोनी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.