В чем разница между Linux-дистрибутивами LTS и Rolling Release?

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

Незнание разницы между LTS, Rolling Release и другими существующими типами систем может стать серьезной проблемой, когда неправильный выбор может привести к плохому опыту, а также ограничить ваши возможности выбора.

Многие люди, которые только начинают знакомиться с миром Linux, слышали термин «LTS» в связке с Ubuntu, но он не связан с этой системой напрямую.

LTS - это термин, используемый на рынке программного обеспечения в целом. LTS - это аббревиатура от «Long-Term Support».

Вы можете подумать о нем, как о некотором особом типе программного обеспечения, предназначенного для поддержки в течение более длительного периода, чем обычно. Именно так обстоит дело с Ubuntu LTS, выпуском системы, который выходит каждые два года и имеет первоначальную поддержку в течение 5 лет, которая может быть продлена до 12 лет, в отличие от других, не LTS-выпусков Ubuntu, которые имеют поддержку только в течение 9 месяцев. Но что именно означает «поддержка» в данном случае?

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

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

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

Теоретически, LTS-версии программного обеспечения разработаны как более надежные, с меньшим количеством ошибок и проблем, чем обычные версии. Они дольше защищены от проблем безопасности, не вынуждая вас обновляться или переходить на новое решение, чтобы оставаться в безопасности.

Хотя обновления существуют и в программном обеспечении LTS, они обычно менее инвазивны и ставят во главу угла стабильность и непрерывность работы, что, например, может сократить время простоя компании. В случае с Ubuntu под зонтик LTS попадает не только дистрибутив, который вы устанавливаете, но и большая часть репозитория пакетов системы.

Итак, представьте, что вы создаете бизнес, в котором ваше программное обеспечение отлично работает на Ubuntu 24.04 LTS. Учитывая стандартные 5 лет, плюс дополнительные 5 лет Ubuntu PRO, плюс дополнительные 2 года по специальной оплате, вы сможете работать на нем 12 лет, до 2036 года, без необходимости кардинально обновлять операционную систему. Она будет оставаться безопасной, и со временем ошибки будут исправляться, а система полироваться, становясь все более и более стабильной. Любопытно, что если вы зайдете на сайт Linux Kernel, то заметите, что рядом с номерами версий есть «долгосрочные» ядра, они же LTS, и поддержка в этом случае осуществляется самой командой Linux.

Время поддержки варьируется в зависимости от версии, раньше они поддерживались 6 лет, а последние версии - только 3 года. Интересно также отметить, что ядро 6.8 не является LTS-версией по версии разработчиков Linux, но именно это ядро содержится в Ubuntu 24.04 LTS, и долгосрочную поддержку для него обеспечивает Canonical.

Rolling Release - это, по сути, противоположность модели выпуска Ubuntu, не связанная с LTS, а имеющая отношение к тому, как разрабатывается программное обеспечение и как обновления доходят до пользователей.

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

Отличным примером программ со скользящим выпуском являются основные веб-браузеры. Например, Google Chrome получает постоянные обновления каждые 2-3 недели, а основные обновления - каждые 4, по крайней мере, в стабильном канале. Это приветствуется для такого программного обеспечения, поскольку оно постоянно находится в контакте с Интернетом и может быстро стать вектором атаки, если исправления не будут постоянными.

В конце концов выходят большие обновления, которые приносят новые функции, но они выполняют скорее маркетинговую функцию, чем функцию разработки. В конце концов, это непрерывный цикл, и если у вас установлен Chrome, вы просто продолжаете его обновлять, возможно, даже не осознавая этого. Rolling Release - это модель выпуска, при которой у программного обеспечения никогда не бывает финальной версии, оно просто постоянно обновляется.

Когда речь заходит о дистрибутивах Linux, Arch Linux, вероятно, является самым известным примером из всех. Версий Arch Linux не существует, в общем понимании этого слова, Так что вы никогда не увидите заголовков типа «Вышла новая версия Arch Linux», именно потому, что они никогда не выпускают ее, вы устанавливаете ее один раз, и она просто продолжает обновляться.

