จะรู้ได้อย่างไรว่าฉันใช้ Linux Distribution ตัวใด?


53

จะรู้ได้อย่างไรว่าฉันใช้ Linux Distribution ตัวใด?

uname -a จะช่วยให้

Linux xxxxxx.net 2.6.9-42.0.3.EL.wh1smp #1 SMP Fri Aug 14 15:48:17 MDT 2009 i686 i686 i386 GNU/Linux

ฉันจะรู้ได้อย่างไรว่า Ubuntu / Debian / Fedora หรือ Redhat

ฉันใช้/etc/init.d/serviced restartสำหรับการรีสตาร์ท serevices ดูเหมือนว่าจะไม่ใช่ตระกูล Redhat

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

หากคุณต้องการให้ลบข้อมูลส่วนตัว / ข้อมูลลับบางอย่างฉันคิดว่าคุณสามารถตั้งค่าสถานะคำถามของคุณเพื่อให้ผู้ดูแลได้รับความสนใจ เพราะเรายังสามารถอ่านได้ในตอนนี้ ...
Tamara Wijsman

@ Tom Wijsman เพียงแค่ไม่ต้องการแสดงข้อความนั้นในหน้าคำถามฉันรู้ว่าจะมีในประวัติศาสตร์ :-)
Mithun Sreedharan

คำตอบ:


31
  • ในเดเบียน: /etc/debian_version

  • ใน Ubuntu: lsb_release -a or /etc/debian_version

  • ใน Redhat: cat /etc/redhat-release

  • ใน Fedora: cat /etc/fedora-release


2
เขาลองพวกเขาทั้งหมดดูซอร์สโค้ดของเขา
guerda

2
+1, "lsb_release -a" ใช้ได้กับฉันใน Red Hat
แอรอน

3
lsb_release -aทำงานใน Debian (บีบ) ด้วย
acme

1
lsb_release -aทำงานใน Gentoo เช่นกัน
Sergei

lsb_release -aใช้ได้ทั้งใน Ubuntu และ Mint
wranvaud


15

คุณอาจลองบทความนี้จาก Novell

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


ฉันลองใช้ cat แล้ว .9-42.0.3.EL.wh1smp i686) $ uname -a Linux qsquare.net 2.6.9-42.0.3.EL.wh1smp # 1 SMP ศุกร์ 14 สิงหาคม 48:17 น. MDT 2009 i686 i686 i386 GNU / Linux
Mithun Sreedharan

6
cat /etc/*releaseดูเหมือนว่าจะทำงานให้กับ distros กระแสหลัก ฉันยืนยันกับ Ubuntu, Mint, Red Hat และ Gentoo
nobar

เดเบียนไม่รู้จักสิ่งนี้
Milad Naseri

โซลูชัน Novell ใช้งานได้กับ RedHat 5.3 ของฉันในที่สุด ฉันได้รวมไว้ใน lib เชลล์ฟรีของฉัน: github.com/Offirmo/offirmo-shell-lib
Offirmo

@nobar: มันยังทำงานร่วมกับการแจกแจงแบบ SUSE: /etc/SuSE-release pastebin.com/dL5gVLQe
bwDraco

3

ลองหนึ่งในสิ่งเหล่านี้:

ls -ld /etc/\*release\*  /etc/\*version\*

gcc --version

1
ฉันจะถามคุณได้ไหมว่าทำไมคุณถึงปฏิเสธที่จะใช้รหัสมาร์กอัป โปรดเยื้องรหัสด้วยช่องว่างสี่ช่องซึ่งทำให้อ่านและแยกความแตกต่างได้ง่ายขึ้นมาก ขอขอบคุณ.
slhck

3

ระบบที่สอดคล้องกับทั้งหมดจะมี/etc/os-releaseข้อมูลที่เกี่ยวข้องกับการแจกจ่าย ฯลฯ

NAME=Fedora
VERSION="17 (Beefy Miracle)"
ID=fedora
VERSION_ID=17
PRETTY_NAME="Fedora 17 (Beefy Miracle)"
ANSI_COLOR="0;34"
CPE_NAME="cpe:/o:fedoraproject:fedora:17"
HOME_URL="https://fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"

2

ลองhttp://legroom.net/2010/05/05/generic-method-determine-linux-or-unix-distribution-name

การรวมกันของเทคนิคที่รวมการสอบถามยูทิลิตี้ LSB, ไฟล์ distro release info และเคอร์เนล info จาก uname มันจะใช้ชื่อ distro ที่เฉพาะเจาะจงที่สุดที่สามารถหาได้และกลับไปใช้ Linux ทั่วไปหากจำเป็น มันจะระบุตัวแปร UNIX เช่นกันเช่น Solaris หรือ AIX


1

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




0

ขึ้นอยู่กับรุ่นเคอร์เนลผมว่ามันเป็นWBEL 4 เป็นที่ทราบกันดีว่าพวกเขาล่าช้าเล็กน้อยในการอัปเดตดังนั้นจึงอาจเป็นการดีที่สุดหากคุณจะย้ายไปยัง CentOS ตามความสะดวกของคุณ


0

เพียงวางผลลัพธ์ลงในรูปแบบวาและเป็นตัวพิมพ์เล็ก

OS=`awk -F= '/DISTRIB_ID/ {print tolower($2)}' /etc/lsb-release`

0

อัปเดตที่นี่ตอนนี้มันเป็นไปได้ที่จะใช้lsb_release -dsเพื่อให้คุณสามารถใช้งานได้เหมือนlinuxDistro=$(lsb_release -ds)ไม่มีการแยกวิเคราะห์พิเศษ


0

ยูทิลิตี้neofetchและscreenfetchทั้งสองแสดงชื่อการแจกจ่ายและรุ่นของคุณ - และพวกเขารวมศิลปะ ASCII ที่ดี อย่างไรก็ตามอาจไม่ได้ติดตั้งตามค่าเริ่มต้น

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