Многообразие Linux-дистрибутивов

image-loader.svg

Цель этой статьи показать и объяснить многообразие дистрибутивов Linux. Перечислить основные сходства (они же все почему-то называются «Линуксы» или даже правильнее GNU/Linux) и основные различия (если бы не было различий, их бы столько не существовало).

Рассмотрим несколько наиболее часто задаваемых новичками вопросов:

Ну и в конце оценю которые дистрибутивы упомянул чаще.

Чем же они отличаются? И почему просто не выпускают всем миром один дистрибутив? Отличий много, поэтому разделю их на блоки, и каждый блок подробно разберем.

Дистрибутивы появляются и исчезают, разделяются и даже сливаются, … Уверен, что с момента написания этой статьи к моменту её прочтения могут произойти изменения в этой огромной экосистеме. Я старался многие утверждения подкреплять примерами и ссылками, но все же понимаю, что все не перечислить, да и примеры будут устаревать со временем.

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

Вопрос: Зачем их так много?

Если вы новичок в мире Linux и больше пользовались MS Windows или Mac, то скорее всего у вас уже появился вопрос:»Зачем? Зачем так много дистрибутивов? Можно было б сделать ну один-два, ну три варианта… Почему их сотни? »…

Немного неожиданный ответ, но который раскрывает самую суть:»Абсолютное большинство дистрибутивов Linux НЕ делается на продажу, а создается как сопутствующий инструмент для решения собственных задач». Это же утверждение относится и к большей части программ в Linux. И часто получившееся решение разработчики выкладывают в общий доступ для ознакомления и использования всеми желающими. Делают так, потому что решение не сиюминутное и его нужно развивать/дополнять/тестировать/исправлять, и гораздо дешевле и продуктивнее, если в эту работу включатся добровольцы-специалисты (при этом не обязательно бесплатно) с новыми идеями и подходами.

Представьте, что вы не в магазин или бутик зашли, а на выставку-ярмарку, где цель показать своё мастерство и установить деловые контакты со специалистами в нужных сферах, а уж продажи — на втором месте. Отсюда и качество продукта, забота и уважение к клиенту (в первую очередь к себе, так как разработчик делает программу для себя) — открытые API, модульность, отсутствие телеметрии и рекламных баннеров, неиспользование закрытых форматов файлов и других НЕ привычных подходов для открытого ПО. А уж потом, если появляется спрос на подобное решение (люди или компании, готовые платить за работающую из коробки систему без необходимости разбираться в её создании, и которым нужна платная поддержка или дополнительные возможности), тогда из этих же добровольцев-специалистов собираются организации и выпускают коммерческие дистрибутивы.

Вопрос: Сколько их?

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

1) Сотни тысяч, а то и миллионов! Просто собственный дистрибутив может создать любой желающий, особенно если делать на основе другого дистрибутива, не разрабатывая новых компонент, а используя уже существующие решения и подходы. Тут даже глубоких знаний не понадобится, только недельку-две свободного времени и, например, 400-страничная пошаговая инструкция дистрибутива ​⊚Linux_From_Scratch (дистрибутив, распространяемый в виде pdf-книги).

Большинство из этих дистрибутивов не заметны для it-сообщества — это «однодневки», созданные для личного использования или ради изучения/опыта.

2) Около 600 (точное число 554), если учитывать каждый «штрих» на картинке «Linux_Distribution_Timeline (за 2021 год)» (с wikipedia-страницы Список_дистрибутивов_Linux):

image-loader.svg

На этой картинке в хронологическом порядке (с 1992 до 2021 года) отображено, какие дистрибутивы существовали в разные годы, а параллельными разноцветными горизонтальными линиями — различные дистрибутивы:

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

— Посредством соединения кривыми линиями показано, какие дистрибутивы являются производными от других дистрибутивов.

— Вертикальные пунктирные линии указывают на различные слияния проектов.

