SSD Nodes Learn Hosting plans →
Руководства Matt ConnorАвтор: Matt Connor

Что такое LTS: Ubuntu, Debian, Node.js, Java и ядро

LTS означает обещание конкретной команды исправлять одну версию в течение заявленного срока. Разбираем, кто даёт его в Ubuntu, Debian, ядре Linux, Node.js и Java.

Что такое LTS, если коротко

LTS (long-term support, долгосрочная поддержка) означает обещание конкретной стороны переносить исправления безопасности и ошибок в одну выпущенную версию в течение заявленного срока. Обещание всегда даёт кто-то с именем: Canonical для Ubuntu, команда Debian LTS, мейнтейнеры longterm-веток ядра на kernel.org, проект Node.js. Поэтому к метке LTS полезно задавать одни и те же вопросы: кто обещает, на какой срок, что входит в обещание и сколько оно стоит.

Сама по себе метка ничего не гарантирует. У Ubuntu LTS и у Node.js LTS разные авторы и разные сроки. У Debian stable метки LTS нет, хотя срок поддержки у выпуска есть. У Python и PostgreSQL метки тоже нет, зато у каждой версии есть дата конца поддержки. Ниже разобрано, как это устроено в программах, которые обычно стоят на VPS.

Четыре вопроса к любой метке LTS

  1. Кто обещает. Компания, команда добровольцев или коммерческий подрядчик. От этого зависит, к кому идти, если исправление не вышло.
  2. На какой срок. Срок обычно считают от выхода версии, и он часто разделён на фазы. Сначала исправляют все заметные ошибки, потом только уязвимости.
  3. Что входит. Все пакеты или только часть репозитория. Все уязвимости или только критические и высокие.
  4. Сколько стоит. Базовое окно обычно бесплатное, а продление часто продаётся по подписке.

Ответ на эти вопросы лежит на официальной странице проекта. Пересказ в блоге или на форуме быстро устаревает, потому что сроки поддержки иногда продлевают, а планы меняют.

Сроки поддержки рядом, на одном графике

Числа ниже взяты с официальных страниц проектов. Это разные виды обещаний, поэтому сравнивайте их осторожно. У ядра указан только стартовый прогноз. У Java указан минимум, который обещает конкретный поставщик сборок.

ГрафикОкно поддержки одной версии, в годах (по официальным страницам)
Данные, на которых построен график
[
  {
    "label": "Ubuntu LTS: \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430",
    "lifespan": 5
  },
  {
    "label": "Ubuntu LTS \u0441 ESM (Ubuntu Pro)",
    "lifespan": 10
  },
  {
    "label": "Ubuntu Pro \u0441 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435\u043c Legacy",
    "lifespan": 15
  },
  {
    "label": "Debian: \u043f\u043e\u043b\u043d\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0438 LTS",
    "lifespan": 5
  },
  {
    "label": "Debian \u0441 ELTS \u043e\u0442 Freexian",
    "lifespan": 10
  },
  {
    "label": "\u042f\u0434\u0440\u043e longterm: \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0433\u043d\u043e\u0437",
    "lifespan": 2
  },
  {
    "label": "Node.js: \u0444\u0430\u0437\u0430 LTS",
    "lifespan": 2.5
  },
  {
    "label": "Java LTS \u0443 Adoptium, \u043c\u0438\u043d\u0438\u043c\u0443\u043c",
    "lifespan": 4
  },
  {
    "label": "Java LTS \u0443 Azul, \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u0431\u0435\u0437 Extended",
    "lifespan": 8
  },
  {
    "label": "Python: \u043e\u0434\u043d\u0430 \u0432\u0435\u0440\u0441\u0438\u044f",
    "lifespan": 5
  },
  {
    "label": "PostgreSQL: \u043e\u0434\u043d\u0430 \u043c\u0430\u0436\u043e\u0440\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f",
    "lifespan": 5
  }
]

Самое длинное окно на графике платное: Ubuntu Pro с дополнением Legacy даёт 15 лет. Самое короткое у ядра: новая longterm-ветка обычно стартует с прогнозом около 2 лет. Чаще всего встречается срок в пять лет на одну версию: так у стандартной поддержки Ubuntu, у Debian, у Python и у PostgreSQL. Но приходят они к этой цифре разными путями.

