उपयोग में लीनिक्स डिस्ट्रो की पहचान कैसे की जाती है?


3

मैं आमतौर पर कम से कम कुछ विचार प्राप्त करता हूं कि हम किस शाखा के बारे में बात कर रहे हैं, मैं चलाने की कोशिश करता हूं apt-get, pacman, yum और अन्य सभी सामान्य पैकेज मैनेजर जिन्हें मैं अपने सिर के ऊपर से याद कर सकता हूं, लेकिन मुझे यकीन है कि वहाँ एक बेहतर तरीका है, इसलिए: क्या केवल शेल का उपयोग करके, जिस लिनक्स वितरण को आपने अभी लॉग इन किया है उसकी पहचान करके ?



कर्नेल संस्करण से संबंधित उत्तर (उदा। uname -a तथा cat /proc/version सही नहीं है, क्योंकि "वितरण" की अवधारणा लिनक्स कर्नेल के लिए विदेशी है। ध्यान दें कि लिनक्स सिस्टम किसी भी डिस्ट्रो से नहीं हो सकता है, अर्थात यह एक कस्टम-निर्मित कर्नेल और रूटफ़्स हो सकता है।
sawdust

@DavidPostill यह अच्छा होगा अगर /etc/lsb-release वास्तव में अधिक था - यह केवल 4 में से 1 पर मौजूद था जिसे मैंने नीचे आज़माया था।
Paul

lsb-release आमतौर पर होता है ऐच्छिक
Thomas Dickey

बिल्ली / आदि / * रिहाई *
Alec Istomin

जवाबों:


3

यह डिस्ट्रो पर निर्भर करता है।

डेबियन और रिश्तेदार उपयोग करते हैं

     lsb_release -a
     cat /etc/lsb-release

या तो एक ठीक होना चाहिए। लेकिन, यह एलएसबी (लिनक्स स्टैंडर्ड बेस) से संबंधित होने के बावजूद, सभी डिस्ट्रोस में नहीं है। यदि आपको उपरोक्त आदेशों से कोई उत्तर नहीं मिलता है, तो आपको प्रयास करना चाहिए

      ls /etc/*release

और फिर आपको जो भी फाइल मिली, उसके अंदर देखें। आपको इससे सावधान रहना चाहिए: जबकि RedHat के पास / etc / redhat-release है, अन्य, जैसे आर्क लिनक्स, के पास खाली / etc / आर्च-रिलीज़ फ़ाइल, और वह है जिसमें वह जानकारी है जो आप देख रहे हैं / Etc / ओएस रिलीज

तो, YMMV।


2

यह मूर्खतापूर्ण नहीं हो सकता है, लेकिन /proc/version कम से कम आपको एक बॉलपार्क देना चाहिए:

रेडहैट व्युत्पन्न:

# cat /proc/version 
Linux version 2.6.18-92cp (builder@Lnx30BccCmp5) (gcc version 4.1.1 20061011 (Red Hat 4.1.1-30)) #1 SMP Wed Apr 8 17:12:19 IDT 2015

उबंटू:

$ cat /proc/version
Linux version 3.13.0-24-generic (buildd@panlong) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014

डेबियन:

$ cat /proc/version 
Linux version 3.2.0-4-amd64 (debian-kernel@lists.debian.org) (gcc version 4.6.3 (Debian 4.6.3-14) ) #1 SMP Debian 3.2.65-1+deb7u1      

Centos:

# cat /proc/version 
Linux version 2.6.18-400.el5xen (mockbuild@builder17.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-55)) #1 SMP Thu Dec 4 13:29:23 EST 2014

जैसा कि विज्ञापित किया गया है, मूर्खतापूर्ण नहीं, लेकिन पैकेज प्रबंधक की जांच करने की मेरी पद्धति की तुलना में बहुत आसान है। /proc/version मिंट उबंटू पर, लेकिन यह काफी करीब है।
Jarmund

0
uname -a

चाल चलनी चाहिए। यह आपके द्वारा लॉग इन किए गए डिस्ट्रो पर सिस्टम जानकारी प्रदर्शित करेगा।

cat /etc/lsb-release 

डिस्ट्रो नाम और संस्करण को भी प्रदर्शित करना चाहिए।


नहीं, यह केवल होस्टनाम, कर्नेल और प्लेटफ़ॉर्म दिखाता है, डिस्ट्रो नहीं।
Jarmund

ठीक है। मैंने अपना उत्तर अपडेट कर दिया। जो डिस्ट्रो नेम और वर्जन को प्रदर्शित करे। या कम से कम यह लिनक्स मिंट पर मेरा किया था।
KenWeiLL

0

आधुनिक फेडोरा और डेबियन (और आर्क, CentOS, CoreOS, Mageia, openSUSE, Red Hat Enterprise Linux, SUSE Linux Enterprise Server, Ubuntu, और अन्य) पर सबसे आसान तरीका है /etc/os-release या चलाते हैं hostnamectl status

एक स्क्रिप्ट में, आप बस कर सकते हैं

#!/bin/sh
source /etc/os-release
echo $PRETTY_NAME

उदाहरण के लिए:

$ source /etc/os-release
$ echo $PRETTY_NAME
Fedora 25 (Workstation Edition)

...

$ source /etc/os-release 
$ echo $PRETTY_NAME
Debian GNU/Linux 8 (jessie)

बेशक, अगर आपको पुराने संस्करणों या गैर-सिस्टम डिस्ट्रोस की पहचान करने की आवश्यकता है, तो आप बस इस दृष्टिकोण से शुरू कर सकते हैं यदि /etc/os-release मौजूद है, और यदि ऐसा नहीं है, तो वापस तलाश करें lsb_release, /etc/redhat-releaseयह पता लगाने की कोशिश कर रहा है /proc/version, या कुछ अन्य विधर्मी।

देख लिनक्स वितरण नाम और संस्करण का पता लगाना अधिक के लिए स्टैक ओवरफ्लो प्रलेखन पर।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.