3) Около 300, если учитывать только те проекты, которые в текущий момент считаются актуальными (не объявлено о сворачивании разработок, и выходят новые релизы). Если быть точнее, их ровно 270 (согласно Linux_Distribution_Timeline (за 2021) и 254 (согласно DistroWatch).

4) Около 5, если учитывать только наиболее популярные в мире дистрибутивы: ⊚​RedHat, ⊚​Ubuntu, ⊚​SUSE, ⊚​Arch, … (не обижайтесь если кого не назвал — просто навскидку пишу, что сразу вспомнилось). Кстати, таким же будет количество (около 5), если в организации требуется использовать «отечественную ОС». Только список в этом случае другой: ​⊚Alt, ​⊚AstraLinux, ​⊚ROSA, … (но об этом подробнее будет далее).

5) Один, если учитывать мнение ярого фаната отдельного дистрибутива.

image-loader.svg

Вопрос: Что у них общего?

Рассмотрим основные сходства. Почему-то же они все называются «Линуксы». При этом еще есть «Юниксы (и они — не Линуксы)». Многим начинающим кажется неожиданным тот факт, что FreeBSD и MacOS — не Linux, хотя »там тоже есть вроде такая же командная строка с ls, cd, pwd, bash, vi и т.д.» (на самом деле не такая же, а похожая!).

ОБЩЕЕ

  • Исходники программного обеспечения:

    • СПО. Большая часть используемого ПО является свободным программным обеспечением (как следствие имеет общедоступный исходный код, распространяемый по одной из свободных лицензий). Здесь требуется уточнение, так как пользователи Windows обычно ошибочно это трактуют как »Бесплатно доступен exe-шник». Однако не «exe-шник», а исходный код, на основе которого компилируется программа. И не бесплатно распространяется, а свободно (можно свободно изучать код, модифицировать его и распространять уже модифицированный — подробнее можно узнать, почитав про СПО). Повторюсь, в свободный доступ выложены исходники, но, чтобы пользоваться программой, исходники еще нужно проверить, скомпилировать и попутно разрешить зависимости (одна из основных задач создателей дистрибутивов).

    • Ядро_Linux — ядро ОС, собирается на основе исходников доступных на kernel.org.

    • GNU-утилиты. Отдельно стоит упомянуть множество утилит от проекта GNU (так что более корректное название для ОС — GNU/Linux):

      • базовый набор GNU_Coreutils (перечислю наиболее знакомые даже начинающему: ls, cp, mv, rm, mkdir, pwd, sort, touch, head, tail, id, whoami, chmod, chown, date, …)

      • и другие не менее популярные GNU-утилиты: grep, bash, mc, tar/gzip, gtk+/gimp/gnome, grub, less, sed, wget, find, gawk, emacs, nano, screen, fdisk, gcc/libc, …

  • Используемые стандарты (для совместимости различных дистрибутивов):

    • учитываются и используются различные UNIX-стандарты: POSIX, Single_UNIX_Specification;

    • собственные стандарты: Linux_Standard_Base (например, в абсолютном большинстве дистрибутивов используется стандарт размещения и назначения каталогов — FHS);

    • рекомендации-спецификации для графических сред от FreeDesktop.org;

    • использование открытых_стандартов, протоколов и форматов файлов.

  • Общепринятые решения.

    • Некоторые программы и решения хоть и не значатся стандартом, но используются в большинстве дистрибутивах и поэтому добавляют некого единообразие в те дистрибутивы, в которых используются: браузер Firefox, офисный пакет LibreOffice, система инициализации Systemd, загрузчик GRUB, командный интерпретатор BASH, файловая система Ext4, почтовый клиент Thunderbird, различные среды оформления рабочего стола (рекомендую посмотреть мою habr-статью на эту тему), настройка сети через NetworkManager, служба печати CUPS и т.д.

    • У некоторых из них просто нет альтернатив в текущий момент, а у некоторых есть. Однако так сложилось, что пока это решение популярнее во многих дистрибутивах. А завтра может появиться новое и занять место на «пьедестале общепринятых решений».

Так FreeBSD, MacOS, Solaris, QNX, AIX, HP-UX являются НЕ Linux-системами (в них другое ядро, другой набор ПО, другой набор стандартов, по другим лицензиям распространяется), а Unix или Unix-подобными системами. И базовые утилиты (например: ls, cp, tar, ps, grep, …), которые в них имеют такое же название, как и аналогичные в Linux (так как это описано в общеиспользуемых стандартах POSIX) на самом деле имеют разный код внутри и разный набор поддерживаемых опций — сравните man ls (в FreeBSD) и man ls (в Linux).

