Как найти версию Ubuntu (номер / имя релиза) из командной строки?

Ответы:

55

Беги lsb_releaseс -aпереключателем.

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 9.04
Release:    9.04
Codename:   jaunty
Нагул
источник
Это работает на любом LSB-совместимом дистрибутиве, верно? Я попробовал это на моей установке Debian 6 (squeeze), и это тоже сработало.
Уоррен П
1
Да. Команда 'lsb_release' взята из базы стандартов Linux. Со страницы руководства; «Команда lsb_release предоставляет определенную информацию LSB (Linux Standard Base) и информацию, относящуюся к распространению».
Иеремия
lsb_release -rsпредоставит версию # один
JREAM
8
$ cat /etc/issue
Ubuntu 8.10 \n \l
CoverosGene
источник
5
Стоит помнить, что администратор может отредактировать / etc / issue для создания другого приветственного сообщения.
Dentrasi
Это полезный запасной вариант в системах, не совместимых с LSB. Так что / etc / debian_version (если есть) - это дистрибутив на основе Debian. Я не знаю, оставляет ли Ubuntu файл debian_version или создает файл / etc / Ubuntu_version.
Уоррен П
У меня есть образ Docker, которого у меня нет rootи нет lsb_release(а образ Ubuntu, на котором он построен, по-видимому, находится далеко в цепочке зависимостей Docker), это хорошо сработало, чтобы выяснить, в каком Ubuntu он работает, отсутствует lsb_release. Кроме того, FWIW @WarrenP я вижу /etc/debian_versionна этой (виртуальной) машине
MichaelChirico
0

sourcefrom /etc/lsb-releaseэкспортировать переменные информации о версии в вашу оболочку:

$ . /etc/lsb-release

Содержит следующие переменные

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04 LTS"
Адам Гриффитс
источник
Вы не должны использовать /etc/lsb-releaseнапрямую. Спецификация требует от вас запроса с помощью lsb_releaseкоманды, которая может запрашивать другие источники информации.
Michał Górny
Я считаю это подходящим ответом, пока кто-то не потрудится написать команду, которая проходит через lsb_releaseкоманду и извлекает ее.
Адам Гриффитс
1
У меня не установлен пакет lsb_release, и я не sudo. Это было полезно для меня!
Эрик М. Шпренгель
-3

$ uname -a

Linux Debian 2.7.30-1-686 # 1 SMP Чт 8 мая 02:16:39 UTC 2008 i686 GNU / Linux


uname -a anaylsis:

Linux: это имя ядра.

debian: это имя хоста машины.

2.7.30-1-686: версия ядра

1 SMP Чт 8 мая 02:16:39 UTC 2008: SMP означает симметричную многопроцессорность, обозначая, что ЦП (центральный процессор) использует два или более ЦП и текущую системную дату.

i686: это архитектура процессора

GNU / Linux: это ОС

зарегистрированный
источник
8
-1, uname не говорит вам версию Ubuntu. lsb_release - это путь.
ThatGraemeGuy