Як дізнатися, який дистрибутив Linux я використовую?


53

Як дізнатися, який дистрибутив Linux я використовую?

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для перезавантаження сервісних пристроїв, схоже, це не сім'я 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][~]$

Якщо ви хочете видалити певну особисту / конфіденційну інформацію, я думаю, ви можете позначити своє питання для уваги модератора. Тому що ми його все ще можемо читати ...
Тамара Війсман

@Tom Wijsman просто хочу не відображати цей текст на сторінці запитань, я знаю, що він буде там в історії :-)
Mithun Sreedharan

Відповіді:


31
  • У Debian: /etc/debian_version

  • В Ubuntu: lsb_release -a or /etc/debian_version

  • У Редхаті: cat /etc/redhat-release

  • У Fedora: cat /etc/fedora-release


2
Він спробував їх усіх, подивіться його вихідний код.
guerda

2
+1, "lsb_release -a" працював для мене на Red Hat.
Аарон

3
lsb_release -aпрацював і в Дебіані (стискати).
акме

1
lsb_release -aпрацює і в Gentoo
Сергій

lsb_release -aпрацює також в Ubuntu та Mint.
wranvaud


15

Ви можете спробувати цю статтю від Novell .

Якщо ви є власником системи, то ви знаєте, який Linux встановлений і працює. Ця стаття допоможе вам зрозуміти, як визначити, який встановлений дистрибутив Linux. Ви можете включити це у свою програму для виявлення дистрибутива Linux.


Я вже спробував $ cat / etc / * release cat: / etc / * release: Немає такого файлу чи каталогу. Запуск місіонованого сценарію дає результат simalr до команди unme -a Linux Linux 2.6.9-42.0.3.EL.wh1smp (2.6 .9-42.0.3.EL.wh1smp i686) $ uname -a Linux qsquare.net 2.6.9-42.0.3.EL.wh1smp # 1 SMP Пт 14 серпня 15:48:17 MDT 2009 i686 i686 i386 GNU / Linux
Мітхун Средхаран

6
cat /etc/*releaseздається, працює для деяких основних потоків. Я перевірив за допомогою Ubuntu, Mint, Red Hat та Gentoo.
nobar

Debian цього не визнає
Мілад Насері

Рішення Novell працює, нарешті, на моєму RedHat 5.3. Я інтегрував його у свою вільну оболонку: 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, файли інформації про випуск дистрибутива та інформацію про ядро ​​від uname. Він візьме найбільш конкретне ім'я дистрибутива, яке він може знайти, при необхідності перейде до загального Linux. Також буде визначено варіанти UNIX, такі як Solaris або AIX.


1

Хм, може бути, його інший дистрибутив - суфікс .EL, здається, використовується центосом, але це похідне від Redhat. Мені також цікаво, яка у вас система управління пакетами? Це може допомогти перевірити, чиї репост ви використовуєте - оскільки вони зазвичай постачаються постачальниками та мають особливий дистрибутив




0

На основі версії ядра я б сказав, що це WBEL 4 . Вони, як відомо, трохи відстають у своїх оновленнях, тому, мабуть, найкраще буде перейти на CentOS у вашій зручності.



0

Оновлення тут, тепер це можливо використовувати lsb_release -ds, так що ви можете використовувати його як linuxDistro=$(lsb_release -ds)без зайвого розбору.


0

Утиліти neofetchі screenfetchобидва відображають назву вашої дистрибуції та версію - і вони включають деякі приємні мистецтва ASCII. Однак вони можуть бути встановлені за замовчуванням.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.