Linux

Как узнать версию ядра Linux: 4 проверенных способа для терминала

Узнайте, как быстро проверить текущую версию ядра Linux с помощью терминала. Гайд охватывает основные команды для любых дистрибутивов.

Обновлено 6 апреля 2026 г.
3-5 мин
Низкая
FixPedia Team
Применимо к:Ubuntu 20.04/22.04/24.04+Debian 11+CentOS/RHEL 8+Fedora 36+

Введение / Зачем это нужно

Знание точной версии ядра Linux необходимо при установке проприетарных драйверов, настройке контейнеров или поиске решений для аппаратных конфликтов. Разработчики софта часто указывают минимальные требования к ядру (например, 5.10+ для поддержки Btrfs-фич или новейших Wi-Fi модулей). Без этих данных установка драйверов dkms или обновление пакетов безопасности может завершиться ошибкой совместимости. Этот гайд покажет, как получить информацию за несколько секунд без установки дополнительных утилит.

Требования / Подготовка

  • Доступ к эмулятору терминала (GNOME Terminal, Konsole, xterm и др.).
  • Права обычного пользователя достаточно. Повышенные привилегии (sudo) потребуются только для одного из методов.
  • Статья протестирована на дистрибутивах с ядрами серии 4.x, 5.x и 6.x. Синтаксис команд универсален.

Шаг 1: Используйте команду uname

Самый быстрый и стандартный способ — утилита uname. Она запрашивает системные вызовы ядра и возвращает их в читаемом виде.

uname -r

Команда выведет только номер релиза, например 6.8.0-45-generic. Этого достаточно для поиска драйверов или проверки требований ПО.

💡 Совет: Если нужно увидеть архитектуру процессора и полное имя хоста, выполните uname -a. Для проверки только архитектуры используйте uname -m.

Шаг 2: Проверьте файл /proc/version

Псевдофайловая система /proc хранит метаданные работающей ОС в реальном времени. Чтение этого файла покажет не только версию, но и информацию о компиляторе, который использовался при сборке ядра.

cat /proc/version

Вывод будет содержать строку вида Linux version 6.5.0-41-generic (buildd@lcy02-amd64-010) (gcc-13 (Ubuntu 13.2.0-4ubuntu3) 13.2.0, GNU ld (GNU Binutils for Ubuntu) 2.41) #41-Ubuntu SMP PREEMPT_DYNAMIC. Первые цифры после version — ваша текущая сборка.

Шаг 3: Воспользуйтесь утилитой hostnamectl

В современных дистрибутивах с systemd эта утилита собирает и отображает системные метаданные. Она удобна для администраторов серверов, так как выводит данные в структурированном виде.

hostnamectl | grep Kernel

Результат будет выглядеть так: Kernel: Linux 6.5.0-41-generic. Метод не требует парсинга строк и сразу отдает чистое значение.

Шаг 4: Извлеките данные из dmesg (альтернативный метод)

Если стандартные утилиты по какой-то причине отсутствуют в минималистичной сборке, можно обратиться к журналу загрузки ядра.

sudo dmesg | grep "Linux version"

⚠️ Важно: Для чтения буфера dmesg в новых дистрибутивах могут потребоваться права root. Строка выводит сообщение, которое ядро печатает при инициализации системы, поэтому оно точно соответствует загруженному релизу.

Проверка результата

Сравните полученный номер с документацией устанавливаемого ПО. Обратите внимание на цифры до первого дефиса (например, 6.5.0). Это основная ветка ядра. Если она совпадает с требованиями разработчика, вы можете безопасно приступать к компиляции модулей или обновлению пакетов. Для архивирования информации перенаправьте вывод в файл: uname -r > ~/kernel_version.txt.

Возможные проблемы

  • command not found: Убедитесь, что используете стандартный bash или zsh. В экстремально урезанных средах (например, BusyBox) команды могут иметь ограниченный синтаксис. В этом случае используйте cat /proc/version.
  • Несоответствие версии в контейнере: В Docker или LXC uname -r покажет версию ядра хостовой машины, так как контейнеры используют общее ядро ОС. Это архитектурное ограничение, а не ошибка.
  • Ошибка доступа к dmesg: Если dmesg возвращает Permission denied, система ограничила чтение буфера ядра для обычных пользователей. Запустите команду с sudo или используйте journalctl -k | head -n 20.

Часто задаваемые вопросы

Можно ли узнать версию ядра без доступа к терминалу?
Влияет ли обновление ядра на стабильность системы?
Почему команды показывают разные номера версий?
Как проверить, использует ли система 32-битное или 64-битное ядро?

Полезное

Запустите терминал
Используйте команду uname
Проверьте файл /proc/version
Воспользуйтесь утилитой hostnamectl

Эта статья помогла вам решить проблему?