У Linux-системы две разные «версии»: версия ядра и версия дистрибутива. Ядро общее для всех дистрибутивов, а Ubuntu, Debian, Fedora или Rocky Linux - это сборки вокруг него со своими номерами выпусков. Для установки программ обычно нужна версия дистрибутива, для драйверов и диагностики - версия ядра.
Версия дистрибутива
Самый надёжный способ, работающий почти везде:
cat /etc/os-release
Вывод выглядит так (в угловых скобках - то, что будет у вашей системы):
PRETTY_NAME="<Название> <версия>"
NAME="<Название>"
VERSION_ID="<версия>"
VERSION="<версия> (<кодовое имя>)"
VERSION_CODENAME=<кодовое имя>
ID=<идентификатор дистрибутива>
ID_LIKE=<семейство, например debian>
Строка PRETTY_NAME - название для человека, VERSION_ID - номер выпуска, ID_LIKE - семейство, к которому относится дистрибутив. Последнее полезно, когда инструкция написана для Debian или RHEL, а у вас производный дистрибутив.
В системах с systemd то же самое и немного больше покажет:
hostnamectl
В выводе есть строки Operating System, Kernel и Architecture, то есть сразу дистрибутив, ядро и разрядность.
Команда lsb_release знакома по старым инструкциям:
lsb_release -a
Она есть не во всех системах: в некоторых дистрибутивах её нужно ставить отдельным пакетом. Если команда не найдена, используйте /etc/os-release.
Файлы конкретных семейств
В некоторых дистрибутивах есть свои файлы с версией:
cat /etc/debian_version # Debian и производные
cat /etc/redhat-release # RHEL, Rocky Linux, AlmaLinux, Fedora
cat /etc/alpine-release # Alpine Linux
Если не знаете, что за система перед вами, выведите все такие файлы разом:
cat /etc/*release
В Ubuntu файл /etc/debian_version показывает версию Debian, на которой основан выпуск, а не номер самой Ubuntu. Не путайте.
Версия ядра

uname -r
Вывод вида X.Y.Z-NN-generic: первые три числа (X.Y.Z) - версия ядра, дальше - номер сборки дистрибутива и вариант ядра.
Полная информация:
uname -a
Здесь имя компьютера, версия и дата сборки ядра, архитектура. Ещё один источник - файл /proc/version, где также указан компилятор, которым собрано ядро.
Установленные, но не загруженные ядра (например, после обновления без перезагрузки) показывают пакетные менеджеры:
dpkg --list | grep linux-image # Debian, Ubuntu
rpm -q kernel # RHEL и родственные
Если установлено ядро новее, чем показывает uname -r, система ждёт перезагрузки.
Разрядность и архитектура
uname -m
x86_64- 64-разрядная система на процессорах Intel и AMD;i686илиi386- 32-разрядная;aarch64- 64-разрядная ARM (одноплатные компьютеры, серверы на ARM, компьютеры с ARM-процессорами);armv7l- 32-разрядная ARM.
Другие способы:
getconf LONG_BIT # 32 или 64
dpkg --print-architecture # amd64, arm64, i386 (Debian, Ubuntu)
Последняя команда показывает архитектуру пакетов, и именно её нужно знать, когда скачиваете .deb вручную.
В контейнере и на удалённом сервере
В Docker-контейнере uname -r покажет ядро хост-системы: у контейнера нет своего ядра. Версию образа при этом покажет /etc/os-release внутри контейнера.
На удалённой машине команду можно выполнить сразу через SSH:
ssh user@server 'cat /etc/os-release; uname -r'
Графический способ
В большинстве окружений рабочего стола версия есть в настройках: в GNOME - «Настройки» → «О системе», в KDE Plasma - «Параметры системы» → «О системе» (или программа «Информация о системе»). Там же обычно указаны ядро и разрядность.





😁