Ubuntu LTS: стандартная поддержка и ESM через Ubuntu Pro

Canonical выпускает LTS-версию Ubuntu раз в два года. Каждая получает 5 лет стандартной поддержки безопасности. Страница жизненного цикла описывает это окно как исправления CVE (Common Vulnerabilities and Exposures, общий публичный каталог уязвимостей) для пакетов из репозитория Main. Если важный для вас пакет пришёл из другого репозитория, например из Universe, проверьте отдельно, кто и как его исправляет.

Чем LTS отличается от промежуточных выпусков, здесь не повторяем. Это подробно разобрано в статье LTS или промежуточный выпуск Ubuntu для сервера.

После стандартного окна начинается ESM (Expanded Security Maintenance, расширенная поддержка безопасности). ESM входит в подписку Ubuntu Pro и продлевает жизнь LTS-версии до 10 лет. Дополнение Legacy добавляет ещё пять лет, итого 15 лет. В Ubuntu Pro также входит Livepatch: установка исправлений высоких и критических уязвимостей ядра без перезагрузки. Как это устроено на виртуальном сервере, описано в статье живые патчи ядра на VPS.

Есть деталь в формулировках, которую стоит знать. Страница жизненного цикла Ubuntu говорит, что ESM даёт исправления для репозитория Main. Страница Ubuntu Pro описывает ESM шире: исправления критических, высоких и части средних уязвимостей по всему архиву Ubuntu. Если для вас важен конкретный пакет, ориентируйтесь на страницу Ubuntu Pro и ищите его там по имени.

Теперь о цене. Страница Ubuntu Pro обещает бесплатное использование для личных целей на машинах числом до пяти и называет их физическими. Считается ли ваш VPS такой машиной, уточните у Canonical до того, как на это рассчитывать. Цены для серверов опубликованы на странице тарифов Ubuntu Pro. Цифры там меняются, поэтому мы их не повторяем. Как подключить подписку и что она даёт серверу, разобрано в статье Ubuntu Pro на сервере: что входит и как подключить.

У ядра в Ubuntu LTS есть свой выбор: базовая ветка выпуска или более новая ветка HWE. Сроки поддержки у них разные, поэтому прочитайте, чем ядро HWE отличается от GA на Ubuntu Server, прежде чем переключаться. Когда стандартное окно вашей версии подходит к концу, есть два пути: подписка на ESM или переход на следующую LTS. Порядок перехода показан в статье обновление Ubuntu 24.04 до 26.04.

Debian: у stable нет метки LTS, но срок поддержки есть

Debian описывает жизненный цикл выпуска так: всего пять лет, из них первые три года полной поддержки, затем два года LTS. Сам выпуск stable меткой LTS не называют. Метка относится к последним двум годам и к людям, которые их обеспечивают.

Важно, кто именно отвечает за эти два года. Debian LTS устроен как отдельный проект. Его ведут добровольцы и компании, а не команды безопасности и выпусков Debian. Wiki проекта прямо пишет, что число нормально поддерживаемых пакетов зависит от того, сколько поддержки получает команда LTS. Список архитектур процессора на wiki.debian.org/LTS тоже указан для каждого выпуска отдельно. Поэтому в фазе LTS проверяйте две вещи: входит ли туда ваш пакет и ваша архитектура.

После LTS есть ELTS (Extended LTS, расширенная LTS). Это коммерческое предложение компании Freexian, а не официальный проект Debian. ELTS продлевает жизнь выпуска Debian до 10 лет. Freexian старается оставлять обновления бесплатными для частных пользователей и небольших некоммерческих организаций. Однако список пакетов определяют организации, которые оплачивают подписку, поэтому нужный вам пакет может в него не попасть.

Статус выпусков смотрите на двух страницах: debian.org/releases и wiki LTS. Сразу после смены фазы они иногда расходятся в подписи «текущий». В этом случае опирайтесь на даты окончания в таблицах, а не на подпись. Если вы выбираете между ветками Debian для сервера, начните со статьи stable, testing и unstable: что ставить на сервер. Если ваш выпуск уже вышел из LTS, порядок действий описан в статье конец поддержки Debian 11 и путь обновления.

Ядро Linux: longterm-ветки на kernel.org