http://ars.userfriendly.org/cartoons/?id=20150108http://ars.userfriendly.org/cartoons/? id=20150108

Вопрос: В чем они различаются?

ОТЛИЧИЯ

  1. Модификации ПО: патчи к ядру, патчи к программам, выбор ПО по умолчанию.

  2. Отличия в основе: производные дистрибутивы (клоны/деривативы), не стандартный подход, использование различных GUI, формат пакетов, свои дополнения.

  3. Форма организации: коммерческие дистрибутивы и разрабатываемые сообществами, прогнозируемость проекта, принадлежность к стране и понятие «отечественный дистрибутив».

  4. Предназначение: Под определенные задачи, пользователей, оборудование.

Отличия: 1. Модификации ПО

Кстати в фильме 2009 года Кстати в фильме 2009 года «Терминатор 4 (Да придёт спаситель)» на компьютерах в SKYNET используется версия ядра 4.1.15–1.1381_SKYN12nnmp, ванильную версия которого в реальности выпустили в декабре 2015 года.

1.1 Патчи к ядру

1.1a) Ванильное ядро с kernel.org и его модификации. Как уже сказано выше в «Общее»:»Ядро ОС, собранное на одной основе (исходники доступны на kernel.org)». То есть всем дистрибутивам доступны одни и те же исходники (и это называется «Ванильное_ядро»), но с какими настройками (а их около 10000) его скомпилировать — выбор уже за разработчиками дистрибутива. А также выбор, какую использовать версию ядра (более новую со всеми новинками или более старую, но более проверенную/оттестированную) — тоже за разработчиками дистрибутива. Многие дистрибутивы включают свои патчи, добавляющие новый функционал в ядро и отключают те части кода ядра, которые не понадобятся (предположу, что в дистрибутиве для простейшего роутера убирают поддержку звука, bluetooth, полсотни различных файловых систем и пару сотен wifi-драйверов, кроме тех, что используются). Также часто дистрибутивы добавляют в свою версию ядра драйверы устройств или технологий, которые еще не включены в официальную версию ядра (из-за их экспериментального статуса).

​⊚OracleLinux, ⊚RHEL, ​⊚CentOS, ⊚AstraLinuxSE

  • ⊚OracleLinux, по сути являющийся деривативом (ниже объясню этот термин) ​⊚RHEL (RedHat Enterprise Linux), в своем дистрибутиве использует модификацию ядра под «громким» названием «Unbreakable Enterprise Kernel».

  • Для ​⊚RHEL (RedHat Enterprise Linux), ​⊚CentOS, ​⊚AlmaLinux, ​⊚RockyLinux, можно установить (из репозитория ELRepo) версию ядра посвежее. При этом есть на выбор два варианта:

    • kernel-lt — стабильный релиз ядра с долгосрочной поддержкой (Stable long-term supported kernel release) — обновляется реже, но поддерживается дольше;

    • kernel-ml — основной релиз ядра (Mainline kernel release) — более короткий срок поддержки, но более частые обновления.

  • Многие дистрибутивы предустанавливают модуль для улучшения взаимодействия виртуальной машины VirtualBox и хостовой системы (vboxguest). В ​⊚AstraLinuxSE есть свои дополнительные закрытые модули ядра мандатного доступа (parsec) и проверки подписи исполняемых файлов (digsig_verif).

  • Примеры вывода команды «uname -r» в разных дистрибутивах (выбор дистрибутивов, как и их версии совершенно случайный. Единственное, я специально подбирал вариант серверный, вариант десктопный, релиз коммерческого дистрибутива и rolling-релиз от сообщества):

# ⊚AstraLinuxSE 1.6 (Update 5):
4.15.3-2-hardened
# ⊚Alt Workstation 9.0:
4.19.79-std-def-alt1
# ⊚UbuntuServer 20.04.2 LTS:
5.4.0-72-generic
# ⊚OpenSUSE Tumbleweed 20210504:
5.12.0-2-default