Не все программы, входящие в состав операционной системы, ведут себя одинаково. Если вы установили Chrome на Ubuntu и установили Chrome на Arch, он будет обновляться с одинаковой скоростью на обеих системах.

Другие программы, например, рабочий стол GNOME, работают по-другому. В настоящее время Ubuntu 24.04 LTS выпущена с GNOME версии 46, тот же GNOME 46 можно использовать в Arch Linux. Однако Ubuntu 24.04 LTS, вероятно, продолжит использовать эту версию GNOME в течение всего срока службы, а на Arch Linux, как только выйдет GNOME 47, пользователи, скорее всего, должны получить это обновление одними из первых. То же самое касается практически всех пакетов в репозитории Arch Linux.

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

Многие люди ассоциируют термин Rolling Release с постоянным использованием последних версий пакетов и технологий, скорее всего, потому, что это распространено в дистрибутивах Linux, но на самом деле это условие, когда все всегда очень актуально, называется Bleeding Edge.

Arch Linux - это Rolling Release и Bleeding Edge. Manjaro, известный Linux-дистрибутив, основанный на Arch, тоже Rolling Release, но это не Bleeding Edge, по крайней мере, не в такой мере, как сам Arch, поскольку в Manjaro обновления приходят примерно на 2-3 недели позже. SteamOS от Valve, основанная на Arch, является Rolling Release, но это тоже не Bleeding Edge, поскольку Valve сдерживает обновления и выпускает их только после более тщательного тестирования.

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

Такой подход имеет свои преимущества и недостатки: с одной стороны, вы получаете постоянно обновляемое программное обеспечение, быстрее получаете новые функции и быстрее исправляете некоторые ошибки. Обратной стороной является потенциальная нестабильность, поскольку у программы было меньше времени на тестирование: в то время как известные ошибки были закрыты, постоянные обновления могут привести к появлению новых ошибок.

Кроме того, у обновленных программ могут возникнуть проблемы с совместимостью с другими программами, которые еще не были обновлены. В отличие от LTS, здесь сложнее предсказать, как программа или система будет работать в долгосрочной перспективе, поскольку обновление может сломать то, что уже работало, оставив вас в затруднительном положении и потребовав дополнительного обслуживания или ручного вмешательства.

Некоторым проектам выгодно получать обновления раньше, но в то время оставться как можно более стабильными и неизменными. Так рождаются гибридные модели, в которых некоторые части системы имеют фиксированные релизы или даже LTS, а другие - Rolling Release.

Вы можете иметь Ubuntu Server LTS с 12-летней поддержкой, на котором работает Docker-контейнер с любым программным обеспечением с постоянными обновлениями, или Ubuntu Desktop с 10-летней поддержкой, на котором Firefox в Snap будет выпускаться в режиме rolling release.

Valve выигрывает от постоянных обновлений Arch Linux, чтобы иметь доступ к новинкам и выбирать, что и когда появится в SteamOS. Например, Plasma 6 еще не добралась до рабочего стола SteamOS, но новые видеодрайверы уже добрались. И даже при установке Arch Linux вы можете выбрать использование ядра LTS Linux вместо Bleeding Edge, создавая гибридную систему.

Не все Rolling Release или LTS одинаковы, на разных системах они могут означать что-то разное, а фиксированные релизы могут иметь разное время поддержки в каждом проекте. Версия Ubuntu без LTS поддерживается 9 месяцев, релиз Fedora - 1 год, Ubuntu выпускает LTS каждые 2 года, у Fedora нет LTS-версии, если только вы не считаете Red Hat Enterprise Linux LTS-версией Fedora.

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

В системе LTS вы имеете более стабильную программную базу, но она дольше остается в одной и той же версии, даже если выходят новые релизы. В системе «Rolling Release Bleeding Edge» вы будете получать обновления раньше, что даст вам доступ к новым технологиям и функциям, но вам также придется столкнуться с ошибками и регрессиями, которые могут возникнуть в недавно выпущенном программном обеспечении, которое отлаживалось меньше времени по сравнению с версиями LTS, которые не будут иметь этих новых функций, но будут более стабильными.