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


20

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

Ответы:


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.


-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

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