Обратите внимание, что первые три числа разделенных точкой, совпадают с нумерацией версий на https://kernel.org/pub/linux/kernel/, а вот всё, что указано после первого дефиса это уже нумерация и названия собственных для дистрибутива подвариантов сборки данной версии ядра. Посмотреть, какие настройки были включены, можно или так «cat /boot/config-$(uname -r)» или так «zcat /proc/config.gz». Для того, чтобы получить представление, насколько они отличаются, я сравнил настройки ядра в указанных выше ​⊚Ubuntu Server и ⊚​Alt Workstation. В итоге около 1100 строк из 10000 отличаются, и это разница между ядром для серверного дистрибутива и ядром для десктопного от разных производителей.

1.1b) Есть дистрибутивы, которые используют «лицензионно чистое» ядро (например, ядро Linux-libre) — ядро без Блоб'ов (Binary Linked OBject). Обычно эти же дистрибутивы используют и «лицензионно чистое» ПО.

⊚Trisquel, ​⊚PureOS, ⊚​GuixSD, ​⊚Dragora, ​⊚Parabola, …

https://www.gnu.org/distros/free-distros.html

Эти дистрибутивы — полные и готовые к применению системы, разработчики которых заявили о намерении следовать Рекомендациям для дистрибутивов СПО. Это значит, что они будут включать в себя и предлагать только свободные программы.

⊚Trisquel, ​⊚PureOS, ⊚​GuixSD, ​⊚Dragora, ​⊚Parabola, …

1.1c) Есть различные патчи безопасности для ядра, например, патчи PaX.

​⊚AstraLinuxSE

Ядро «hardened» в ⊚​AstraLinuxSE (аналогично и в ⊚​Debian) с патчами безопасности, в то время как по умолчанию используемая версия ядра с названием «generic» без патчей безопасности.

1.1d) Модифицированная версия ядра с оптимизациями для мультимедиа и игр: Liquorix (или ZenKernel).

1.1e) Модифицированная версия ядра для систем реального времени: kernel-rt (или linux-rt, preempt-rt).

1.2 Свои патчи к ПО

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

⊚Debian, ​⊚Trisquel, ⊚TAILS, ⊚Whonix, ⊚Kodachi

В качестве примеров можно упомянуть различные модификации браузера Firefox:

  • В ⊚​Debian используется браузер IceCat (ранее IceWeasel). Это вариант браузера Firefox без использования закрытых дополнений.

  • В ​⊚Trisquel используется похожая модификация браузера Firefox с названием «Abrowser», также не использующая закрытых дополнений.

  • В ⊚TAILS, ⊚Whonix, ⊚Kodachi используется браузер с названием «Tor_Browser», который ориентирован на анонимность в сети. Выходит в интернет через сеть Tor, а также не хранит между сессиями cookies, историю посещений, ограничивает использование JavaScript.

1.2b) Использование дополнительных плагинов/библиотек, расширяющих возможности существующей утилиты.

⊚​AstraLinuxSE

  • Дополнение ksysguard-mac к стандартному KDE-приложению ksysguard в дистрибутиве ⊚​AstraLinuxSE добавляет в классическом приложении для отображения списка процессов дополнительные колонки с отображением мандатных меток.

  • Использование ГОСТ-шифрования для хранения пользовательских паролей.

1.3 Используемое по умолчанию ПО.

Здесь надо понимать, что в любом дистрибутиве есть возможность использовать огромное количество ПО, написанного «под Linux». И только некоторая наиболее востребованная часть добавлена разработчиками дистрибутива в свой дистрибутив — это может быть и несколько десятков тысяч пакетов, а может только и несколько тысяч пакетов.

Также стоит понимать, что всё это (и программы, относящиеся непосредственно к базовой части системы, и программы дополнительные, типа офисного пакета, редактора картинок, pdf-просмотрщика и т.д.) являются частью дистрибутива и распространяются, и поддерживаются совместно в отличии от «некоторых других ОС».

1.3a) У каждого дистрибутива свой выбор ПО, доступного по умолчанию в дистрибутиве (на установочном диске).

1.3b) У каждого дистрибутива свой выбор ПО, доступного по умолчанию в репозиториях дистрибутива (по сети или на дополнительных носителях).

​⊚AstraLinuxSE (Смоленск 1.6), ⊚​AstraLinuxCE (Орел 1.6), ⊚​Debian (9 Stretch)

