Как узнать, какой дистрибутив 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для перезапуска 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][~]$
Митхун Шридхаран
источник
Если вы хотите удалить определенную личную / конфиденциальную информацию, я думаю, вы можете пометить свой вопрос для внимания модератора. Потому что мы все еще можем прочитать это сейчас ...
Тамара Вийсман
@ Tom Wijsman просто не хочет отображать этот текст на странице вопросов, я знаю, что это будет в истории :-)
Mithun Sreedharan

Ответы:

31
  • В Debian: /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 (squeeze) тоже.
Acme
1
lsb_release -aработает и в Gentoo
Сергей
lsb_release -aработает также в Ubuntu и Mint.
wranvaud
19

Будь проще!

cat /etc/*release
Трэвис ван дер Фонт
источник
15

Вы можете попробовать эту статью от Novell .

Если вы являетесь владельцем системы, то вы знаете, какой Linux установлен и работает. Эта статья поможет вам понять, как определить, какой дистрибутив Linux установлен. Вы можете включить это в свое приложение для обнаружения дистрибутива Linux.

Марцин Гил
источник
Я уже пробовал $ cat / etc / * release cat: / etc / * release: Нет такого файла или каталога. Запуск специального сценария дает результат simalr для команды uname -a 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.
Нобар
Debian не признает этого
Милад Насери
Решение Novell работает, наконец, на моем RedHat 5.3. Я
включил
@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/"
Yogesh
источник
2

Попробуйте http://legroom.net/2010/05/05/generic-method-determine-linux-or-unix-distribution-name .

Комбинация методов, которая объединяет запросы к утилитам LSB, файлам информации о выпуске дистрибутива и информации ядра от uname. Для этого потребуется самое конкретное имя дистрибутива, которое он может найти, при необходимости прибегая к универсальному Linux. Также будут определены варианты UNIX, такие как Solaris или AIX.

Тамара Вийсман
источник
1

Хм, может быть, это еще один дистрибутив - суффикс .EL, кажется, используется centos, но это редатное производное. Мне также интересно, какая у вас система управления пакетами? Это может помочь проверить, чьи репозитории вы используете - так как они обычно поставляются поставщиком и специфичны для дистрибутива

Подмастерье Компьютерщик
источник
0

Исходя из версии ядра, я бы сказал, что это WBEL 4 . Известно, что они немного отстают от своих обновлений, поэтому, вероятно, было бы лучше перейти на CentOS в удобное для вас время.

Игнасио Васкес-Абрамс
источник
0

Просто поместите результат в переменную и в нижний регистр

OS=`awk -F= '/DISTRIB_ID/ {print tolower($2)}' /etc/lsb-release`
SergioAraujo
источник
0

Обновление здесь, теперь это можно использовать lsb_release -ds, так что вы можете использовать его как linuxDistro=$(lsb_release -ds)без дополнительного анализа.

3manuek
источник
0

Утилиты neofetchи screenfetchобе отображают ваше имя и версию дистрибутива - и они включают в себя несколько хороших ASCII-изображений. Однако они могут быть не установлены по умолчанию.

nobar
источник