Вопрос Как узнать, какую версию Linux я запускаю?


Есть ли способ определить, какая версия (дистрибутив и версия ядра, я полагаю) Linux работает (из командной строки), которая работает на любой Linux-системе?


192
2017-07-22 19:20


происхождения




ответы:


Ядро универсально обнаруживается с помощью 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/что нибудь-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)

Gentoo:

$ cat /etc/gentoo-release
Gentoo Base System release 1.12.11.1

На данный момент у меня нет системы SUSE, но я считаю, что это /etc/SuSE-release,

Slackware имеет /etc/slackware-release и / или /etc/slackware-version,

Мандрива /etc/mandriva-release,

Для большинства популярных дистрибутивов тогда,

$ cat /etc/*{release,version}

чаще всего будут работать. Упорядоченные и баребоны «серверные» установки могут не иметь пакет «release» для установленного дистрибутива.

Кроме того, две сторонние программы, которые вы можете использовать для автоматического получения этой информации, Ohai а также Facter,

Обратите внимание, что многие дистрибутивы имеют такую ​​информацию в /etc/issue или /etc/motd, но некоторые политики безопасности и лучшие практики что эти файлы должны содержать баннеры уведомлений о доступе.

Связанный: Как узнать версию программного пакета, установленного на узле?, ,


253
2017-07-22 19:34



Lol здесь я думал предложить: ищите О! - Ivo Flipse♦
Slackware имеет / etc / slackware-версию - Ken Keenan
Спасибо, Кен, у меня тоже нет системы slackware. - jtimberman
IOW: ls / etc / * {release, версия} и проверьте, что возвращается ... - freiheit
Большинство также имеют / etc / issue - Drew Stephens


Вы также можете попробовать:

$ cat / etc / issue

Обычно (не всегда) расскажет вам, какой дистрибутив вы используете. / И т.д. / вопрос это файл, используемый для экрана входа в систему.


38
2017-07-22 19:58



Это единственный, который прибил его мне на общий сервер Media Temple. Благодаря!! - TryTryAgain
Ха, на RedHat, это просто \S[newline]Kernel \r on an \m - ruffin


Ядро: uname -a


19
2017-07-22 19:21



+1. Для подобных систем, например MinGW, для получения информации о версии требуется «-a», например «MINGW32_NT-5.1 LAP065 1.0.17 (0.48 / 3/2) 2011-04-24 23:39 i686 Msys». - Peter Mortensen


lsb_release -a, когда это доступно, полезно.


13
2017-07-22 23:48





cat /etc/os-release

как минимум для Ubuntu, Fedora и OpenSUSE.

Не работает для OS X как минимум до 10.9 (Mavericks). использование sw_vers вместо.

OpenSUSE cat / etc / SuSE-релиз до 13.1, но устарел в пользу os-release.

Redhat 6.1 имеет cat / etc / redhat-release


13
2018-04-02 22:56



DOC: freedesktop.org/software/systemd/man/os-release.html - pevik


cat /proc/version нашел меня Red Hat на общем VPS.


9
2018-06-26 06:59





Ядро: uname -r

дистрибутив: lsb_release -a

Они будут работать на большинстве Linux-систем


4
2018-06-18 17:06





Один лайнер

lsb_release -a && uname -r

3
2018-01-29 14:51



Это может быть более уместным в качестве комментария к ответу Альберта Z. - fixer1234
могучий ответ, чтобы завершить все ответы! Я должен укрепить свои усилия :) - user_balaz