В ⊚​AstraLinuxSE (1.6 Смоленск):

Здесь упоминаются два продукта АО «НПО РусБИТех»: коммерческий специального назначения ⊚​​AstraLinuxSE и бесплатный общего назначения ⊚​AstraLinuxCE.

1.3c) Есть дистрибутивы, которые используют или делают сильный уклон только на «лицензионно чистое ПО».

Free-Дистрибутивы

Дистрибутивы с пометкой »Free only» в сравнении (Comparison_of_Linux_distributions).

Отличия: 2. Отличия в основе

Отличия в основах можно разделить на следующие категории:

image-loader.svg

2.1 «Основан на …» или производные дистрибутивы

На картинке «Linux_Distribution_Timeline (за 2021 год)» заметно, что многие дистрибутивы начали своё развитие как «ответвление» от другого дистрибутива (даже можно выделить несколько крупных «семейств» производных дистрибутивов, основанных на: ⊚​Debian, ​⊚RedHat, ​⊚Arch, ⊚​Slackware, ⊚​SUSE, ​⊚Gentoo, ​⊚Android). То есть разработчики взяли другой дистрибутив (разрабатываемый другими людьми или другой организацией) и на его основе создали «свою» версию системы.

Вопрос: «Основанный на другом дистрибутиве» — как такое возможно? Не пиратство ли это?

На самом деле, это — не пиратство (хотя такое тоже может быть и изредка происходит в мире Linux при несоблюдении условий лицензии на отдельное ПО). Просто здесь большинство программ являются СПО (Свободным Программным Обеспечением), и как следствие (если простым языком) допускается их модификация, использование и распространение. Если создавать свой дистрибутив на основе дистрибутива, в котором есть несвободное ПО, то это ПО нужно или исключить из своего дистрибутива, или отдельно договариваться об условиях использования с авторами этого ПО. Также обычно есть ограничения на использование торговой марки и логотипов, то есть потребуется дополнительное соглашение, например, с Canonical на использование слова «Ubuntu» в названии своего дистрибутива.

Дистрибутивы по степени «производности на основе другого дистрибутива»:

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

⊚RHEL, ⊚Debian, ⊚​SUSE, ⊚Arch, ⊚Linux_From_Scratch, ⊚Alt, …

  • ​⊚RHEL (RedHat Enterprise Linux) — коммерческий дистрибутив от RedHat.

  • ⊚​Debian. Стоит заметить, что самое крупное «семейство» на Linux_Distribution_Timeline (за 2021 год) породил ⊚​Debian. Причина в том, что в данном дистрибутиве используются только программы, удовлетворяющие «Критериям Debian по определению СПО». Как следствие проще взять такой дистрибутив за основу и создавать свой дистрибутив (как, например, это делает ⊚​Ubuntu). Или еще добавить и несвободное ПО (как, например, в ⊚​AstraLinux).

  • ⊚​SLES (SUSE Linux Enterprise Server) — коммерческий дистрибутив от SUSE (здесь также упоминаются ⊚​SLED (SUSE Linux Enterprise Desktop) и бесплатный ⊚​openSUSE).

  • ​⊚Arch— попытка создать идеальную основу для деривативов. Отличается простотой и минимализмом. Предназначен для продвинутого пользователя. Имеет наиболее подробную и полезную wiki-документация по Linux (большая часть переведена на русский язык).

  • ⊚Linux_From_Scratch— дистрибутив в виде книжки (pdf-инструкция по созданию собственной сборки).

  • ​⊚Alt — дистрибутивы от «Базальт СПО» (здесь также упоминаются ⊚Альт Образование, ⊚Альт Сервер Виртуализации, ⊚Альт Рабочая станция и бесплатный ⊚Simply_Linux).

2.1b) Клоны (различия с оригиналом сводятся к ребрендингу, замене названия и художественного оформления — просто понадобится нарисовать свои «нескучные обои» со своим логотипом). Стоит заметить, что клоны построены на тех же пакетах с исходниками, что и оригинал, а не на тех же бинарных пакетах. Подобные проекты пользуются спросом, так как коммерческие дистрибутивы проводят процедуру сертификации на совместимость с различными другими коммерческими решениями, а также под данный дистрибутив имеется официальный пакет от производителя данного решения. В итоге всё будет корректно работать и на бесплатном дистрибутиве-клоне.

