51

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

12 ответов12

29
  • В Debian: /etc/debian_version

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

  • В Redhat: cat /etc/redhat-release

  • В Fedora: cat /etc/fedora-release

15

Будь проще!

cat /etc/*release
15

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

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

3

Попробуйте один из них:

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

gcc --version
2

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

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

1

Используйте сообщение Pre login, если оно не было отредактировано cat /etc/issue

1

Все совместимые с системы будут иметь /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/"
1

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

0

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

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

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

0

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .