Есть ли команда для определения дистрибутива ОС, в которую я вошел через SSH? uname
может использоваться для печати всей информации, но, очевидно, не дистрибутива (например, RedHat, Ubuntu и т. д.), ни версии этого дистрибутива.
20
Боюсь, нет стандартизированного способа проверить это. Кажется, у каждого дистрибутива есть свой способ объявить свою версию. Вы можете попробовать:, cat /etc/*release
это может работать на нескольких системах. Также /etc/issue
может содержать информацию о распространении.
cat /etc/*release
и/etc/issue
дайте мне точную информацию, которая мне нужна.lsb_release -a
должен работать на большинстве дистрибутивов.источник
lsb_release -i -s
работает на большинстве систем, которые у меня есть, только чтобы получить идентификатор поставщика. К сожалению, lsb_release не является частью базовой установки на моих небольших / встраиваемых системах, поэтому сначала нужно проверить ее.lsb-release
пакете, который, действительно, не по умолчанию. Его отсутствие - сильный индикатор Debian. :-)lsb_release
не существует в некоторых новых производных RHEL6, таких как Scientific Linux 6.1 или Fedora Linux 16.lsb_release и другие / etc / redhat-release для redhat и fedora. Я не имею представления об Ubuntu и всех других дистрибутивах.
источник
Обычно / etc / motd также дает имя дистрибутива ...
источник
uname -o
Двоичный файл uname встречается почти во всех системах Linux, а флаг -o делает все возможное, чтобы вернуть вам операционную систему. lsb_release тоже работает, но не так вездесущ.
источник
uname -o
, а затем, если это возвращается просто как GNU / Linux, runlsb_release -i -s
работает во всех моих системах.Если вы используете
-a
флагuname
, он должен работать большую часть времени. Например, на моей текущей машине Ubuntuuname -a
печатает:Linux clark-laptop 2.6.35-25-generic #43-Ubuntu SMP Thu Jan 6 22:25:21 UTC 2011 x86_64 GNU/Linux
источник