​⊚CentOS — клон ⊚​RHEL (RedHat)

Самым известным примером такого дистрибутива долгое время (с момента своего появления до декабря 2020 года) являлся дистрибутив ​⊚CentOS — бесплатный клон коммерческого дистрибутива ​⊚RHEL (RedHat Enterprise Linux). При этом стоит отметить, что изначально и многие годы (2002–2014 гг.) это был самостоятельный и независимый от RedHat проект. С 2014 года компания RedHat стала официальным спонсором проекта и получила право на товарный знак CentOS. В текущий момент (с 2021 года) ⊚CentOS перестал позиционироваться клоном, а стал тестовой площадкой для ⊚RHEL. Уже появилось несколько альтернативных проектов, нацеленных занять освободившуюся нишу «клона RedHat» — ​⊚AlmaLinux, ​⊚RockyLinux, ⊚EuroLinux, ⊚VzLinux,

http://ars.userfriendly.org/cartoons/?id=20200405http://ars.userfriendly.org/cartoons/? id=20200405

2.1c) Деривативы (или ответвление) или различные …-based дистрибутивы (например, RedHat-based или Debian-based). Дистрибутив, построенный и выпускающий релизы на основе другого дистрибутива и имеющий совместимые пакеты с оригинальным проектом. То есть большую часть пакетов повторили «один в один» из оригинального дистрибутива, какие-то пакеты были изменены и плюс добавили свои дополнительные пакеты. Такой подход удобен для разработчика дериватива тем, что уже имеется оттестированная стабильная «база», остается только её доработать своими правками и дополнениями. Но в тоже же время есть зависимость от решений, стандартных для базового дистрибутива. То есть, если там перешли на использование какой-нибудь новой технологии (например, systemd), то и дериватив, вероятнее всего, будет использовать эту технологию (ну или перейдет в другой тип производных дистрибутивов). Также график выхода релизов дериватива зависит от графика выхода релизов и обновлений базового дистрибутива. Пакеты, предназначенные для базового дистрибутива вероятнее всего без проблем установятся и в деривативе.

⊚Ubuntu, ⊚​OracleLinux, ⊚​AstraLinuxSE. НЕ деривативы: ⊚Alt, ⊚​SUSE

  • Есть множество ответвлений ⊚​Ubuntu, которые отличаются в основном только используемым по умолчанию окружением рабочего стола: ⊚​Kubuntu(KDE), ​⊚Lubuntu(LXDE), ⊚​Xubuntu(XFCE), …

  • ⊚​OracleLinux — дериватив ​⊚RHEL (RedHat Enterprise Linux). Основные версии выходят через месяц-полтора после выхода оригинальной RHEL, а «сервиспаки» и того меньше — через неделю-две.

  • ⊚​AstraLinuxSE — дериватив ⊚​Debian. Добавлены пакеты со своей реализацией окружения рабочего стола Fly, пакеты дополнительного управления доступом на основе уровней и категорий конфиденциальности, разграничение доступа к устройствам, дополнительная служба аудита и другие решения, необходимые для защиты информации.

Примеры НЕ деривативов

  • Отдельно стоит упомянуть дистрибутив ​⊚Alt (ранее назывался AltLinux), который совсем НЕ является RedHat-based дистрибутивом. У них схож только формат (rpm) пакетов (и только формат, замечу, что ни сами пакеты, ни репозитории от​⊚RHEL (RedHat Enterprise Linux) не используются), и на этом сходства заканчиваются. То есть это полностью самостоятельный дистрибутив, использующий только похожий формат пакетов.

  • Аналогично, кстати, и ⊚​SUSE использует формат пакетов rpm и тоже НЕ является RedHat-based дистрибутивом.

