Какие команды показывают версию Ubuntu и Debian, чем она отличается от версии ядра и до какого года система получает обновления.

Подключились по SSH и первым делом хочется понять, какая тут вообще система. Версия нужна почти для всего: найти подходящую инструкцию, выбрать пакет под дистрибутив, понять, не пора ли уходить с системы, для которой уже не выпускают исправления безопасности. Ниже команды, которые работают на Ubuntu и Debian, что именно они показывают и где подвох. Один из них в том, что файл /etc/debian_version на Ubuntu показывает совсем не то, что вы ожидаете.

Коротко. Универсальный способ - cat /etc/os-release: он есть и на Ubuntu, и на Debian, и в нём есть и версия, и кодовое имя. lsb_release -a показывает то же самое в удобном виде, но в минимальных образах его может не быть. Версия ядра (uname -r) - это не версия системы, не путайте. На Debian версия лежит в /etc/debian_version, а на Ubuntu этот файл показывает базу вроде trixie/sid, и по нему версию Ubuntu не определить. Срок обновлений безопасности у Ubuntu 24.04 - до 2029 года, у 22.04 - до середины 2027, у Debian 12 - LTS до середины 2028. Проверить это прямо на сервере можно командой ubuntu-security-status.

Самый надёжный способ: файл /etc/os-release

В /etc/os-release любой современный дистрибутив на systemd записывает о себе всё главное. Файл читают и люди, и скрипты установки, поэтому формат у него стандартный. Выведем его на экран:

cat /etc/os-release

На сервере с Ubuntu 24.04 ответ такой (часть служебных ссылок убрана):

Как это читать. VERSION_ID - номер версии, то, что вы ищете. VERSION_CODENAME - кодовое имя (noble у Ubuntu 24.04), оно нужно, когда в инструкции репозитории подписаны именами, а не номерами. ID - сам дистрибутив, а ID_LIKE=debian говорит, что Ubuntu построена на Debian и команды из мира Debian обычно подходят.

На Debian тот же файл выглядит похоже (пример для Debian 12, на живом сервере не запускали):

lsb_release и hostnamectl: то же самое, но удобнее глазу

lsb_release -a раскладывает версию по строчкам. Команда есть не везде: в совсем минимальных образах пакета lsb-release может не быть, тогда выручает os-release.

lsb_release -a

hostnamectl полезна тем, что показывает сразу и систему, и ядро, и архитектуру, и тип виртуализации. Это удобно, когда нужно скопировать в тикет или в вопрос на форуме всё одним куском:

hostnamectl

Debian: файл /etc/debian_version и подвох на Ubuntu

На Debian точная версия лежит в /etc/debian_version, и вместе с номером выпуска там указан промежуточный релиз вроде 12.5. Иногда это единственный файл, который под рукой в урезанном контейнере:

cat /etc/debian_version

А вот на Ubuntu этот файл показывает не версию Ubuntu, а то, от какой ветки Debian она произошла. На нашем сервере с Ubuntu 24.04 ответ такой:

trixie/sid

Если принять это за версию системы, можно подобрать не те пакеты и не те инструкции. Правило простое: Ubuntu смотрим по /etc/os-release или lsb_release, Debian - по любому из трёх способов.

Версия ядра - это не версия системы

Ещё одна частая путаница. Ядро - это сердце системы, но у него своя нумерация, и обновляется оно отдельно:

uname -r
6.8.0-35-generic

Здесь 6.8.0 - версия ядра Linux, 35 - сборка от Ubuntu, generic - вариант ядра. Версия системы при этом 24.04. Новое ядро может прийти обычным обновлением, а сама система останется той же. Когда в статье или в логах пишут «обновитесь до ядра 6.x», речь не про смену Ubuntu.

До какого срока версия получает обновления безопасности

Узнали версию - теперь главный вопрос: живая она или уже нет. Для серверов в интернете это не формальность: на системе без исправлений безопасности известные дыры остаются открытыми навсегда.