У ядра Linux метка называется longterm. В таблице longterm-веток на kernel.org для каждой ветки указаны мейнтейнеры, Greg Kroah-Hartman и Sasha Levin. Новая longterm-ветка обычно стартует с прогнозом конца поддержки через 2 года. Срок продлевают, если интерес индустрии к ветке достаточно велик. Сама страница kernel.org предупреждает, что прогнозные даты не окончательные. Поэтому дата EOL (end of life, конец поддержки) у ветки ядра остаётся прогнозом, пока она не наступила.

Здесь легко ошибиться. Ядро из пакетов дистрибутива собирает и сопровождает сам дистрибутив, и сроки для этого пакета указаны на странице дистрибутива. Дата на kernel.org относится к исходной ветке, а не к пакету в вашей системе.

Проверить версию ядра можно командой uname -r. Но в контейнере её ответ легко понять неправильно. Документация Docker прямо пишет: все контейнеры на одном хосте делят одно ядро, а у каждой виртуальной машины ядро своё. Поэтому uname -r внутри контейнера показывает ядро хоста, а не ядро того дистрибутива, из которого собран образ. Убедитесь сами: запустите команду на хосте и внутри любого контейнера и сравните вывод.

Node.js LTS: старая модель и новая

Чаще всего слово LTS встречают на странице загрузки nodejs.org: там рядом с одной из версий стоит пометка LTS. Эта пометка значит, что версия уже прошла фазу Current и вошла в фазу долгосрочной поддержки. По словам проекта, LTS обычно гарантирует исправление критических ошибок в течение 30 месяцев. Сама фаза LTS делится на две части: Active LTS и Maintenance LTS. Для рабочих приложений проект советует использовать только эти две фазы.

Старая модель, до Node.js 26 включительно. Каждая мажорная версия сначала полгода находится в фазе Current. Потом нечётные версии (например, 23 и 25) просто перестают поддерживаться. Чётные версии (например, 22 и 24) переходят в Active LTS. Значит, нечётная версия Node.js на сервере старой модели живёт всего около полугода, и после этого исправления для неё больше не выходят.

Новая модель, начиная с Node.js 27. Проект переходит к годовому циклу: одна мажорная версия в год, выпуск в апреле и перевод в LTS в октябре. Деления на чётные и нечётные больше нет, LTS становится каждая версия. Перед фазой Current появляется фаза Alpha длиной шесть месяцев. Дальше идут шесть месяцев Current и 30 месяцев LTS. Итого 36 месяцев от первого выпуска Current до конца поддержки. Номер версии будет следовать календарному году выпуска Current. По опубликованному плану Node.js 27 выходит в апреле 2027 года, переходит в LTS в октябре 2027 года, а поддержка заканчивается в апреле 2030 года. Сам проект пишет, что график ещё не окончательный и может измениться.

Почему важно знать обе модели: чётные версии до 26-й включительно будут стоять на серверах ещё годы, и для них действуют старые правила. Новые правила относятся только к версиям с 27-й. Проверить свою версию можно командой node --version. Затем найдите её на странице Node.js releases и посмотрите статус и дату окончания.

Java: метку LTS ставит поставщик сборки

Проект OpenJDK выпускает новую функциональную версию Java каждые шесть месяцев по строгому графику. На странице проекта JDK слова LTS нет. Метку и срок назначают поставщики, которые собирают и поддерживают Java.

Например, Adoptium (сборки Eclipse Temurin) с 2021 года назначает LTS одну функциональную версию раз в два года. Каждую LTS-версию Adoptium обещает поддерживать минимум 4 года и продолжает выпускать сборки, пока исходный код активно поддерживается выше по цепочке. Azul считает LTS те же версии, которые так назвали Oracle и сообщество OpenJDK. Для них Azul обещает минимум 8 лет исправлений и ещё два года расширенной поддержки (Extended Support).

Отсюда практический вывод: у одной и той же версии Java у разных поставщиков разные даты окончания поддержки. Командой java -version узнайте версию, а затем выясните, из какого пакета или архива она установлена. Срок поддержки смотрите у этого поставщика. Сроки самой Oracle указаны в её Java SE Support Roadmap на oracle.com.

Python и PostgreSQL: метки LTS нет, срок есть