2.1d) «Дистрибутивы под покровительством». Они развиваются сообществом добровольцев при поддержке (в том числе и финансовой) коммерческого дистрибутива в качестве тестовых площадок для подготовки и тестирования новых решений к выходу коммерческого дистрибутива. Обычно у таких дистрибутивов хостинг самого проекта и сопутствующие расходы находятся на ресурсах коммерческого дистрибутива, и помимо добровольцев есть сотрудники на зарплате от коммерческого дистрибутива. При этом обычно они не управляются напрямую менеджерами коммерческого дистрибутива. У подобных проектов имеется свобода самостоятельного развития и принятия решений (иначе сообщество будет мало заинтересовано участвовать в таком проекте на бесплатной основе, и участники могут попросту разбежаться по другим более демократичным проектам).

⊚Fedora/RedHat, ⊚openSUSE/SUSE

Приведу не столько примеры подобного «покровительства», сколько примеры наличия самостоятельности в принятии решений.

  • ⊚Fedora — дистрибутив, разрабатываемый сообществом при поддержке RedHat, использует по умолчанию файловую систему btrfs, а в ​⊚RHEL8 (RedHat Enterprise Linux)(восьмая версия коммерческого дистрибутива) поддержка этой файловой системы отключена совсем (совсем-совсем нет пакетов для работы с данной файловой системой, и даже убрана поддержка в ядре, не говоря уже о том, что в инсталляторе нет варианта выбора этой ФС для использования на разделах). Скорее всего это связано с отношениями с ⊚​OracleLinux.

  • Аналогичная ситуация была, когда в дистрибутиве ⊚openSUSE версии 11 (дистрибутив сообщества) использовали рабочий стол KDE, в то время как в коммерческом дистрибутиве ⊚​SUSE (SLES) версии 11 использовался рабочий стол GNOME. И уверен, в тот момент коммерческому дистрибутиву было очень нужно, чтобы больше тестировалась работу с GNOME, а не KDE, но таков был выбор сообщества.

Да Лебедь рвётся в облака (Cloud ныне модно), Рак пятится назад, А Щука тянет в воду. А воз ... медленно, но верно  продвигается во всех направлениях.Да Лебедь рвётся в облака (Cloud ныне модно), Рак пятится назад, А Щука тянет в воду. А воз … медленно, но верно продвигается во всех направлениях.

2.2 Отличия от стандартов

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

⊚GoboLinux, ⊚Devuan, ⊚Alpine_Linux, ⊚Void_Linux

  • ⊚GoboLinuxиспользует собственную иерархию директорий (не использует общепринятый в Linux и Unix стандартFHS).

  • Есть дистрибутивы, которые вместо ныне «популярной» systemd по ряду причин используют другие системы инициализации.

  • Многие минималистичные дистрибутивы (например, как ⊚Alpine_Linux) вместо базовых утилит из GNU_Coreutils используют набор утилит из BusyBox.

  • Используемая по умолчанию «не общепринятая» технология:

Разные среды оформления рабочего стола на одном и том же дистрибутиве (здесь OpenSUSE)Разные среды оформления рабочего стола на одном и том же дистрибутиве (здесь OpenSUSE)

2.3 Своё ПО

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

⊚​RedHat/⊚Fedora, ⊚SUSE, ⊚​Debian/⊚​AstraLinuxSE, ⊚​Ubuntu, ⊚Manjaro

Примеры различных инсталляторов

  • Инсталлятор Anaconda применяется в ​⊚RHEL (RedHat Enterprise Linux)и во многих RedHat-based дистрибутивах (например, ⊚Fedora). Использует Kickstart-формат файла автоответов.

  • В ⊚​SUSE используется инсталлятор на основе YaST. Использует AutoYaST-формат файлов автоответов.

  • Debian-Installer применяется в ⊚​Debian и многих Debian-деривативах (например ⊚​AstraLinuxSE). Использует Preseed-формат файла автоответов.

  • Ubiquity — в ⊚​Ubuntu и во многих Ubuntu-деривативах используется модифицированная версия Debian-installer. Позволяет попробовать дистрибутив в режиме LiveCD.

  • Некоторые дистрибутивы используют Calamares, например, в ⊚Manjaro.