У Ubuntu LTS (это версии «с долгой поддержкой» - четные годы, апрель, например 22.04 и 24.04) бесплатные обновления безопасности идут пять лет. Дальше можно продлить их платной или персональной подпиской Ubuntu Pro (ESM), но по умолчанию сервер уже не защищён.

Версия Ubuntu

Вышла

Бесплатные обновления безопасности до

С подпиской Ubuntu Pro (ESM) до

18.04

апрель 2018

май 2023

апрель 2028

20.04

апрель 2020

май 2025

апрель 2030

22.04

апрель 2022

июнь 2027

апрель 2032

24.04

апрель 2024

май 2029

апрель 2034

26.04

апрель 2026

май 2031

апрель 2036

У Debian две ступени: сначала обычная поддержка командой безопасности Debian, потом дополнительный период LTS силами сообщества.

Версия Debian

Вышла

Обычная поддержка до

LTS до

10 (buster)

июль 2019

сентябрь 2022

июнь 2024

11 (bullseye)

август 2021

август 2024

август 2026

12 (bookworm)

июнь 2023

июль 2026

июнь 2028

13 (trixie)

август 2025

август 2028

июнь 2030

Данные на 5 октября 2026 года, месяцы приблизительные, точные даты смотрите на официальных страницах Ubuntu и Debian. По таблице видно неприятное: Debian 11 уже вышел из поддержки, а у Ubuntu 20.04 бесплатная защита закончилась в мае 2025.

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

ubuntu-security-status

Нас интересуют две последние строки. Первая говорит, что основной репозиторий защищается до 2029 года. Вторая - что платная подписка к машине не подключена, то есть пакеты из Universe (их часто ставят из-за популярных программ) закрываются только на время бесплатного периода.

Как узнать, что вышла новая версия, и что с этим делать

Проверить, есть ли куда обновляться, можно без запуска самого обновления:

do-release-upgrade -c

Ключ -c только проверяет. Он ничего не ставит и ничего не меняет. Видите это сообщение на своём сервере - значит, новая LTS-версия уже есть. Но спешить с обновлением рабочей машины не стоит: смена версии Ubuntu - это перенастройка конфигов, возможная ломка сторонних репозиториев и перезагрузка. Практичнее так: сделать копию данных, прогнать обновление на тестовом сервере и только потом браться за боевой. Если сервер новый или почти пустой, проще вообще не обновлять систему, а создать новый сервер с актуальной версией и перенести на него данные.

Частые вопросы

Чем версия системы отличается от версии ядра?

Версия системы - это выпуск дистрибутива, например Ubuntu 24.04. Версия ядра - номер самого ядра Linux внутри, например 6.8.0. Ядро обновляется отдельно, и в рамках одной версии системы оно может меняться несколько раз.

Как узнать версию Debian, если нет lsb_release?

Выведите /etc/os-release или /etc/debian_version. Оба файла лежат в системе всегда, им не нужны дополнительные пакеты.

Что значит LTS?

Long Term Support - версия с долгой поддержкой. У Ubuntu LTS выходит раз в два года в апреле, и получает бесплатные обновления безопасности пять лет. Для сервера выбирают именно такие версии.

Что делать, если версия уже не получает обновления?

Планировать переезд на актуальную LTS. До этого - не открывать наружу лишние порты, держать фаервол и не ставить на такой сервер ничего важного. Самый чистый путь - создать новый сервер с современной системой и перенести данные.

Итог

  • Версию системы показывает cat /etc/os-release на Ubuntu и на Debian.
  • lsb_release -a и hostnamectl - то же самое, но удобнее читать и копировать.
  • На Ubuntu /etc/debian_version показывает базу вроде trixie/sid, а не версию Ubuntu.
  • Версия ядра (uname -r) и версия системы - разные вещи.
  • Срок поддержки смотрим в таблицах или командой ubuntu-security-status. Если версия вышла из поддержки, пора планировать переезд.
  • Новую версию проверяет do-release-upgrade -c, но обновлять боевой сервер сразу не стоит.