Руководство по определению версии Linux
Каждый системный администратор должен уметь быстро и точно определять версию Linux-дистрибутива. Это важно для:
- Обновления системы
- Устранения неисправностей
- Совместимости ПО
- Документирования инфраструктуры
В этой статье разберём все основные команды, их различия и лучшие практики использования.
1. Стандартные команды для определения дистрибутива
1.1. hostnamectl (рекомендуемый способ)
Почему лучше?
- Встроен в systemd (есть почти везде)
- Показывает не только ОС, но и ядро, архитектуру, hostname
Пример:
Вывод:
Operating System: Ubuntu 22.04.3 LTS
Kernel: Linux 5.15.0-78-generic
Architecture: x86-64
Фильтрация вывода:
hostnamectl | grep "Operating System" # Только ОС
hostnamectl | grep "Kernel" # Только ядро
1.2. lsb_release (классический метод для Debian/Ubuntu)
Плюсы:
- Чётко показывает дистрибутив и кодовое имя
- Есть почти во всех Debian-based системах
Пример:
lsb_release -a
Вывод:
Description: Ubuntu 22.04.3 LTS Release: 22.04 Codename: jammy
Короткие варианты:
lsb_release -c # Кодовое имя (jammy, focal, bullseye)
1.3. Чтение файлов /etc/*-release
Когда использовать?
- Если hostnamectl и lsb_release недоступны (минимальные дистрибутивы)
Команды:
Пример (/etc/os-release):
NAME="Ubuntu" VERSION="22.04.3 LTS (Jammy Jellyfish)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 22.04.3 LTS"
2. Дополнительные методы
2.1. uname – информация о ядре
Вывод:
Опции:
- uname -r – только версия ядра
- uname -m – архитектура (x86_64, arm64)
2.2. neofetch (красивый вывод)
Установка:
Запуск:
Вывод (графический, с логотипом дистрибутива):

Kernel: 5.15.0-136-generic
Uptime: 27 days, 18 hours, 26 mins
Packages: 634 (dpkg)
Shell: bash 5.1.16
Resolution: 1024×768
Terminal: /dev/pts/0
CPU: AMD EPYC 9454P (1) @ 2.749GHz
GPU: 00:02.0 Cirrus Logic GD 5446
Memory: 313MiB / 956MiB
3. Сравнение команд
| Команда | Лучше всего подходит для | Показывает ядро? | Требует установки? |
|---|---|---|---|
| hostnamectl | Любой systemd-дистр. | ✅ Да | ❌ Нет (встроен) |
| lsb_release -a | Debian/Ubuntu | ❌ Нет | ❌ Нет (обычно есть) |
| cat /etc/os-release | Минимальные дистры | ❌ Нет | ❌ Нет |
| uname -a | Проверка ядра | ✅ Только ядро | ❌ Нет |
| neofetch | Красивый вывод | ✅ Да | ✅ Да (устанавливается) |