Примеры текстового режима установки

  • 2.3b) Конфигураторы. Обычно дистрибутивы, ориентирующиеся на простого пользователя, создают свои дополнительные утилиты, упрощающие настройку системы. Чтобы различные действия по настройке системы мог выполнить человек без навыков работы в командной строке и без знаний, какие параметры в каких конфигурационных файлах требуется изменить. Отдельно стоит упомянуть графические утилиты настроек, веб-конфигуратор, автоконфигурирование при установке и сборке пакета.

    • Графические утилиты настроек. Поговаривают, что «простым пользователям понятнее в кнопочки мышкой тыкать». Вот для них и стараются разработчики user-friendly дистрибутивов.

    • Веб-конфигуратор. Удаленное управление машиной через web-интерфейс — достаточно востребованное решение, но и добавляет риски взлома системы.

    • Автоконфигурирование при установке/сборке пакета. При установке новой программы или службы отображается меню-образный интерфейс с вопросами о выборе режима работы службы или использовании одного из стандартных профиля настроек.

⊚​SUSE, ​⊚Alt, ⊚​RedHat, ⊚CDH, ⊚​Debian

Примеры графических утилит настроек

  • В ⊚​SUSE используется модульная утилита настроек системы YaST, которая позволяет из графики настроить очень многое в системе, в том числе и настроить различные сетевые службы. Имеется также ncurses-вариант, позволяющий настраивать систему в псевдографическом виде, например, в консоли через ssh.

  • В ​⊚Alt используется графическая утилита acc.

  • В ​⊚RHEL (RedHat Enterprise Linux) раньше было много отдельных графических утилит system-config-*, некоторые используются и в последних версиях: system-config-users, system-config-printer, system-config-kickstart, system-config-selinux, …

  • С ⊚Linux_Mint поставляется свой дополнительный набор утилит: mintInstall, mintUpdate, mintMenu, mintBackup, mintNanny, mintDesktop, mintWelcome, mintStick, mintReport, …

  • В ⊚MX_Linuxпоставляется свой дополнительный набор утилит MX Tools: «установщик» кодеков и видео-драйверов, управление пользователями, пакетами, …

  • В ​⊚AstraLinuxсвой набор утилит fly-admin-*: fly-admin-cron, fly-admin-power, fly-admin-printer, fly-admin-grub2, fly-admin-service, …

  • В ⊚Linux_Lite: Lite Tweaks, Lite Software, Lite Themes, Lite User Manager.

Примеры веб-конфигураторов

  • В ​⊚RHEL (RedHat Enterprise Linux) с недавнего времени стали предустанавливать Cockpit, доступный на порту 9090.

    • Также, например, вместо утилиты system-config-kickstart предлагается использовать web-инструмент kickstartconfig (требуется регистрация на сайте) для создания файлов автоответов для развертывания системы по сети.

  • В ​⊚Alt используется веб-интерфейс alterator, доступный на порту 8080.

  • Достаточно много настроек системы позволяет выполнить веб-интерфейс Webmin, доступный на порту 10000. Имеются пакеты для установки на RedHat и Debian-деривативы.

  • В дистрибутиве ⊚CDH от Cloudera для работы с технологий «больших данных» используется несколько web-интерфейсов, в том числе Ambari на порту 8080.

  • ⊚OpenWrt — дистрибутив для роутеров, управляется, в том числе и через веб-интерфейс.

  • Свой веб-конфигуратор используется:

Пример автоконфигурирования при установке пакетов

  • 2.3c) Используемое окружение рабочего стола. Существует достаточно много дистрибутивов, в рамках которых разрабатывается своё DE (Desktop Environment — окружение рабочего стола) [На эту тему рекомендую посмотреть мою статью с обзором различных DE под LInux]. Также есть много деривативов, которые развивают ответвление с другим окружением рабочего стола, нежели с используемым в основном дистрибутиве.

⊚Elementary OS, ⊚Linux_Mint, ⊚​AstraLinux, ⊚Deepin, ⊚Solus, ⊚Bodhi_Linux, ⊚Pop!_OS, ⊚CuteFishOS, ⊚Ubuntu_Kylin

Дистрибутивы развивающие свою DE:

  • в дистрибутиве ⊚Elementary OS используется и разрабатывается DE Pantheon (здесь большой уклон в MacOS-подобное оформление рабочего стола);

  • в ⊚Linux_Mint — DE Cinnamon;

  • в ⊚​AstraLinux — DE с названием Fly;

  • в ⊚Deepin — Deepin DE; <

    © Habrahabr.ru