Существует ли способ определить то, что выполняет версия (распределение и версия ядра, я предполагаю) Linux (от командной строки), который работает над какой-либо системой Linux?
Ядро универсально обнаруживается с uname
:
$ uname -or
2.6.18-128.el5 GNU/Linux
Действительно нет перекрестного распределения способа определить, какое распределение и версия Вы идете. Были попытки сделать это последовательным, но в конечном счете это варьируется, к сожалению. Инструменты LSB предоставляют эту информацию, но иронически не установлены по умолчанию везде. Пример в системе Ubuntu 9.04 с lsb-release
пакет установил:
$ lsb_release -irc
Distributor ID: Ubuntu
Release: 9.04
Codename: jaunty
Иначе самый близкий широко доступный метод проверяет /etc/something-release
файлы. Они существуют на большинстве общих платформ, и на их производных (т.е. Red Hat и CentOS).
Вот некоторые примеры.
Ubuntu имеет /etc/lsb-release
:
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=9.04
DISTRIB_CODENAME=jaunty
DISTRIB_DESCRIPTION="Ubuntu 9.04"
Но Debian имеет /etc/debian_version
:
$ cat /etc/debian_version
5.0.2
Fedora, Red Hat и CentOS имеют:
Fedora: $ cat /etc/fedora-release
Fedora release 10 (Cambridge)
Red Hat/older CentOS: $ cat /etc/redhat-release
CentOS release 5.3 (Final)
newer CentOS: $ cat /etc/centos-release
CentOS Linux release 7.1.1503 (Core)
Хинду:
$ cat /etc/gentoo-release
Gentoo Base System release 1.12.11.1
Я не имею систему SUSE в наличии в данный момент, но я полагаю, что это /etc/SuSE-release
.
Slackware имеет /etc/slackware-release
и/или /etc/slackware-version
.
Mandriva имеет /etc/mandriva-release
.
Для большинства популярных дистрибутивов затем,
$ cat /etc/*{release,version}
будет чаще всего работать. Разделенный вниз и базовые установки "сервера" не мог бы иметь пакета 'выпуска' для установленного распределения.
Кроме того, двумя сторонними программами, которые можно использовать для автоматического получения этой информации, является Ohai и Facter.
Обратите внимание, что много дистрибутивов имеют этот вид информации в /etc/issue
или /etc/motd
, но некоторая политика безопасности и лучшие практики указывают, что эти файлы должны содержать баннеры уведомления о доступе.
Похожие страницы: Как узнать версию пакета программного обеспечения, установленного на узле?, марионетка.
Вы могли также попробовать:
$ cat /etc/issue
Это обычно (не всегда, хотя) скажет Вам, какое распределение Вы используете. /etc/issue
файл, используемый для экрана входа в систему.