У Python нет LTS-версий, но у каждой версии одинаковый жизненный цикл. Сначала выходят исправления ошибок. Через два года (для версий до 3.13 через 18 месяцев) принимаются только исправления безопасности, а готовые сборки больше не выпускаются. Через 5 лет после выхода поддержка заканчивается. Даты для каждой версии опубликованы на devguide.python.org/versions.

PostgreSQL выпускает новую мажорную версию примерно раз в год. Каждую мажорную версию поддерживают 5 лет после первого выпуска. Потом выходит последний минорный выпуск, и версия считается вышедшей из поддержки. Минорные выпуски с исправлениями выходят не реже чем раз в три месяца. Таблица сроков опубликована на postgresql.org/support/versioning. Переход на новую мажорную версию планируйте заранее, до даты окончания поддержки текущей.

Метка LTS в конфигурациях 1С

В 1С метку «версия длительной поддержки» (LTS, в новостях 1С также сокращение ДП) ставят на отдельные выпуски конкретных конфигураций, и срок у каждой свой. Например, для «Управления торговлей» ред. 11 версия 11.5.22 была объявлена LTS с ориентировочной поддержкой до конца апреля 2026 года, и это плановое окно уже прошло. Для ERP «Управление холдингом» ред. 3.2 версию длительной поддержки планируют поддерживать до апреля 2027 года. Общего определения метки для всех конфигураций мы не нашли, поэтому срок своей конфигурации смотрите в новостях о её выпуске на сайтах 1С.

Как узнать, что стоит на вашем сервере

Сначала узнайте точные версии. Запустите те команды, которые относятся к вашему серверу:

cat /etc/os-release
pro status
uname -r
node --version
java -version
python3 --version
psql --version

Если программа не установлена, оболочка сообщит, что команда не найдена. Клиент Ubuntu Pro (pro) по документации Canonical предустановлен в каждой системе Ubuntu, поэтому pro status имеет смысл запускать на Ubuntu. Вспомните также про контейнеры: внутри них uname -r показывает ядро хоста.

Затем найдите каждую версию на официальной странице её проекта и запишите дату окончания поддержки. Это и есть ответ на вопрос «сколько ещё». Если вы только выбираете систему для нового сервера, сравните сроки заранее с помощью статьи какую ОС выбрать для VPS.

Что происходит, когда окно поддержки закрывается

После даты окончания программа продолжает работать. Меняется одно: новые уязвимости в этой версии больше никто не исправляет. Обновления просто перестают приходить, и это легко принять за признак того, что всё в порядке. На деле это значит, что исправлять стало некому.

Поэтому дату окончания стоит знать заранее и планировать переход до неё. Чтобы понять, какие известные уязвимости уже затрагивают вашу систему, пройдите шаги из статьи проверка сервера на известные CVE.

FAQ

Чем LTS-версия Node.js отличается от Current?

Current означает свежую мажорную версию в первые шесть месяцев после выхода. LTS означает версию, которая прошла этот этап и долго получает исправления критических ошибок, по словам проекта обычно 30 месяцев. Для рабочих серверов проект Node.js советует только фазы Active LTS и Maintenance LTS. До Node.js 26 включительно LTS становились только чётные версии. Начиная с Node.js 27 по плану LTS становится каждая версия.

Сколько поддерживается Ubuntu LTS?

Каждая LTS-версия Ubuntu получает пять лет стандартной поддержки безопасности для пакетов из репозитория Main. Подписка Ubuntu Pro с ESM продлевает поддержку до десяти лет, а дополнение Legacy до пятнадцати. Точные даты для вашей версии смотрите на ubuntu.com/about/release-cycle.

Есть ли LTS у Debian?

У выпуска Debian stable метки LTS нет, но у выпуска есть срок жизни в пять лет. Первые три года идёт полная поддержка, затем два года работает отдельный проект Debian LTS, который ведут добровольцы и компании. После него компания Freexian предлагает коммерческую ELTS, которая продлевает жизнь выпуска до десяти лет.

Почему uname -r в Docker-контейнере показывает не то ядро?

Все контейнеры на одном хосте делят одно ядро, об этом прямо сказано в документации Docker. Поэтому uname -r внутри контейнера показывает ядро хоста, а не ядро дистрибутива, из которого собран образ. Чтобы узнать срок поддержки ядра, запускайте команду на самом хосте и смотрите сроки дистрибутива хоста.

Была ли эта статья полезной?