- Как узнать версию Linux
- Скользящие или фиксированные релизы
- Как узнать версию Linux?
- Узнать дистрибутив
- Узнать версию ядра
- Как узнать архитектуру компьютера
- Выводы
- Как определить версию Linux?
- Дополнительные способы определения
- Системы управления пакетами в Linux
- Проверка версии CentOS/RHEL
- Проверка версии Debian, Mint и Ubuntu
- Проверка версии Arch
- Проверка системных параметров
- Проверка системной архитектуры и версии ядра
- Проверка архитектуры ЦПУ
- Как узнать установленную версию Linux?
- Как узнать версию Linux из консоли?
- How do I find out what version of Linux I’m running?
- 9 Answers 9
Как узнать версию Linux
Когда вы сами устанавливали систему и все настраивали, то точно знаете какой дистрибутив у вас установлен, какая версия и какая версия ядра. Но совсем другая ситуация, когда вы покупаете VPS или пытаетесь настроить компьютер другу или знакомому с Linux. Довольно часто может возникнуть вопрос как узнать версию Linux потому что эта информация часто очень важна. Например, уязвимости в программном обеспечении часто затрагивают только определенные релизы.
В этой небольшой статье мы поговорим о том как посмотреть версию Linux через терминал и какие утилиты для этого используются и в каких конфигурационных файлах можно найти интересующую нас информацию.
Скользящие или фиксированные релизы
Все активные дистрибутивы Linux выпускают новые релизы, только все по-разному. Конечно, дистрибутивы обновляются и между релизами, но пользователям привычен такой порядок, что обновления релиза получают только исправления безопасности и ошибок, а все новые возможности выпускаются новым релизом. Но существуют и другие пути. Сейчас есть два способа выпуска релизов:
Эти способы работают немного по-разному и вам нужно понимать это прежде чем мы перейдем к версии Linux. Скользящие релизы не имеют точек выпуска нового релиза, новые возможности, исправления и улучшения постоянно добавляются в официальный репозиторий и их получают пользователи. Такой подход используется в ArchLinux, Gentoo и OpenSUSE Thumbleweed. Поэтому у таких дистрибутивов нет версий, они всегда имеют самую новую версию после того, как было выполнено обновление пакетов. Но у них есть минус — это более низкая стабильность по сравнению с фиксированными релизами, которые можно хорошо протестировать.
Фиксированные релизы используются в Ubuntu. Каждые 6 месяцев выходит новый релиз, поэтому тут есть четкое разделение на версии, новая версия дистрибутива Linux получает новое программное обеспечение, а затем на протяжении всего термина поддержки получает обновления безопасности.
Как узнать версию Linux?
На самом деле для этого есть очень много методов, начиная от общих признаков и до открыть файл и точно посмотреть версию и имя дистрибутива. Рассмотрим только самые популярные из них.
Узнать дистрибутив
Прежде всего давайте узнаем имя дистрибутива и его версию если это возможно. Для этого будем смотреть содержимое файлов в папке /etc/, которые заканчиваются на release:
В Ubuntu утилита выведет содержимое двух файлов /etc/lsb-release и /etc/os-release. В них будет содержаться исчерпывающая информация о имени дистрибутива и версии его релиза:
Но если мы выполним ту же команду в ArchLinux то получим совсем другой результат:
Тут уже нет версии, есть только имя дистрибутива, поскольку ArchLinux использует систему скользящих релизов. Немного меньше, но почти всю ту же информацию можно получить используя команду lsb_release:
Также очень часто вы можете узнать имя дистрибутива посмотрев пункт «О программе» для любого системного приложения или лучше утилиты «Настройки»:
И еще один способ увидеть версию дистрибутива в основанных на Debian системах — посмотреть информацию о сборке пакета:
Узнать версию ядра
Во многих случаях нам нужна не столько версия дистрибутива linux, сколько версия ядра, которое в нем используется. Для просмотра этой информации тоже есть несколько команд:
У меня используется версия ядра 4.8.0-59, тут же мы видим архитектуру системы — x86_64. Обозначение SMB означает, что ядро поддерживает многоядерные процессоры или несколько процессоров. Но мы можем узнать ту же информацию, посмотрев содержимое файла /proc/version:
А еще можно посмотреть строку параметров запуска ядра, она тоже содержит версию:
Есть еще несколько файлов с подобной информацией:
Как узнать архитектуру компьютера
Вы уже знаете как узнать версию Linux, имя дистрибутива и ядро, архитектура уже проскальзывала в командах выше, но существует отдельная команда, которая выводит только архитектуру:
Для этих же целей можно использовать uname:
Выводы
Теперь вы знаете как посмотреть версию Linux. Как видите, в Linux достаточно много способов для решения этой задачи. Надеюсь, эта информация была полезной для вас.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Как определить версию Linux?
Линукс — как много в этом слове эмоциональной и смысловой нагрузки. А как много разных дистрибутивов входят в это семейство И частенько требуется понять, какая конкретно версия установлена и этому помогает пакет systemd, который в настоящее время имплементирован во многие дистрибутивы.
Самый простой способ проверить версию Linux это просто использовать hostnamectl команду без каких-либо аргументов. Эта команда возвращает название дистрибутива, версию и кодовое название вместе с конкретной версией ядра.
Довольно распространенной ошибкой является называть все семейство GNU/Linux систем просто Linux-ом. Важный момент в том, что Linux — это только ядро, а GNU — непосредственно сама система в виде набора скомпилированных библиотек и системных инструментов. GNU и Linux должны работать в тандеме для того, чтобы операционная система корректно работала. Так как одно не может существовать без другого, корректнее называть эту связку GNU/Linux или Lignux.
Дополнительные способы определения
Системы управления пакетами в Linux
Если команда выше вам не помогла, следующим шагом будет проверка установленного пакетного менеджера, так как вероятность, что один из трех пакетных менеджеров все-таки установлен крайне высока.
- rpm — пакетный менеджер для систем RedHat
- dpkg — пакетный менеджер для систем Debian
- pacman — пакетный менеджер для систем Arch
Таким образом, если система использует rpm, то скорее всего у вас используется RHEL, CentOS, Fedora и т.д. Если deb, то скорее всего это Ubuntu, Debian, Mint. И соответственно в случае pacman это будет Arch или Manjaro (и им подобные).Для определения пакетного менеджера нужно ввести команду
$ for i in $( echo rpm dpkg pacman ); do which $i; done 2 /dev/null
В случае deb и rpm она вернет следующее: /usr/bin/dpkg и /bin/rpm соответственно.
Проверка версии CentOS/RHEL
Самый простой способ проверки версии CentOS это чтение файла /etc/centos-release с помощью команды cat /etc/centos-release
В свою очередь для RHEL нужно будет прочитать файл /etc/redhat-release
Команду соответственно меняем:
Думаю логика здесь понятна, для Fedora нужно будет поменять команду на fedora-release — проще некуда.
Проверка версии Debian, Mint и Ubuntu
Для Debian — подобных систем нужно прочесть файл /etc/issue:
Проверка версии Arch
Проверять версию Arch не имеет смысла, так как каждый раз при запуске команды pacman -Suy ваша система автоматически обновляется до последней версии.
Проверка системных параметров
Проверка системной архитектуры и версии ядра
Самый простой и популярный способ определения системной архитектуры и версии ядра Linux это использование команды uname с аргументом -a.
То есть команда будет выглядеть следующим образом:
В выводе будет указана версия ядра и разрядность архитектуры.
Проверка архитектуры ЦПУ
Самым простым и распространенным способом является команда:
Как видно из вывода, вместе с моделью процессора и его частотой также видна его разрядность и еще много различных параметров.
Как узнать установленную версию Linux?
Когда мне надо быстро узнать, какой дистрибутив Linux установлен, я первым делом в консоли пишу команду:
Если у вас есть желание научиться профессионально строить и поддерживать высокодоступные виртуальные и кластерные среды, рекомендую познакомиться с онлайн-курсом Администратор Linux. Виртуализация и кластеризация в OTUS. Курс не для новичков, для поступления нужно пройти вступительный тест.
# lsb_release -a Distributor ID: Debian Description: Debian GNU/Linux 11 (bullseye) Release: 11 Codename: bullseye
В Debian и Ubuntu по умолчанию обычно установлен пакет lsb-core, который содержит эту утилиту. В rpm дистрибутивах не всегда, поэтому там приходится проверять варианты:
Если не помогает ни то, ни другое, значит у вас какой-то специфичный дистрибутив и начать расследование стоит с команды uname.
Она покажет архитектуру процессора и версию ядра. В ней же может быть и упоминание названия системы, например, Debian, но без указания конкретной версии, что не удобно, поэтому сначала использую lsb_release.
На Centos и её клонах по выводу uname -a можно по косвенным признаками понять, какая конкретно система установлена. Например, в Centos 7 версия ядра Linux будет примерно такая:
Это намекает на 7-ю версию Centos.
Что тоже может указывать на версию системы, хотя тут уже становится трудно ориентироваться. Лично я не знаю, что значит дополнение uek в имени ядра.
Для всех дистрибутивов с systemd самый простой и быстрый способ определить версию системы Linux, это воспользоваться встроенной командой hostnamectl:
# hostnamectl Static hostname: servername Icon name: computer-vm Chassis: vm Machine ID: 3cdf45d116364add90df898f553e5665 Boot ID: 78b3a582a5914eeebe5407fc50726ce1 Virtualization: microsoft Operating System: Debian GNU/Linux 11 (bullseye) Kernel: Linux 5.10.0-16-amd64 Architecture: x86-64
А вы как определяете версию Linux? Может есть способ проще и быстрее? И универсальный для всех систем.
Как узнать версию Linux из консоли?
Для получения версии Linux на хосте я чаще всего использую команду:
Эта команда входит в пакет lsb-core, который по-умолчанию установлен в Ubuntu и Debian. Поэтому она не является универсальной.
В rpm дистрибутивах Linux (RHEL, CentOS, Rocky/Oracle Linux) имя дистрибутива можно узнать так:
CentOS Linux release 7.9.2009 (Core)
В менее распространённых дистрибутивах Linux можно вывести архитектуру процессора и версию ядра с помощью команда uname:
В выводе этой команды также содержится и версия дистрибутива Linux.
Как вы видите, для определения версии Linux в разных дистрибутивах используются разные команды.
В версиях Linux с systemd (большинство современных дистрибутивов), чтобы узнать версию ОС можно использовать универсальную команду:
Static hostname: appubnt1 Icon name: computer-vm Chassis: vm Machine ID: xxxxxxxxxxxxxxxxxxx Boot ID: xxxxxxxxxxxxxxxxxxxxxx Virtualization: vmware Operating System: Ubuntu 22.04.1 LTS Kernel: Linux 5.15.0-56-generic Architecture: x86-64 Hardware Vendor: VMware, Inc. Hardware Model: VMware Virtual Platform
Она одинаково работает на всех платформах. Кроме того, вы сразу видите на какой платформе запущена Linux: контейнер, ВМ или железо
How do I find out what version of Linux I’m running?
Is there a way to determine what version (distribution & kernel version, I suppose) of Linux is running (from the command-line), that works on any Linux system?
I’d just like to point out for the record how stupid it is that this is a question which needs asking. This is really quite an indictment on the state of every linux distro.
9 Answers 9
The kernel is universally detected with uname :
$ uname -or 2.6.18-128.el5 GNU/Linux
There really isn’t a cross-distribution way to determine what distribution and version you’re on. There have been attempts to make this consistent, but ultimately it varies, unfortunately. LSB tools provide this information, but ironically aren’t installed by default everywhere. Example on an Ubuntu 9.04 system with the lsb-release package installed:
$ lsb_release -irc Distributor ID: Ubuntu Release: 9.04 Codename: jaunty
Otherwise, the closest widely-available method is checking /etc/something-release files. These exist on most of the common platforms, and on their derivatives (i.e., Red Hat and CentOS).
$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=9.04 DISTRIB_CODENAME=jaunty DISTRIB_DESCRIPTION="Ubuntu 9.04"
But Debian has /etc/debian_version :
$ cat /etc/debian_version 5.0.2
Fedora, Red Hat and CentOS have:
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
I don’t have a SUSE system available at the moment, but I believe it is /etc/SuSE-release .
Slackware has /etc/slackware-release and/or /etc/slackware-version .
Mandriva has /etc/mandriva-release .
For most of the popular distributions then,
will most often work. Stripped down and barebones «server» installations might not have the ‘release’ package for the distribution installed.
Additionally, two 3rd party programs you can use to automatically get this information are Ohai and Facter.
Note that many distributions have this kind of information in /etc/issue or /etc/motd , but some security policies and best practices indicate that these files should contain access notification banners.