2009-12-08 15 views
15

https://superuser.com/questions/80251/how-to-know-which-linux-distribution-im-usingकैसे पता चलेगा कि कौन सा लिनक्स वितरण मैं उपयोग कर रहा हूं?

कैसे पता चलेगा कि कौन सा लिनक्स वितरण मैं उपयोग कर रहा हूं?

uname -एक देता लिनक्स xxxxxx.net 2.6.9-42.0.3.EL.wh1smp # 1 SMP शुक्र अगस्त 14 15:48:17 एमडीटी 2009 i686 i686 i386 जीएनयू/लिनक्स मुझे कैसे पता कर सकते हैं यह है उबंटू/डेबियन/फेडोरा या रेडहाट?

मैं, serevices को पुन: प्रारंभ करने के लिए /etc/init.d/serviced पुनः आरंभ करने का उपयोग करता है यह Redhat परिवार नहीं है

अद्यतन लगता है: आप सकता है

cat /etc/*-release 

:

[~]$ cat /etc/issue 
cat: /etc/issue: No such file or directory 
[~]$ cat /etc/issue.net 
cat: /etc/issue.net: No such file or directory 
[~]$ lsb_release -a 
-sh: lsb_release: command not found 
[~]$ cat /etc/*-release 
cat: /etc/*-release: No such file or directory 
[~]$ cat /etc/*-version 
cat: /etc/*-version: No such file or directory 
[~]$ cat /etc/*release 
cat: /etc/*release: No such file or directory 
[~]$ cat /etc/*_release 
cat: /etc/*_release: No such file or directory 
[~]$ cat /etc/*version 
cat: /etc/*version: No such file or directory 
[~]$ 
+0

आप कनेक्ट हो रहे हैं टर्मिनल द्वारा? – pcp

+0

यह सुपरसुर या सर्वरफॉल्ट पर होना चाहिए। यह एक प्रोग्रामिंग सवाल नहीं है। – marcc

+0

यदि आप किसी भी दिए गए वितरण पर अपना प्रोग्राम व्यवहार करने के लिए एक विश्वसनीय तरीका ढूंढ रहे हैं, तो मैं आपके माइग्रेट किए जाने से पहले अपना प्रश्न अपडेट करने का सुझाव दूंगा। –

उत्तर

28

इस प्रयास करें कोशिश करें/etc/* - संस्करण

+1

[itflux] [~] $ बिल्ली/आदि/* - रिलीज बिल्ली:/etc/* - रिलीज: ऐसी कोई फ़ाइल या निर्देशिका [itflux] [~] $ cat/etc/* - संस्करण बिल्ली:/आदि/* - संस्करण: ऐसी कोई फ़ाइल या निर्देशिका –

+1

'बिल्ली/आदि/* [_-] रिलीज' बेहतर होगा: कुछ distros अंडरस्कोर का उपयोग करें, हाइफ़न नहीं। –

11

/etc/issue या /etc/issue.net एक अच्छा सुराग दें। नए डिस्ट्रोज़/etc/lsb-release प्रदान करते हैं जो सटीक तारों को सटीक रूप से निर्धारित करना आसान बनाता है, यानी डिस्ट्रो नाम/प्रमुख & मामूली रिलीज/वेबसाइट, आदि

/etc/lsb-release की अनुपस्थिति में, यह बहुत अधिक है अधिक कठिन, इसलिए एलएसबी रिलीज का निर्माण।

जैसा कि आलोक ने कहा, ऐसा लगता है कि आप एक प्राचीन (या बेहद अजीब) प्रणाली पर हैं। मुझे नहीं लगता कि यह एक ऐसा मामला है जिसे आप कोड की कुछ पंक्तियों के साथ व्यावहारिक रूप से निर्धारित कर सकते हैं (विश्वसनीय रूप से)।

यदि अन्य सभी विफल हो जाते हैं, तो यह देखने के लिए जांचें कि किस प्रकार का पैकेज मैनेजर उपयोग में है (एपीटी/आरपीएम/अन्य), यह देखने के लिए जांचें कि /etc/init.d एक सिम्लिंक (आरपीएम/आरएच डिस्ट्रोज़) या निर्देशिका है (डेबियन आधारित distros) .. और आपके पास एक बहुत अच्छा सुराग है कि आप रूट फाइल सिस्टम में संरचना के रूप में उपस्थित होने की उम्मीद कर सकते हैं।

आप नहीं हर कोई :)

+0

डेबियन और डेरिवेटिव्स (उबंटू) में/etc/lsb-release भी है। उनके पास प्रोग्राम lsb_release भी है जो आपको विशिष्ट जानकारी देगा (आपको टेक्स्ट फ़ाइल को पार्स करने की आवश्यकता नहीं है)। – MichaelM

+0

@ माइकलएम: आप किसी भी तरह से फ़ाइल पढ़ रहे हैं .. या तो सीधे खोलने/etc/lsb-release या lsb_release के आउटपुट को स्क्रैप करना (या तो, आप अभी भी एक फ़ाइल पढ़ रहे हैं भले ही इसके stdout)। यदि यह व्यावहारिक रूप से कर रहा है, तो फ़ाइल को स्वयं पार्स करने के लिए सबसे अच्छा है (imho) .. कम चलने वाले हिस्सों जो मौजूद हो सकते हैं या नहीं हो सकते हैं :) –

+0

[itflux] [~] $ cat/etc/issue बिल्ली:/etc/issue : ऐसी कोई फ़ाइल या निर्देशिका [itflux] [~] $ cat /etc/issue.net बिल्ली: /etc/issue.net: ऐसी कोई फ़ाइल या निर्देशिका [itflux] [~] $ lsb_release -a -sh : lsb_release: आदेश नहीं –

18

आप lsb_release आदेश है, तो

lsb_release -a 

आप बता सकते हैं तो कृपया जाएगा (या बस lsb_release -i उपयोग करें)।

lsb_releaseLinux Standard Base Core Specification में है।

संपादित करें: ऐसा लगता है कि आप एक Red Hat सिस्टम पर हैं। आपके uname आउटपुट suggests so पर एक Google खोज। यह निश्चित रूप से प्रोग्रामेटिक नहीं है!

+2

आदेश दे रहे हैं $ lsb_release -एक - sh: lsb_release: कमांड नहीं मिला –

+0

इस और आपके अन्य उत्तरों से निर्णय लेना, ऐसा लगता है कि आपके पास एक रील है वाई पुरानी लिनक्स प्रणाली। –

+0

lsb_relase को प्रोग्राम के भीतर आसानी से डिस्ट्रो को निर्धारित करने के दर्द को कम करने के लिए बनाया गया था। जंगली में बहुत सारी प्रणालियों और अभी भी उपयोग में यह पूरी तरह से कमी है। –

1

ईएल इस मामले में एंटरप्राइज़ लिनक्स के लिए खड़ा है, इसलिए मुझे लगता है कि रेडहाट या क्लोन (सेंटोस की तरह)। मैं प्रोग्रामिक रूप से यह पता लगाने का एक अच्छा तरीका नहीं जानता कि आप किस भरोसेमंद हैं; प्रत्येक के लिए कुछ अलग संकेत हैं।

cat /etc/redhat_release 
cat /etc/debian_version 

एक अच्छी शुरुआत है। (ध्यान दें कि उबंटू /etc/debian_version को संशोधित नहीं करता है जब वे डेबियन से परिवर्तन खींचते हैं, इसलिए मेरा उबंटू कर्मिक सिस्टम डेबियन_वर्जन में निचोड़/sid है।)

संपादित करें: एलएसबी के बारे में भूल गए। गुड कॉल, टिम पोस्ट और आलोक। एलएसबी का पूरा बिंदु चीजों को करने के लिए दूर-स्वतंत्र तरीके देना है।

+0

[itflux] [~] $ cat/etc/redhat_release बिल्ली:/etc/redhat_release: ऐसी कोई फ़ाइल या निर्देशिका [itflux] [~] $ cat/etc/debian_version बिल्ली:/etc/debian_version: ऐसी कोई फ़ाइल –

+0

ईएल भी एसयूएसई एंटरप्राइज़ लिनक्स, उर्फ ​​एसल्स हो सकती है।यह आरपीएम जैसे रेडहाट का उपयोग करता है। याद रखें कि इसकी जांच कैसे करें। –

+0

ओह हाँ, सूज़ के आरपीएम के शीर्ष पर कुछ कमांड हैं। यदि आपके पास yast2 या yum है, तो आप SuSE पर हैं। * Suse * या * novell * के लिए/etc/में देखें। –

5

की तरह यहाँ लगता है कुछ जानकारी है:

> cat /etc/issue 
Welcome to SUSE LINUX Enterprise Server 9 (i586) - Kernel \r (\l). 

> uname -a 
Linux boxname 2.6.5-7.244-smp #1 SMP Mon Dec 12 18:32:25 UTC 2005 i686 athlon i386 GNU/Linux 

> cat /etc/*-release 
SUSE LINUX Enterprise Server 9 (i586) 
VERSION = 9 
PATCHLEVEL = 3 
+0

की आवश्यकता है Whohooo किसी को उत्तर पसंद नहीं है, आइए आपकी राय सुनें ... मेरे पास काफी है अक्सर यह पता लगाने की कोशिश की जाती है कि बॉक्स पर क्या चल रहा है, ये कुछ चीजें हैं जिन्हें मैं देखता हूं, यह आपको कर्नेल संस्करण, कभी-कभी यहां तक ​​कि distro नाम भी बताता है ... – stefanB

+0

[itflux] [~] $ cat/etc/issue बिल्ली:/etc/issue: ऐसी कोई फ़ाइल या निर्देशिका [itflux] [~] $ cat /etc/issue.net बिल्ली: /etc/issue.net: ऐसी कोई फ़ाइल या निर्देशिका [itflux] [~] $ lsb_release -a -sh: lsb_release: कमांड नहीं मिला [itflux] [~] $ cat/etc/* - रिलीज बिल्ली:/etc/* - रिलीज़: ऐसी कोई फ़ाइल या निर्देशिका [itflux] [~] $ बिल्ली/आदि/* - संस्करण बिल्ली:/etc/* - संस्करण: ऐसी कोई फ़ाइल या निर्देशिका [itflux] [~] $ –

+0

ठीक है तो आपके पास इतना मानक लिनक्स नहीं है, जो कुछ नया नहीं है, लेकिन मुझे लगता है कि कम से कम 'uname -a' आपको कुछ प्रतिक्रिया ... – stefanB

2

एक सूची सबसे आम distros के लिए विज्ञप्ति जारी की फ़ाइल नाम: Release files

और एक समारोह है कि आप मदद कर सकता है: Shell script

संबंधित मुद्दे

 संबंधित मुद्दे