Как узнать, в какой дистрибутив Linux я вошел

20

Есть ли команда для определения дистрибутива ОС, в которую я вошел через SSH? unameможет использоваться для печати всей информации, но, очевидно, не дистрибутива (например, RedHat, Ubuntu и т. д.), ни версии этого дистрибутива.

vahidg
источник

Ответы:

16

Боюсь, нет стандартизированного способа проверить это. Кажется, у каждого дистрибутива есть свой способ объявить свою версию. Вы можете попробовать:, cat /etc/*releaseэто может работать на нескольких системах. Также /etc/issueможет содержать информацию о распространении.

Яцек Конечны
источник
Спасибо вам обоим cat /etc/*releaseи /etc/issueдайте мне точную информацию, которая мне нужна.
Вахидг
В базовой установке Debian (Lenny) релиз / etc / * не существует, но существует / etc / issue (и содержит правильную информацию).
Дэвид
Это одно из единственных решений, которое работает для меня последовательно.
Стефан Ласевский
8

lsb_release -a должен работать на большинстве дистрибутивов.

Джеральд Комбс
источник
Кажется, не работает на базовой установке Debian (Lenny).
Дэвид
Похоже, lsb_release -i -sработает на большинстве систем, которые у меня есть, только чтобы получить идентификатор поставщика. К сожалению, lsb_release не является частью базовой установки на моих небольших / встраиваемых системах, поэтому сначала нужно проверить ее.
Калеб
@Dave Это в lsb-releaseпакете, который, действительно, не по умолчанию. Его отсутствие - сильный индикатор Debian. :-)
Даниэль С. Собрал
Ни в OpenSuse.
ychaouche
lsb_releaseне существует в некоторых новых производных RHEL6, таких как Scientific Linux 6.1 или Fedora Linux 16.
Stefan Lasiewski
3

lsb_release и другие / etc / redhat-release для redhat и fedora. Я не имею представления об Ubuntu и всех других дистрибутивах.

Раджу
источник
1
lsb_release -a работает и в Ubuntu.
-1

Обычно / etc / motd также дает имя дистрибутива ...

sucuri
источник
-2

uname -o

Двоичный файл uname встречается почти во всех системах Linux, а флаг -o делает все возможное, чтобы вернуть вам операционную систему. lsb_release тоже работает, но не так вездесущ.

Калеб
источник
Это не работает в Ubuntu (lucid), однако в Ubuntu есть lsb_release, поэтому сначала тестируйте с помощью uname -o, а затем, если это возвращается просто как GNU / Linux, run lsb_release -i -sработает во всех моих системах.
Калеб
Это дает мне «GNU / Linux» в RedHat, Debian и Ubuntu. На что это работает?
Даниэль С. Собрал
GNU / Linux не очень полезен. Большинство дистрибутивов являются GNU / Linux.
2012 года
@ychaouche: см. комментарий выше. Сначала протестируйте с помощью uname, и если все, что вы получите, является универсальным, проверьте lsb_release и используйте его.
Калеб
-3

Если вы используете -aфлаг uname, он должен работать большую часть времени. Например, на моей текущей машине Ubuntu uname -aпечатает:

Linux clark-laptop 2.6.35-25-generic #43-Ubuntu SMP Thu Jan 6 22:25:21 UTC 2011 x86_64 GNU/Linux

Кларк минор
источник