Как узнать, какой дистрибутив 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


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/"

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`

0

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


0

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.