Что такое дистрибутив и почему их так много
В прошлом уроке мы выяснили, что слово Linux в строгом смысле обозначает ядро. Но пользователь устанавливает не одно ядро, а готовую операционную систему: с установщиком, системными программами, настройками, документацией, способом обновлять приложения и, часто, графическим рабочим столом. Такая готовая операционная система, собранная вокруг ядра Linux, называется дистрибутивом.
Дистрибутивов существует несколько сотен — и это прямое следствие открытости Linux. Любая команда могла взять ядро, добавить нужные инструменты и выпустить собственную систему: серверный дистрибутив без графики, облегчённую сборку для старых компьютеров, учебную систему или специализированный инструментарий для аудита безопасности. Но большинство дистрибутивов создавались не с нуля: они брали за основу уже существующую систему и изменяли её под свои цели. Так образовались семейства.
Когда один дистрибутив берут за основу и на его базе делают другие системы, получается семейство. Это похоже на языки с общим корнем: слова могут отличаться, но логика остаётся узнаваемой. У родственных дистрибутивов похожая структура, похожие правила обновления и похожий способ устанавливать программы.
Для установки программ в Linux обычно используют специальный системный инструмент. Он похож на встроенную службу доставки: вы просите «установи эту программу», а система сама находит нужные файлы в проверенных хранилищах, скачивает их, добавляет зависимости и потом обновляет. Такой инструмент называется пакетным менеджером.
У пакетного менеджера есть имя, и это имя становится первой частью команды. В Ubuntu и Debian этот инструмент называется apt, поэтому команда установки выглядит как apt install. В Fedora похожую роль выполняет dnf, поэтому пишут dnf install. В Arch Linux используется pacman, и команда выглядит иначе: pacman -S. Сейчас не нужно запоминать эти команды. Важно понять принцип: разные семейства используют разные команды для одной и той же задачи.
Три ключевых семейства
Знать все существующие дистрибутивы нет никакой нужды. Достаточно держать в голове три семейства, которые встречаются на практике чаще всего.
Debian-based — семейство, которое выросло из Debian. Debian появился в 1993 году как попытка собрать свободную операционную систему силами сообщества: без привязки к одной компании и с сильным вниманием к стабильности. Поэтому Debian до сих пор любят на серверах, где важнее предсказуемая работа, чем самые новые версии программ.
Самый известный современный потомок Debian — Ubuntu. Компания Canonical взяла Debian за основу, сделала установку проще, добавила понятный выпуск новых версий и сильную поддержку для обычных пользователей и серверов. Именно Ubuntu чаще всего встречается в туториалах, облаках, учебных материалах и небольших серверных проектах. В этом же семействе находятся Linux Mint и Pop!_OS. В таких системах вы часто будете видеть команды, которые начинаются с apt.
RHEL-based — семейство вокруг Red Hat Enterprise Linux. Red Hat стала одной из первых компаний, которые построили бизнес вокруг Linux для организаций: поддержка, обновления, сертификация, предсказуемый жизненный цикл. Поэтому RHEL и его родственники часто встречаются в крупных компаниях, где важны долгие сроки поддержки и совместимость с корпоративной инфраструктурой.
В этом семействе есть Fedora: она получает новые технологии раньше, а затем часть этих решений попадает в более стабильный корпоративный RHEL. AlmaLinux и Rocky Linux используют как бесплатные RHEL-совместимые системы. В таких системах вы часто будете видеть команды, которые начинаются с dnf.
Arch-based — семейство с другой философией. Arch Linux появился как минимальная система для пользователей, которые хотят сами понимать и выбирать, что входит в их окружение. Он сложнее для первого знакомства, потому что многие решения приходится принимать вручную, зато такой подход хорошо показывает, из каких частей состоит Linux.
Вокруг Arch появились более дружелюбные варианты, например Manjaro и EndeavourOS. Они берут идеи Arch, но пытаются сделать вход проще. Документация ArchWiki считается одной из самых полезных в мире Linux: ей пользуются даже те, кто работает на других дистрибутивах. В таких системах вы часто будете видеть команды, которые начинаются с pacman.
Дистрибутивы различаются ещё и тем, как они получают обновления. Одни системы выпускают крупные версии по расписанию: вы устанавливаете одну стабильную версию и какое-то время работаете именно с ней. Так устроены, например, Ubuntu и Fedora. Такой подход называют fixed release.
Другие системы обновляются непрерывно. В Arch Linux нет привычных крупных версий: сегодня может обновиться один пакет, завтра ядро, послезавтра ещё несколько программ. Такой подход называют rolling release.
Рабочее окружение и серверный режим
Есть ещё один слой различий: дистрибутивы могут по-разному выглядеть после установки. Одни сразу открывают привычный рабочий стол с окнами, меню и панелью задач. Другие ставятся в минимальном серверном виде, где вместо графического интерфейса вы видите только терминал.
Такой рабочий стол называется рабочим окружением. GNOME, KDE Plasma, XFCE, Cinnamon — это разные графические оболочки, которые можно установить на разные дистрибутивы. Ubuntu по умолчанию идёт с GNOME, Linux Mint — с Cinnamon, Kubuntu — с KDE.
На серверах графического рабочего стола обычно нет. Разработчик или администратор подключается к машине через терминал и управляет системой командами. Дальше в курсе мы постепенно сместимся от общего знакомства к командной строке: именно через неё чаще всего работают с Linux в серверной разработке, DevOps и инфраструктуре.
Дистрибутивы, которые встречаются чаще всего
Ubuntu — самый популярный дистрибутив для начинающих и один из самых распространённых на серверах. У Ubuntu есть обычные версии и версии с долгосрочной поддержкой — LTS. Именно Ubuntu чаще всего встречается в туториалах, облаках и учебных материалах.
Debian — один из старейших дистрибутивов. Новые версии пакетов попадают в него медленно, зато перед выпуском проходят тщательную проверку. Debian часто используют на серверах, где предсказуемость важнее свежих версий программ.
Fedora — дистрибутив, где раньше многих появляются новые технологии экосистемы Red Hat. Подходит тем, кто хочет работать с современными версиями программ и готов к более частым обновлениям.
Arch Linux — дистрибутив для тех, кто хочет собрать систему почти с нуля и самому выбрать её состав. Установка сложнее, но сам процесс хорошо показывает, из каких частей состоит Linux-система.
Как выбрать дистрибутив новичку
Для первого опыта обычно лучше выбрать вариант, по которому проще найти помощь и учебные материалы. Таким вариантом чаще всего становится Ubuntu: большое сообщество, обилие туториалов, простой графический установщик и широкое распространение на серверах — изучая Ubuntu, вы учитесь работать с тем, с чем столкнётесь в реальных проектах.
Позже, когда базовые команды и устройство системы станут привычнее, можно осознанно попробовать Fedora или Arch и сравнить подходы.
Для первого знакомства удобнее дистрибутив с предсказуемым выпуском версий: найденные инструкции дольше остаются актуальными, а поведение системы меньше меняется от недели к неделе. Поэтому Ubuntu здесь обычно спокойнее, чем Arch.
Linux в строгом смысле — это ядро. Само ядро управляет железом, но для работы пользователю нужна готовая система с программами, настройками, установщиком, обновлениями и интерфейсом.
Дистрибутив Linux — готовая операционная система на базе ядра Linux. Дистрибутивов много, потому что разные команды собирали системы под разные задачи: серверы, домашние компьютеры, обучение, безопасность, старое железо.
Семейство дистрибутивов — группа родственных дистрибутивов с общей основой. У них обычно похожая структура, похожий способ установки программ, похожие правила обновления и настройки.
Три семейства, которые чаще всего встречаются на практике: Debian-based, RHEL-based и Arch-based. Debian-based связан с Debian и Ubuntu, RHEL-based — с Red Hat, Fedora, AlmaLinux и Rocky Linux, Arch-based — с Arch Linux, Manjaro и EndeavourOS.
Дистрибутивы отличаются не только происхождением. У них может быть разный способ обновления: fixed release — крупные версии по расписанию, rolling release — непрерывные обновления. Для новичка обычно спокойнее fixed release, потому что система меняется предсказуемее.
Ещё одно отличие — рабочее окружение. На личном компьютере Linux часто ставят с графической оболочкой: GNOME, KDE Plasma, Cinnamon и другими. На сервере обычно используют минимальный режим без рабочего стола и управляют системой через терминал.
Для начала работы лучше всего подходит Ubuntu: большое сообщество, обилие документации и широкое распространение на серверах.
Fixed release
Какой вариант лучше всего описывает fixed release?
Какой пример ближе всего к rolling release?
Почему в уроке для первого знакомства чаще советуется Ubuntu?
Ключевые понятия
Соотнесите понятие с его ролью в Linux-системе.
Вопросы для самоконтроля
Ответьте своими словами на вопросы по уроку.
1Чем дистрибутив отличается от ядра Linux?
2Чем Fixed Release отличается от Rolling Release?
Подсказка
Подсказка: Отвечайте коротко: важны не точные формулировки из урока, а понимание связей между ядром, дистрибутивом и моделью обновлений.