Есть ли команда для определения распределения ОС, в которую я вошел через SSH? uname
может использоваться для печати большого количества информации, но, по-видимому, не для дистрибутива (например, RedHat, Ubuntu и т. д.) или версии этого дистрибутива.
Боюсь, стандартного способа проверить это нет. Кажется, что в каждом дистрибутиве есть свой способ объявить свою версию. Вы можете попробовать: cat /etc/*release
, он может работать в некоторых системах. Также, /etc/issue
может содержать информацию о распространении.
lsb_release -a
должен работают с большинством дистрибутивов.
lsb_release и другие / etc / redhat-release для redhat и fedora я понятия не имею о ubuntu и всех других дистрибутивах
Обычно / etc / motd тоже дает имя дистрибутива ...
uname -o
Бинарный файл uname можно найти почти в каждой системе Linux, а флаг -o лучше всего возвращает вам операционную систему. lsb_release тоже работает, но не так широко распространен.
Если вы используете -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