Многообразие Linux-дистрибутивов
Автор Linux Certified Instructor
Дата публикации: 31 августа 2021
Цель этой статьи показать и объяснить многообразие дистрибутивов 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):
На этой картинке в хронологическом порядке (с 1992 до 2021 года) отображено, какие дистрибутивы существовали в разные годы, а параллельными разноцветными горизонтальными линиями - различные дистрибутивы:
- С даты начала проекта до даты окончания существования дистрибутива или текущего года, если разработка дистрибутива в текущий момент продолжается.
- Посредством соединения кривыми линиями показано, какие дистрибутивы являются производными от других дистрибутивов.
- Вертикальные пунктирные линии указывают на различные слияния проектов.
3) Около 300, если учитывать только те проекты, которые в текущий момент считаются актуальными (не объявлено о сворачивании разработок, и выходят новые релизы). Если быть точнее, их ровно 270 (согласно Linux_Distribution_Timeline (за 2021) и 254 (согласно DistroWatch).
4) Около 5, если учитывать дистрибутивы часто упоминаемые: ⊚RedHat, ⊚SUSE, ⊚Debian, ⊚Ubuntu, ⊚Arch, ... (не обижайтесь если кого не назвал - просто навскидку пишу, что сразу вспомнилось). Кстати, таким же будет количество (около 5), если в организации требуется использовать "отечественную ОС". Только список в этом случае другой: ⊚Alt, ⊚AstraLinux, ⊚ROSA, ... (но об этом подробнее будет далее).
5) Один, если учитывать мнение ярого фаната отдельного дистрибутива.
Вопрос: Что у них общего?
Рассмотрим основные сходства. Почему-то же они все называются "Линуксы". При этом еще есть "Юниксы (и они - не Линуксы)". Многим начинающим кажется неожиданным тот факт, что 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).
Вопрос: В чем они различаются?
ОТЛИЧИЯ
-
Модификации ПО: патчи к ядру, патчи к программам, выбор ПО по умолчанию.
-
Предназначение: Под определенные задачи, пользователей, оборудование.
Отличия: 1. Модификации ПО
Кстати в фильме 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 отличаются, и это разница между ядром для серверного дистрибутива и ядром для десктопного от разных производителей.
В фильме 2015года «Терминатор: Генезис» также встречается упоминание ядра (версия 4.82.384.42).
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 и grsecurity.
⊚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 Смоленск):
-
3 046 пакетов на установочном диске (он же единственный, используемый по умолчанию репозиторий ⊚AstraLinuxSE (1.6 Смоленск));
-
3 156 пакетов, если подключить диск с обновлениями Update6 для ⊚AstraLinuxSE (1.6 Смоленск);
-
13 973 пакета, если подключить репозиторий от ⊚AstraLinuxCE (1.6 Орел);
-
52 971 пакетов, если подключить репозиторий ⊚Debian (9 Stretch).
Здесь упоминаются два продукта АО «НПО РусБИТех»: коммерческий специального назначения ⊚AstraLinuxSE и бесплатный общего назначения ⊚AstraLinuxCE.
1.3c) Есть дистрибутивы, которые используют или делают сильный уклон только на "лицензионно чистое ПО".
Free-Дистрибутивы
Дистрибутивы с пометкой “Free only” в сравнении (Comparison_of_Linux_distributions).
Отличия: 2. Отличия в основе
Отличия в основах можно разделить на следующие категории:
-
2.1 "Основан на ..." или производные дистрибутивы: клоны, деривативы.
-
Вопрос: "Основанный на другом дистрибутиве" - как такое возможно? Не пиратство ли это?
-
-
2.3 Своё ПО: утилиты настройки, окружение рабочего стола, ...
-
2.4 Пакеты: Формат пакетов, пакетный менеджер, график выхода релизов
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, …
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 ныне модно),
Рак пятится назад,
А Щука тянет в воду.
А воз ... медленно, но верно
продвигается во всех направлениях."
2.2 Отличия от стандартов
Это когда дистрибутив пытается использовать нестандартное решение, отличное от используемого в большинстве Linux-дистрибутивах. С одной стороны, такие дистрибутивы не так распространены, и их путь достаточно тернист. С другой стороны, возможно, решение, которое они продвигают, когда-нибудь станет новым стандартом, ну или хотя бы поводом пересмотреть устаревший стандарт.
⊚GoboLinux, ⊚Devuan, ⊚Alpine, ⊚Void
-
⊚GoboLinux использует собственную иерархию директорий (не использует общепринятый в Linux и Unix стандарт FHS).
-
Есть дистрибутивы, которые вместо ныне "популярной" systemd по ряду причин используют другие системы инициализации.
-
⊚Devuan - клон Debian, но только с заменой systemd на другие системы инициализации (несколько вариантов).
-
⊚Calculate_Linux использует OpenRC.
-
⊚GuixSD использует GNU_Shepherd.
-
-
Многие минималистичные дистрибутивы (например, как ⊚Alpine) вместо базовых утилит из GNU_Coreutils используют набор утилит из BusyBox.
-
Используемая по умолчанию "не общепринятая" технология:
-
файловая система:
-
ext4 и xfs (большинство дистрибутивов);
-
SquashFS (многие LiveCD);
-
btrfs (⊚SUSE, ⊚Fedora, ⊚Calculate_Linux, …);
-
Распределенные файловые системы: HDFS(⊚CDH).
-
-
Разные среды оформления рабочего стола на одном и том же дистрибутиве (здесь OpenSUSE)
2.3 Своё ПО
Многие разработчики идут по пути упрощения работы в своих дистрибутивах для простых пользователей, как минимум, создавая и добавляя в дистрибутив своё дополнительное ПО.
-
2.3a) Инсталлятор для упрощения процедуры установки системы.
-
Наличие файла автоответов. В какой-то мере для меня это знак зрелости дистрибутива для использования его в корпоративной среде. Это возможность разворачивать систему в автоматическом режиме с использованием "файлов автоответов", и чем гибче синтаксис этого файла и чем больше настроек в нём можно указать, тем больше дистрибутив подходит для больших компаний.
-
Текстовый инсталлятор. Наличием графического инсталлятора в текущий момент уже, наверное, сложно кого-то удивить, но для серверов (или встраиваемых устройств, не использующих видеокарт и мониторов со "стандартным" разрешением) и для установки в облаках бывает полезно наличие инсталлятора, работающего в текстовом режиме.
-
Установка в основном по сети. Установочный диск содержит только минимальный набор утилит для установки, а все устанавливаемые пакеты скачиваются из сетевых репозиториев.
-
Инсталлятор из режима LiveCD позволяет попробовать дистрибутив и поддержку железа в режиме LiveCD, а затем при желании и установить.
-
Возможность при установке автоматически скачать и установить дополнительные пакеты из интернета (например, не свободно распространяемое ПО, которое не доступно по умолчанию в дистрибутиве из-за ограничений, часто из-за региональных правовых особенностей). Так часто распространяются видеокодеки, драйвера на некоторое железо (например, графические видеокарты). Спорная польза в такой возможности (по мне лучше всё-таки максимально использовать свободное ПО), но для простых пользователей (недавно перешедших из "мира проприетарных ОС") это явно облегчает начало работы в мире Linuх.
-
⊚RedHat/⊚Fedora, ⊚SUSE, ⊚Debian/⊚AstraLinuxSE, ⊚Ubuntu, ⊚Manjaro, ⊚Alt
Примеры различных инсталляторов
-
Инсталлятор 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.
Примеры текстового режима установки
-
В большинстве серверных дистрибутивов есть текстовый режим установки, как, например, в ⊚Ubuntu_Server или в ⊚SLES (SUSE Linux Enterprise Server)
-
2.3b) Конфигураторы. Обычно дистрибутивы, ориентирующиеся на простого пользователя, создают свои дополнительные утилиты, упрощающие настройку системы. Чтобы различные действия по настройке системы мог выполнить человек без навыков работы в командной строке и без знаний, какие параметры в каких конфигурационных файлах требуется изменить. Отдельно стоит упомянуть графические утилиты настроек, веб-конфигуратор, автоконфигурирование при установке и сборке пакета.
-
Графические утилиты настроек. Поговаривают, что "простым пользователям понятнее в кнопочки мышкой тыкать". Вот для них и стараются разработчики user-friendly дистрибутивов.
-
Веб-конфигуратор. Удаленное управление машиной через web-интерфейс - достаточно востребованное решение, но и добавляет риски взлома системы.
-
Автоконфигурирование при установке/сборке пакета. При установке новой программы или службы отображается меню-образный интерфейс с вопросами о выборе режима работы службы или использовании одного из стандартных профиля настроек.
-
⊚SUSE, ⊚Alt, ⊚RedHat, ⊚CDH, ⊚Debian
Примеры графических утилит настроек
-
В ⊚SUSE используется модульная утилита настроек системы YaST, которая позволяет из графики настроить очень многое в системе, в том числе и настроить различные сетевые службы. Имеется также ncurses-вариант, позволяющий настраивать систему в псевдографическом виде, например, в консоли через ssh.
-
В ⊚Alt используется графическая утилита acc (GUI для alterator).
-
В ⊚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 - дистрибутив для роутеров, управляется, в том числе и через веб-интерфейс.
-
Свой веб-конфигуратор используется:
-
в серверных ⊚NethServer, ⊚ClearOS, ⊚SME_Server, ⊚Zentyal;
-
Пример автоконфигурирования при установке пакетов
-
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;
-
в ⊚Bodhi_Linux - Moksha DE (на основе Enlightment);
-
в ⊚CuteFishOS - CuteFish DE;
-
в ⊚Ubuntu_Kylin - UKUI DE (на основе MATE).
Некоторые DE так и используются в рамках только одного дистрибутива, но наиболее удачные реализации начинают поставляться в виде готовых пакетов и в другие дистрибутивы. Например, Cinnamon можно установить во многих дистрибутивах.
⊚Ubuntu, ⊚Kubuntu, ⊚Lubuntu, ⊚Xubuntu, ⊚Ubuntu_MATE, ⊚Ubuntu_Unity, ⊚UbuntuDDE, ⊚Ubuntu_Budgie; ⊚Alt, ⊚Fedora, ⊚openSUSE
В ⊚Ubuntu долгое время использовалась DE Unity (в текущий момент используется DE GNOME). Как следствие фанаты Ubuntu, желающие использовать другие DE по умолчанию из коробки, выпускают деривативы Ubuntu (по первой букве можно судить о DE):
-
в ⊚Ubuntu_MATE - DE MATE;
-
в ⊚Ubuntu_Unity продолжается развитие DE Unity;
-
в ⊚UbuntuDDE используется уже упомянутый выше Deepin DE;
-
в ⊚Ubuntu_Budgie используется уже упомянутый выше Budgie DE.
Подобные готовые сборки с различными DE:
-
в ⊚Alt называются Starterkits;
Есть много дистрибутивов (например, ⊚openSUSE), в которых не создается отдельный дериватив для разных DE, а просто при установке в инсталляторе выбирается какой DE или даже несколько требуется установить.
2.3d) Другое специализированное ПО. Довольно многие узкоспециализированные дистрибутивы содержат свой дополнительный (и не присутствующий в других дистрибутивах) набор утилит, собственных или совместно разрабатываемых.
⊚Alt, ⊚AstraLinuxSE
-
Так, в ⊚Alt используются TCB-схема хранения паролей и утилита control (переключение некого набора предустановленных политик).
-
⊚AstraLinuxSE использует свой модуль ядра parsec, позволяющий реализовать одну из моделей мандатного управления доступом, и имеет свой набор утилит для управления уровнями и категориями конфиденциальности: консольные (userlev, usercat, pdpl-user, pdp-id, pdpl-file, pdp-ls, ...) и графическая (fly-admin-smc).
"В APT есть коровья СУПЕРСИЛА" - пасхалка в apt и aptitude.
2.4) Пакеты
Одно из основных отличий, на которое часто натыкаются новички при прочтении различных статей по Linux. В них вначале говорится, что нужно доустановить пакеты, и тут выясняется, что в различных дистрибутивах пакеты устанавливаются разными командами.
Как уже сказано выше, исходники программ в разных дистрибутивах во многом одинаковые, а вот установочные пакеты, полученные на их основе, различаются, как различаются и пакетные менеджеры (программы, при помощи которых эти пакеты ищутся и устанавливаются).
2.4a) Формат пакетов
-
rpm-пакеты и deb-пакеты: *.rpm, *.deb. Отдельно выделил этот пункт, так как большинство дистрибутивов используют один из этих форматов пакетов - в основном, конечно, RedHat-based и Debian-based дистрибутивы, но и не только.
⊚RHEL, ⊚Alt, ⊚openSUSE, ⊚SLES, ⊚Debian, ⊚Ubuntu, ⊚AstraLinux
-
Пакеты *.rpm используется в ⊚RHEL (RedHat Enterprise Linux), в различных RedHat-деривативах (⊚Fedora, ⊚Mageia, ...) и RedHat-клонах (⊚CentOS, ⊚OracleLinux, ...).
-
Так как формат пакетов RPM является открытым форматом, то пакеты *.rpm используются и в некоторых других дистрибутивах, НЕ основанных на RedHat: ⊚Alt, ⊚openSUSE, ⊚SLES (SUSE Linux Enterprise Server).
-
Пакеты *.deb используются в основном в ⊚Debian и деривативах Debian (⊚AstraLinux), в том числе и в ⊚Ubuntu, и деривативах Ubuntu.
-
Другие собственные форматы бинарных пакетов: *.tar.gz, *.txz, *.pkg, *.ipkg, …; в том числе использование форматов переносимых приложений: snappy, flatpak, AppImage, …
⊚Slackware, ⊚Arch, ⊚Manjaro, ⊚Puppy_Linux, ⊚Solus
-
В ⊚Slackware используются пакеты *.txz
-
В ⊚Puppy_Linux - *.pet
-
В ⊚Solus - *.eopkg
-
Из исходников (в том числе, подход, похожий на порты FreeBSD): Дистрибутивы с подходом "не для новичков" используют пакеты на основе исходников, которые компилируются при установке пакета. Данный подход дает возможности оптимизации ПО под конкретное аппаратное обеспечение и задачи (отказ от ненужных зависимостей, выбор собираемых компонентов) и как следствие - прирост в производительности и настраиваемости получаемого пакета.
⊚Gentoo, ⊚Linux_From_Scratch,
Из исходников устанавливают пакеты в:
-
⊚Arch, ...
-
Также в дистрибутивах с rpm и deb-пакетами можно выполнять аналогичные действия путем пересборки готовых пакетов с исходниками: *.src.rpm и *.dsc соответственно.
2.4b) Пакетный менеджер. Утилита, позволяющая искать и устанавливать пакеты, обновлять систему. Использование собственного формата пакетов ведёт к использованию собственного пакетного менеджера.
⊚Alt, ⊚SUSE, ⊚Mageia, ⊚ROSA, ⊚Arch, ⊚Slackware, ⊚Solus, ⊚Void, ⊚NixOS, ⊚Guix_SD
-
В RedHat-деривативах - yum или dnf (и GUI: PackageKit и yumex).
-
В Debian-деривативах - apt и утилиты: apt-get, apt-cache, … (и GUI: synaptic, adept, PackageKit. Также есть псевдографическая aptitude).
-
Что забавно и неожиданно, в ⊚Alt используется пакетный менеджер apt (а также synaptic и aptitude), хотя используется формат пакетов не deb, а rpm. Обусловлено это тем, что apt был портирован в AltLinux, когда yum еще не существовал, а позже не было причин перехода на yum. Так что ⊚Alt уникален тем, что использует apt для управления rpm-пакетами.
-
В ⊚SUSE - zypper (и GUI: yast2 sw_single)
-
В ⊚Slackware - pkgtool, slackpkg и sbopkg
-
В ⊚Solus - eopkg
-
В ⊚Void - xbps
-
Достаточно уникальный подход с использованием декларативной конфигурации реализован на основе пакетного менеджера nix в ⊚NixOS и аналогичный подход в ⊚Guix_SD
2.4c) График выхода релизов. Здесь стоит выделить различные подходы к выпуску готовой для использования версии дистрибутива (есть дистрибутивы, которые используют несколько из этих подходов).
-
Стабильный релиз. Многие дистрибутивы следуют этому классическому подходу периодически выпускаемых протестированных версий. Обычно с выходом нового релиза (который выпускается раз в несколько лет) предыдущий релиз некоторое время (часто около года) еще поддерживается (для него выпускаются обновления с исправлением уязвимостей, но без добавления нового функционала). Затем рекомендуется переходить на (или обновить до) новую версию дистрибутива.
⊚Slackware, ⊚SUSE, ⊚Ubuntu
Обычно нумерация релизов идет по порядку, начиная с первого, и с каждым релизом увеличивая на единицу, но есть "хитрецы", которые увеличивают эти цифры, чтобы выглядеть "посолиднее":
-
(Цитата из Википедии) В 1999 году серия релизов ⊚Slackware перескочила с четвертого до седьмого релиза. Патрик Фолькердинг назвал это маркетинговым ходом, направленным на то, чтобы показать, что Slackware также прогрессивен, как и другие дистрибутивы, многие из которых на то время имели релизы с номерами от шести и выше.
-
Свою первую версию дистрибутива ⊚SUSE в далеком 1996 году выпустила по названием "S.u.S.E Linux 4.2", объясняя это ответом на самый главный вопрос из "Автостопом по Галактике" (на самом деле до этой версии было выпущено шесть релизов, нумерация которых была привязана к ⊚Slackware).
-
Также про ⊚SUSE. После релиза ⊚SLES_12 был выпущен сразу релиз ⊚SLES_15. Официально объяснили, что 13 (в Европе) и 14 (в Азии) - это несчастливые цифры. Но на самом деле это было сделано, чтобы синхронизировать нумерацию версий в ⊚SLES (SUSE Linux Enterprise Server) с ⊚openSUSE, который успел к этому времени выпустить релизы 13 и 14 (или опять 42). Кстати, примерно в это же время "вышла" легендарная Windows 9 от Microsoft.
-
⊚Ubuntu первый свой дистрибутив выпустила с номером 4.10, а следующий - с номером 5.04. Для непосвященного это кажется обманом, но на самом деле хитрость состоит в особом способе нумерации версий Ubuntu, в котором первое число указывает на год выпуска, а второй на месяц. Т.е. судя по версии 4.04, дистрибутив был выпущен в 2004 году в апреле, а 20.10 - в октябре 2020.
-
Кстати, не обошлось в номерах релизов ⊚Ubuntu и без ответа на самый главный вопрос из "Автостопом по Галактике" - версия 10.10 была специально выпущена 10 октября 2010, чтобы обыграть 42 (101010 - в двоичной системе).
-
LTS-релизы (Long Term Support - «поддержка в течение длительного периода»). Аналогичный подход к выпуску стабильных и обычно более протестированных релизов, при этом дистрибьютор специально гарантирует выпуск обновлений для данного релиза на определенный достаточно продолжительный срок.
⊚Ubuntu, ⊚SLES, ⊚RHEL, ⊚Alt
К слову, в разных дистрибутивах термин "Long Term Support" означает разный период (также часто имеется дополнительный период выпуска критических обновлений), к примеру:
-
у ⊚SLES (SUSE Linux Enterprise Server) - 10 лет (+3 года Long Term ServicePack Support);
-
у ⊚RHEL (RedHat Enterprise Linux) - 5 лет (+5лет критических обновлений, +3года доступности пакетов и документации после официального прекращения поддержки);
-
у ⊚Ubuntu - 5 лет (+3года Extended Security Maintenance);
-
у ⊚Alt - не менее 5-ти лет с даты выпуска продукта и не менее 3-х лет с даты последней продажи.
-
Тестовый релиз. В противовес стабильному релизу, который обычно содержит протестированное ПО, некоторые дистрибутивы еще поддерживают выпуск тестовых версий с наисвежайшими версиями программ и библиотек, но при этом менее протестированные. Используется любителями всего нового и разработчиками. Позже на основе этого релиза будет выпущен стабильный релиз.
⊚Kali_Linux
Некоторые Debian-деривативы (например, легендарный "хакерский" ⊚Kali_Linux) разрабатываются на основе Debian(Testing), чтобы изначально включить наиболее новые версии пакетов.
-
Роллинг-релиз (Rolling_release). Есть дистрибутивы, которые умудрились организовать сборку, проверку зависимостей пакетов и тестирование своего дистрибутива так, что это позволяет им выпускать стабильные релизы буквально ежедневно. Такие дистрибутивы предоставляют своим пользователям наиболее свежие версии программ. При этом в отличие от тестового релиза, который изначально позиционируется как тестовая (и, вероятно, не совсем стабильная) версия дистрибутива роллинг-релиз всё же позиционируется как вполне стабильная версия (за счет некой автоматизации в сборке и тестировании). Обычно такие дистрибутивы вместо классической нумерации версий (в виде увеличивающего на единицу числа) используют дату.
⊚openSUSE, ⊚CentOS Stream, ⊚Arch, ⊚Calculate_Linux, ⊚GeckoLinux
-
В ⊚openSUSE стабильный релиз называется ⊚openSUSE_Leap, а плавающий (rolling) релиз - ⊚openSUSE_Tumbleweed, и, например, можно увидеть версию в виде даты в файле /etc/os-release:
NAME="openSUSE Tumbleweed"
# VERSION="20210504"
ID="opensuse-tumbleweed"
ID_LIKE="opensuse suse"
VERSION_ID="20210504"
...
-
Вместо подхода "клон RedHat'а" ⊚CentOS c 2021 начал выпускаться в формате rolling-release дистрибутива с названием "⊚CentOS Stream" как тестовая площадка для выпуска следующих версий ⊚RHEL (RedHat Enterprise Linux).
-
⊚Arch использует Rolling_release-подход.
-
⊚Calculate_Linux использует Rolling_release-подход.
-
По версии "999.210526" можно судить о дате сборки ⊚GeckoLinux (дериватив "⊚openSUSE_Tumbleweed" с оптимизациями рабочего стола).
Отличия: 3. Форма организации
Вопрос: Как можно продавать то, что по определению распространяется бесплатно?
Начнем с того, что разберемся с тем, как можно продавать ОС, созданную на основе свободного (а в большинстве случаев это также означает "бесплатного") ПО. Кстати в лицензиях на свободное ПО нет запретов на продажу - главное чтобы с проданным ПО предоставлялись его исходники.
Здесь я не агитирую переходить на коммерческие дистрибутивы, скорее пытаюсь показать, за какую работу берется оплата. А стоит она того или нет, решать уже вам самим.
От "свободного ПО" до готового дистрибутива достаточно длинный путь. Давайте оценим, за что платят клиенты коммерческих дистрибутивов, и какая работа кем выполняется. Перечислю действующих лиц и их вклад в создание ОС (здесь у меня главная цель - показать, что разработчик и майнтейнер - это разные люди. Часто это совсем не очевидно для новичков):
-
Разработчик (программист или группа программистов, организация), который разрабатывает программу. Чаще всего не имеет никакого отношения к используемому вами дистрибутиву. Не занимается сборкой пакетов для различных дистрибутивов (максимум под тот дистрибутив, который использует сам). И это не прихоть и не вредность. Попробуйте помимо разработки программы поддерживать с десяток типов пакетов под 200+ дистрибутивов [Часто авторы не совсем свободного ПО создают, как минимум, по одному пакету для дистрибутивов, основанных на ⊚RedHat и на ⊚Debian и, если у вас другой дистрибутив, придется помучиться с их установкой]. Разработчик выкладывает исходники программы или на своем сайте, или на каком-нибудь git-хранилище проектов.
-
Майнтейнер (от английского maintainer - по звучанию ближе к "мэйнтейнер") - это уже сотрудник дистрибутива. Он, зная особенности дистрибутива, собирает из исходников пакет под этот дистрибутив, отслеживает зависимости с другими пакетами, добавляет (часто и пишет) патчи, тестирует работоспособность собранного пакета, отслеживает какие обновления появляются в исходниках. Полученный пакет выкладывается в репозиторий дистрибутива.
-
А также остальные (в бесплатных проектах это выполняется "внутренними силами", но нужно понимать, что это расходы):
-
Архитектор системы. Требуется собрать много разрозненных пакетов в одну связанную операционную систему и для каждой пользовательской задачи должна присутствовать хотя бы одна утилита.
-
Ну и дизайнер. Часто замечают только его работу с "новыми нескучными обоями". И если это единственное новшество в дистрибутиве, то просуществует такой проект не долго и будет вспоминаться (только ради шутки как очередной ⊚BolgenOS).
-
Сотрудники техподдержки. Те, кто целыми днями ожидают (и отвечают на запросы) у телефона или электронной почты.
-
Менеджеры, бухгалтеры, админы сайта.
-
Для начала надо понимать, что свободно распространяется. Распространяются исходники программ, из которых состоит ОС. Но исходники - это еще не сама программа (хотя и основная её часть), и для того, чтобы получить рабочую программу, из исходников нужно скомпилировать бинарные запускаемые файлы (в идеале создать установочный пакет). И это не так уж и сложно, хотя если вы этого ни разу не делали, то рекомендую хотя бы раз потратить пару дней на знакомство с gcc, make (Makefile), autotools (autoconf, automake), CMake, dpkg-source или rpmbuild. Получите полезный опыт и кругозор, а также сможете оценить, стоит ли платить за подобную регулярную (а с каждым обновлением необходимо будет пересобрать пакет) работу майнтейнерам дистрибутива.
И так нужно сделать для всех утилит, добавляемых в дистрибутив. При этом утилиты используют (распространенный подход в Linux) большое количество сторонних библиотек, которые также необходимо собрать и доставить. Плюс библиотеки бывают разных версий, а также разные утилиты могут использовать разные версии python, php, openssl, … и нужно умудрится собрать это всё в рамках одной ОС.
Приведу аналогию. Это чем-то похоже на свободно распространяемые в интернете рецепты по приготовлению блюд. Есть те, кто готов потратить не один вечер на самостоятельную готовку в режиме проб и ошибок (есть даже те, кто от этого получает удовольствие), но ведь есть и те, кто пойдет в кафе/ресторан, заплатит разные деньги разного уровня профессионалам и получит более быстрый и предсказуемый результат. Но еще раз замечу, рецепты абсолютно любых и даже сильно экзотических блюд сейчас вполне легко можно найти в интернете абсолютно бесплатно.
Еще одна очень верная цитата: "Следует хотя бы раз попробовать развернуть дистрибутив ⊚Linux_From_Scratch. У этого действия есть один интересный побочный эффект: люди, которые склонны проявлять неудовлетворенность в списках рассылки и на форумах дистрибутивов, вероятно, проявят гораздо больше уважения к разработчикам. Установка готового дистрибутива - тривиальная задача. Но совсем нетривиально создание набора из четырех компакт-дисков, содержащих стабильную, безопасную и надежную операционную систему и тысячи приложений".
3.1 Коммерческие дистрибутивы и развиваемые сообществом добровольцев.
3.1a) Коммерческие дистрибутивы. Здесь имеются в виду различные способы получения прибыли от производства дистрибутива.
-
Продажа лицензий или подписок на использование дистрибутива. Самый прямолинейный способ - просто выставить цену, сколько стоит использование дистрибутива на одном компьютере (в том числе, на виртуальном).
⊚RHEL, SLES, ⊚Alt, ⊚AstraLinux
Перечислю некоторые коммерческие дистрибутивы.
-
Фирма “RedHat, Inc” (с 2019 - принадлежит “IBM”) предлагает коммерческий дистрибутив RHEL;
-
Фирма “SUSE” - дистрибутив SLES;
-
Фирма “НПО РусБИТех” - дистрибутив Astra Linux Special Edition;
-
Фирма “Oracle” - дистрибутив OracleLinux.
На самом деле, в этой части статьи можно к каждому абзацу приводить примеры от данных и других коммерческих дистрибутивов, но их предложения для клиентов достаточно часто меняются, и лучше заходить на сайты этих проектов и разбираться на конкретный момент времени. (Ну или делать отдельную статью сравнения).
-
Часто предоставляют бесплатный доступ к использованию коммерческого дистрибутива:
-
для образовательных учреждений;
-
для разработчиков/тестеров или различных деловых партнеров;
-
для малых организаций (например, при установке на менее, чем на десять компьютеров);
-
на пробный период (обычно несколько месяцев).
-
⊚RHEL, ⊚SLES
Продолжительность пробного периода
-
⊚RHEL (RedHat Enterprise Linux) - 30 дней (по истечению этого срока снова активировать триальную подписку можно только через 90 дней),
-
Платные обновления. Фактически дистрибьютор берет на себя ответственность в случае выявления уязвимостей (в безопасности или в функционале) как можно быстрее выпустить обновление пакета с исправлением. Часто стабильный релиз дистрибутива можно свободно скачать с сайта дистрибутива и использовать, в том числе и в коммерческих интересах. Он будет полностью работоспособный (ничем не отличатся от оплаченной версии) и продолжать работать в полной мере и по истечению тестового периода, однако по истечению тестового периода будут недоступны обновления. Некоторые дистрибутивы своевременно предоставляют обновления (по мере их появления) для тех, кто оформил платную подписку и с задержкой (например, в несколько недель) для тех, кто использует дистрибутив бесплатно.
-
Платная техподдержка. Цена лицензии зависит от выбранного плана техподдержки: на какой срок предоставляется техподдержка, в какие дни и время (например, предусмотрено ли устранение проблем в нерабочие дни), скорость реакции на запрос, наличия нескольких уровней поддержки, формата взаимодействия (по телефону, e-mail/мессенджеры, "срочно высылают инженера на вертолете").
-
Дополнительные продукты и услуги. Дополнительные готовые (часто платные, но могут быть и бесплатные) решения для централизованного управления компьютерным “парком” в организации, кластерные решения, обеспечивающие минимальное время простоя серверов, сервер обновлений внутри организации и т.д. Все это может быть не востребовано (либо, в простых случаях, реализовано собственными разработчиками) в небольшой компании, но в больших организациях проще и лучше (а иногда и дешевле) использовать готовое проверенное решение.
-
Также обычно организованы и поддерживаются в актуальном состоянии различные онлайн-сервисы: официальный сайт, репозитории, форум, bugzilla, wiki-документация.
-
-
Сертификации. Отдельные процедуры, требующие от дистрибьютора затрат как временных, так и финансовых, но предоставляющие клиентам дополнительные гарантии.
-
Сертификаты на соответствие (ФСТЭК, ФСБ, Минобороны). Они подтверждают отсутствие недекларированных возможностей и удовлетворение требованиям безопасности. Бывают различных уровней.
-
Сертификация на совместимость ПО. Проверяется и гарантируется, что данное дополнительное (не входящие в дистрибутив) ПО устанавливается и работает без ошибок.
-
Сертификация на совместимость оборудования. Проверяется и гарантируется, что дистрибутив распознает и работает без ошибок с данным оборудованием (планшет, ноутбук, видеокарты, токены, сканеры, МФУ, СХД, …).
-
⊚Alt, ⊚AstraLinux, ⊚SLES
-
⊚Alt: на сайте представлена таблица с информацией по совместимости ПО и оборудования.
-
⊚AstraLinux: на сайте представлены таблицы с информацией по совместимости ПО и оборудования.
-
⊚SLES (SUSE Linux Enterprise Server): на сайте представлен поиск по совместимости ПО и оборудования.
-
⊚openSUSE: перечень поддерживаемого оборудования. Замечу здесь пример некоммерческого дистрибутива, и для него не смог найти списков совместимого ПО, так как обычно эту затратную процедуру не проводят в бесплатно распространяемых дистрибутивах, как и получение сертификатов соответствия.
-
Из минусов стоит отметить, что большинство коммерческих дистрибутивов в сравнении с дистрибутивами общего назначения имеют в официальных репозиториях гораздо меньше пакетов (но всё же достаточно много), и эти пакеты не самых свежих версий (а наиболее протестированные). Это обусловлено необходимостью тестировать и поддерживать весь софт, входящий в дистрибутив. Хотя обычно имеются различные сторонние (за качество которых уже коммерческая компания не отвечает) репозитории с дополнительными пакетами.
⊚SLES, ⊚RHEL, ⊚Ubuntu
Операционные системы на основе ядра Linux и системных библиотек GNU, традиционно называемые «Linux», корректнее было бы обозначать как «GNU/Linux».
3.1b) Дистрибутивы, развиваемые сообществом
Мое личное мнение, что многообразие дистрибутивов Linux, развиваемых сообществом, и есть основа экосистемы Linux, которая позволяет Linux находиться на передовой развития информационных технологий. Здесь появляются и апробируются новые решения и технологии. Работает эволюционный подход: хорошие идеи находят своих последователей и продолжают развитие, остальные отмирают, но это не означает, что идеи были плохими, возможно, они были предложены не ко времени. Кроме того, со временем становится заметно, под свои задачи люди разрабатывают лучше, чем на продажу. И, мне кажется, основная заслуга Линуса Торвальдса не совсем в том, что он разработал ядро Linux, а в том что он своим письмом (призывом присоединяться к проекту) собрал вокруг этого ядра сообщество, и уже вместе с его участниками создали огромный международный проект и экосистему, с которой стало сложно конкурировать другим "популярным" ОС. Тут также огромная заслуга Ричарда Мэттью Столлмана с его проектом GNU и лицензией GPL. Это кодовая база и юридическая база, которые служат основным фундаментом ОС GNU/Linux.
Тут выделил бы два наиболее распространенных подхода в форме организации сообщества.
-
Меритократическое правление. Из наиболее активных участников сообщества выбираются ответственные за принятие решений о развитии проекта и за разрешение спорных вопросов. Эти люди выбираются на некоторый ограниченный срок и действуют по заранее оговоренным правилам взаимоотношений и принятия решений.
⊚Debian, ⊚Alt, ⊚Arch
-
В ⊚Debian избирается сроком на один год лидер проекта, а спорные вопросы решает технический комитет. Есть даже собственная Конституция, регулирующая все взаимоотношения участников проекта.
-
В ⊚Arch есть возможность участвовать не только как разработчик (который собирает пакеты для основных репозиториев), но и в качестве доверенного пользователя (Trusted_Users), в задачи которого входит сборка пакетов в дополнительные репозитории и участие в процедуре голосования (SVP). Расписаны правила общения на форумах.
-
Великодушный пожизненный диктатор. Один человек, организовавший проект (или бывает выбранная должность, после того как основатель по каким-то причинам отошел от проекта) полностью берет на себя право принятия ключевых решений и урегулирование спорных решений (когда мнения участников сообщества разделяются). "Великодушность" - обязательный критерий, так как участие в разработке такого дистрибутива добровольное, а значит, "тиран-самодур" быстро растеряет последователей (ничто не мешает переключиться на развитие другого проекта).
⊚Ubuntu, ⊚Slackware, ядро Linux
-
Также Линус Торвальдс в проекте разработки ядра Linux
3.2 Прогнозируемость проекта
Здесь опишу достаточно важный критерий, на который начинаешь обращать внимание с годами пользования различными дистрибутивами Linux. И это прогнозируемость проекта. В мире Linux достаточно часто появляются новые дистрибутивы, а также "форки" уже существующих дистрибутивов: какие-то из них просуществуют десятилетия, а какие-то уже распадутся через полгода после новостного анонса.
Цитата с DistroWatch.com: Большое количество дистрибутивов не переживает первого года своего существования. Он (период ожидания на добавление в DistroWatch.com) дает новым проектам время для создания правильной инфраструктуры, включая форумы, списки рассылки, документацию, базы данных отслеживания ошибок и т.д.
-
3.2a) "Недавно появившиеся" и "давно существующие" проекты/люди/организации. Есть больше доверия к "давно существующим" в мире Linux людям, уже успевшие организовать существующие долгое время проекты.
-
"Недавно появившиеся". Они могут быть с интересными новаторскими идеями, но их будущее не очень понятно, так как сообщество не сформировано. А новые пользователи могут так же быстро переключить своё внимание на новый проект, а руководство, "наигравшись", - продать бренд и заняться реализацией нового "стартапа".
-
"Давно существующие". Сложившееся сообщество, устоявшиеся и предсказуемые правила принятия решений, предсказуемые цели развития.
Хотя как "новички" могут стать "старожилами", так и "старожилов" может "поглотить" новый бизнес/кризис/возраст. И все же при выборе дистрибутива на долгое использование ("не только поиграться с интерфейсом") рекомендовал бы выбирать из "старожилов".
-
-
3.2b) Количество участников в проекте. Очевидно, что лучше когда в проекте много участников и большое сообщество активных пользователей, дающих разработчикам конструктивную обратную связь о решениях, принятых в дистрибутиве.
-
3.2с) Full-time разработчики или любительский проект в свободное время. Хотя многие дистрибутивы начинались как любительские проекты и продолжают существовать долгие годы в этом формате, всё же наличие Full-time разработчиков (подобное обычно возможно в коммерческих дистрибутивах, либо за счет регулярных донатов, постоянных спонсоров. Последнее время у многих известных бесплатных дистрибутивов сложился данный подход) ускоряет развитие.
3.3 Принадлежность к стране, понятие "отечественный Linux"
Про принадлежность какого-нибудь дистрибутива к определенной стране можно говорить, наверное, только в случае, если это коммерческий дистрибутив, а выпускающая его компания юридически зарегистрирована в этой стране.
Экспортные ограничения
На дистрибутивы, привязанные к определенной стране, действует законодательство данной страны.
-
Так американскими дистрибутивами можно считать продукты американской компании RedHat, Inc (которую, кстати, поглотила американская же компания IBM, Corp), и как следствие на них распространяются законы США и действуют экспортные ограничения США. ⊚RHEL/⊚Fedora/⊚CentOS/⊚RockyLinux с 2017 года не могут поставляться в Крым (пример с упоминанием), а также в Иран, Северную Корею, Судан, Сирию и Кубу.
-
Также в США действуют ограничения на экспорт криптографических продуктов и технологий.
-
До 2018 действовало достаточно много патентых ограничений на распростронение видео- и аудиокодеков. Как следствие многие коммерческие дистрибутивы, распространяющиеся в странах, где действовали эти патентные ограничения, не содержали некоторые популярные кодеки "из коробки", и приходилось доустанавливать кодеки уже после установки.
Ну и может быть, также можно отнести к определенной стране дистрибутивы, выпускаемые одним человеком или группой разработчиков только из одной страны. Однако в текущий момент достаточно сложно перечислить такие проекты.
Вопрос: Американский ли Linux или может финский?
То, что Линус Торвальдс родился в Финляндии и имеет второе гражданство в США, не делает ядро Linux финским или американским - как и дистрибутивы использующие это ядро. Ядро Linux разработано десятками тысяч разработчиков с участием и под руководством Торвальдса и по лицензии GPL, так что данный продукт является чисто международным, как и большинство других программ, входящих в Linux-дистрибутивы.
"Национальные" Linux:
Также стоит понимать, в каких из них могут присутствовать закрытые разработки с госконтролем соответствующей страны.
-
Китайские: ⊚Deepin, ⊚Kylin (а также ⊚NeoKylin и ⊚Ubuntu_Kylin), ⊚UOS (Unity_Operating_System)
-
Когда-то существовали ⊚Red_Flag_Linux (до 2014) и ⊚Asianux (до 2015).
-
-
Французский: ⊚GendBuntu
-
Когда-то существовал очень популярный французский дистрибутив ⊚Mandrake (который, купив бразильский дистрибутив ⊚Conectiva, сменил имя на ⊚Mandriva). На основе него появились французские ⊚Mageia и ⊚OpenMandriva (и достаточно давно американский ⊚PCLinuxOS), а также российский дистрибутив ⊚ROSA.
-
-
Ирландский: ⊚Zorin_OS. Разрабатывается в Ирландии, а организовали (и до сих пор возглавляют) его в 2009 два российских школьника. Любопытно, что тогда им было 12 и 14 лет соответственно.
-
Немецкие: ⊚SUSE, ⊚LiMux, ⊚Siduction
-
Северокорейский: ⊚Red_Star
-
Турецкий: ⊚Pardus
-
Индийский: ⊚BOSS (Bharat_Operating_System_Solutions)
-
Кубинский: ⊚Nova
-
Венесуэ́льский: ⊚Canaima
-
Аргентинский: ⊚Huayra
-
Американские: ⊚RHEL/⊚CentOS/⊚Fedora, ⊚RockyLinux, ⊚OracleLinux
-
Российские: подробно далее
Вопрос: Какой он - "отечественный Linux"?
Из предыдущего раздела, думаю, стало понятно, что существуют как американские дистрибутивы Linux, так и китайские, бразильские, турецкие, и..., почему бы им не быть, российские. Причем, некоторые из российских появились еще задолго до появления таких терминов, как "импортозамещение", "реестр российского ПО", "участие в гос.тендере".
Отдельно выделил бы на текущий момент два ведущих российских проекта ⊚Alt и ⊚AstraLinux (так как предлагают собственные, достаточно проработанные решения, и большинство крупных проектов по "импортозамещению" происходит с их участием).
Сравнение Альт и AstraLinux:
Сравниваю как форму организации, так и их продукты (в основном сертифицированные).
⊚Alt (разрабатывается Базальт СПО и сообществом ALT Linux Team)
-
Не дериватив RedHat'а или Debian'a.
-
Давно существует (с 2001).
-
Помимо коммерческой организации имеется сообщество ALT Linux Team. Достаточно много разработчиков, участвующих давно в проекте.
-
Альт СП сертифицирован ФСТЭК на семь аппаратных платформ: x86, x86_64, AArch64 (ARMv8), armh (ARMv7), эльбрус (e2kv3/v4), ppc64le. Также есть неcеpтифицированные сборки под mipsel, e2kv5, RISC-V.
-
Сертификации на соответствие: ФСТЭК, ФСБ (для: x86/x86_64, Минобороны (для: x86/x86_64, e2k)
-
Есть отдельная сборка для рабочих станций и отдельная для серверов. Есть также бесплатные для физических лиц сборки (например, ⊚Альт_Сервер_Виртуализации, ⊚Альт_Образование) и свободно распространяемые ⊚Simply_Linux и различные Starterkits).
⊚AstraLinux (разрабатывается АО «НПО РусБИТех»):
-
Дериватив Debian (1.6SE на основе "Debian 9 Stretch", а 1.7SE разрабатывается на основе "Debian 10 Buster").
-
Дополнительно содержит большое количество GUI-программ (внешне вполне хорошо проработаны, но большинство разработок закрытые).
-
Свой графический стол Fly (подходит также для использования на смартфонах и планшетах). Есть режим работы "Киоск" - ограничение доступных пользователю приложений и функций рабочего стола.
-
Свои закрытые модули ядра для ограничения доступа к данным (гос.тайне, коммерческой тайне, персональным данным).
-
-
Разработки начались в 2008.
-
Помимо коммерческой организации не сформировано сообщество. Весь процесс разработки осуществляется только в рамках коммерческой организации.
-
Имеются сборки под архитектуры: x86_64, arm, mips, эльбрус.
-
Сертификации на соответствие: ФСТЭК, ФСБ, Минобороны. Сертификат по первому классу защиты информации и первому уровню доверия, который дает право обрабатывать любую информацию ограниченного доступа, включая государственную тайну до степени секретности «особой важности». Также есть сертификация на СУБД с встроенными средствами защиты информации.
-
Помимо сборки специального назначения (с дополнениями для ограничения доступа к данным - гос.тайне, коммерческой тайне, персональным данным) есть отдельная сборка общего назначения (без использования дополнений для ограничения доступа). ⊚AstraLinux_Брест
Общее для обоих проектов
-
Большое количество СПО из коробки, в том числе браузер, офисный пакет, графические редакторы, серверные службы (web-сервер, почтовый сервер, DNS/DHCP, файловый сервер, служба базы данных, ...), инструменты виртуализации, инструменты для резервного копирования и восстановления системы, ...
-
Технологии построения домена на основе FreeIPA и своих наработок с использованием LDAP/Kerberos/Samba
-
-
Санкции других стран не окажут влияния на работу дистрибутива и доступность обновлений.
-
Наличие пополняемой wiki-документации (wiki.astralinux.ru и wiki.altlinux.ru).
-
Есть техподдержка и опыт крупных внедрений.
-
Достаточно полная линейка курсов для обучения пользователей и администраторов.
Также существуют и развиваются другие российские Linux дистрибутивы.
⊚Calculate_Linux, ⊚Runtu, ⊚Ubuntu_Cinnamon_Remix, ⊚Lx4U
-
⊚Calculate_Linux (на основе ⊚Gentoo). Есть серверный вариант и вариант для рабочих станций.
-
⊚Runtu - "русская Ubuntu".
-
⊚Ubuntu_Cinnamon_Remix - Ubuntu с DE Cinnamon.
-
⊚Lx4U (“Linux для себя”) (российское ответвление ⊚Linux_From_Scratch).
Достаточно много "отечественных Linux" зарегистрировано в Едином реестре российских программ.
⊚ROSA, ⊚Аврора, ⊚РЕД_ОС, ⊚AlterOS, ⊚Янукс, ⊚Атлант, ⊚UBLinux, ⊚QP_ОС, ⊚Стрелец, ⊚ЛотОС, ⊚Нейтрино, ⊚ОСнова, ⊚СинтезМ, ⊚Циркон, ...
Слышал про использование:
-
⊚ROSA. Есть серверный вариант и вариант для рабочих станций.
-
⊚Аврора (на основе Sailfish OS) для смартфонов и планшетов.
-
⊚РЕД_ОС (вместе с ⊚ГосЛинукс).
И открыл для себя целый список "отечественных Linux" в Едином реестре российских программ:
-
Общего назначения: ⊚Янукс, ⊚Атлант, ⊚UBLinux, ⊚QP_ОС, ⊚Стрелец, ⊚ЛотОС
-
Позиционируют себя как "защищенная ОС": ⊚Нейтрино, ⊚ОСнова, ⊚СинтезМ, ⊚Циркон
-
Для тонких клиентов: ⊚WTware, ⊚Kraftway_Terminal_Linux
-
Различные производители оборудования предлагают на своём оборудовании использовать свои ОС: ⊚TeNIX, ⊚WANFleX, ⊚Магистра х.х.
-
⊚NavitelOS (для навигаторов), ⊚NETSHe (для встраиваемых и сетевых систем)
Подробно их не разбирал ("прогнозируемость проектов" очень невысока, так у порядка десяти, зарегистрированных в реестре, уже не доступны сайты проекта (например, у "ОСь"), поэтому даже не стал их сюда выписывать). Буду признателен, если кто дополнит это в комментариях "деривативом какого дистрибутива является" и "в чем особенность, какое есть своё дополнительное ПО" и "насколько жив проект" (можно и в личку).
Думаю стоит также перечислить российские дистрибутивы, которые существовали раньше, хотя в текущий момент их разработка прекращена.
⊚ASPLinux, ⊚Russian_Fedora, ⊚МСВС, ⊚BolgenOS
-
(2001-2010) Достаточно хорошим дистрибутивом был ⊚ASPLinux. Чего только стоил тот факт, что в инсталляторе этого дистрибутива был встроен пасьянс (вот это забота о пользователях, и очень странно, что такую простую в реализации возможность не подхватили другие дистрибутивы). Помню случаи, когда "установка" продолжалась даже после того, как уже всё установилось.
-
(2008-2018) Забавный факт про ⊚Russian_Fedora и... автора этой статьи. В 2010 году проводили конкурс на логотип проекта, тогда мой вариант логотипа занял почетное второе место (до Антона из Томска, нарисовавшего в 2005 году официальный логотип для FreeBSD, мне конечно далеко, но и я не профессиональный дизайнер).
-
(2002-2013) ⊚Мобильная_Система_Вооружённых_Сил - дистрибутив для российских военных.
-
(2009) ⊚BolgenOS - российский интернет-мем 2009 года. Как же не вспомнить популярную "отечественную разработку", которую упоминают в комментариях к новостям про появление любого нового российского дистрибутива.
"Загадка: Сколько здесь логотипов Linux-дистрибутивов?
(Подсказка:больше 12)
Отличия: 4. Предназначение
Достаточно многие дистрибутивы являются дистрибутивами общего назначения, то есть без деления на серверные и пользовательские и без заточенности под отдельную узкую задачу. В таких дистрибутивах какие пакеты установил и что настроил, то в результате и получил.
Для новичков же или не специалистов в Linux (которым от системы нужно работа нескольких утилит, и лучше, чтобы сразу из коробки - без всего этого многообразия возможностей, которые дает Linux) часто делаются специальные сборки:
Узкое применение. От этого зависит, сколько и каких пакетов доступно в системе по умолчанию при установке и в репозиториях. Изначально настроены различные оптимизации ПО и ядра под определенные задачи.
Далее перечислю в качестве примеров достаточно много дистрибутивов для наглядности (ну и для тех, кому интересно определенное предназначение). А еще для того, чтобы вы хоть несколько раз произнесли фразу "Ух ты - и для этого сделали свой Linux!". Далее буду выделять жирным шрифтом проекты, которые, как мне кажется, более известные. Проекты слишком новые или настолько малоизвестые, что на них нет статьи-описания на DistroWatch или в Википедии, упоминаю без ссылок.
d
4.1 Под определенные задачи
-
4.1a) Общего назначения (в репозиториях более 20 000 пакетов, при этом на выбор есть несколько пакетов одного типа, как, например браузеров, офисных пакетов, DE): ⊚openSUSE, ⊚Fedora, ⊚Debian, ...
-
4.1b) Для военных и госучреждений. Различные особенности с ограничением доступа к данным, имеющие различные грифы секретности (пример, дистрибутив ⊚AstraLinuxSE со своей системой parsec)
-
4.1c) Научная направленность: ⊚TeX_Live, ⊚Scientific_Linux
-
Обучение. Дистрибутивы для школ, университетов: ⊚Альт_Образование, ⊚SkoleLinux (= DebianEdu), ⊚TLSP(The_Linux_Schools_Project), ⊚AcademiX, ⊚UberMix
-
одно время были весьма популярны подобные деривативы, сейчас, похоже, их наработки включены в основные проекты и часто в виде отдельно дополнительного репозитория: ⊚Edubuntu (был), репозиторий Education для ⊚openSUSE
-
-
-
4.1d) Работа с BigData. Например, дистрибутив ⊚CDH от Cloudera для работы с большими данными.
-
4.1e) Тестирование безопасности, анализа безопасности сети. Содержат большое количество софта для пентестов и этичного (или не этичного) взлома: ⊚Kali_Linux, ⊚Network_Security_Toolkit, ⊚Parrot_Security_OS, ⊚BackBox, ⊚BlackArch, ⊚WifiSlax, ⊚Pentoo, ⊚Garuda_KDE_Dragonized_BlackArchEdition
-
4.1f) Анонимность работы в сети. Использование VPN, Tor, изоляция приложений, шифрование данных: ⊚TAILS и ⊚Whonix, ⊚Qubes_OS, ⊚Kodachi, ⊚Obscurix, ⊚Septor
-
4.1g) Работа с мультимедиа. Обработка-монтаж видео/аудио, предустановленные графические и 3D-редакторы: ⊚Ubuntu_Studio, ⊚AV_Linux, ⊚ModiciaOS
-
Домашний кинотеатр: ⊚LibreELEC, ⊚MoviX (был. LiveCD для просмотра видео, размером 30Mb, который можно было вместе с фильмом записать на один CD-диск)
-
-
4.1h) Восстановление системы после сбоя: ⊚GParted-LiveCD, ⊚Parted_Magic, ⊚SystemRescueCD, ⊚Finnix, ⊚Rescatux
-
Система снятия образа системы: ⊚Clonezilla, ⊚Rescuezilla
-
Проверка оборудования: ⊚DogLinux
-
Поиск руткитов, антивирус: ⊚Ubuntu_RescuePack
-
-
4.1i) Игры (предустановленные нативные игры, упрощенный запуск Windows-игр, предустановленные или упрощенная установка драйверов видеокарт): ⊚SteamOS, ⊚SuperGamer, ⊚Garuda_KDE_Dragonized_GamingEdition, ⊚Pop!_OS, LinuxLiveGameProject (был), ⊚DraugerOS, ⊚Ubuntu_GamePack, ⊚ChimeraOS, ⊚Fedora_Games_Spin
-
Дистрибутив одной игры: ⊚KnoppixQuake, ⊚Tetris-OS, ⊚Hikarunix (был. Игра Go).
-
Когда-то (лет 15 назад) добавил в LiveCD украинского дистрибутива ⊚BLin (размером 200Mb) Linux-порт игры HOMM3 (и карт для неё), ну и различных учебников по Linux - получился вполне удобный дистрибутив для использования на компьютере в институте (офисный пакет, браузер, ICQ-клиент присутствовали).
-
-
Для запуска ретро-игр (эмуляторы DOS/Dendy/Nintendo/Sega/PlayStation): ⊚Lakka, ⊚RetroPie
-
-
4.1z) Для людей разных специальностей. Встречал раньше довольно часто дистрибутивы для разных специальностей: медиков, химиков/биологов (⊚BioKnoppix (был)), переводчиков (⊚TuxTrans (был), ⊚LinguasOS (был)), географические карты (⊚OSGeo-Live), инженеров/CAD-специалистов (⊚CAELinux), ...
4.2 Под определенных пользователей
-
4.2a) Поддержка языков (для разных языков много своих особенностей: кодировки, переключение раскладок, ввод "иероглифов/умляутов" и "запись справа-налево").
-
4.2b) Для продвинутых пользователей (подход "Сделай сам"). Обычно предоставляется некая минимальная базовая система, настраиваемая далее пользователем под свои нужды. Для опытных пользователей, которым пусть лучше не работает совсем, пока не настрою, чем настройки по умолчанию для "чайников". Свои правила и настройки, не навязанные производителем дистрибутива:
-
⊚Gentoo, ⊚Linux_From_Scratch (дистрибутив, распространяемый в виде pdf-книги), ⊚Arch, ...
-
-
4.2c) Для простых пользователей. Ориентированные на пользователей без знания командной строки. Им лучше "чтоб всё было настроено само - по умолчанию, чтобы не требовалось разбираться в глубинах IT". Наличие достаточного количества графических инструментов настройки системы.
-
Рекомендовал бы начинающим (если не планируете сильно погружатся в командную строку) попробовать следующие дистрибутивы: ⊚Manjaro, ⊚openSUSE, ⊚Fedora, ⊚Linux_Mint, ⊚MX_Linux, ⊚Netrunner, ... - ну и другие входящие в первую десятку "популярных" на DistroWatch.com
-
Сборки популярных "продвинутых дистрибутивов" для продвинутых пользователей:
-
на основе ⊚Gentoo: ⊚Calculate_Linux, ⊚RedcoreLinux;
-
на основе ⊚Arch: ⊚Manjaro, ⊚EndeavourOS, ⊚Garuda, ⊚Arco.
-
-
Похожий интерфейс. Для простых пользователей, которые привыкли к определенному интерфейсу других ОС (хотя любой дистрибутив, использующий "классическую" среду оформления рабочего стола (KDE, Cinnamon, Mate, Xfce, Enlightment), имеет похожий вид и легко настраивается соответствующими темами).
-
Mac-подобный: ⊚Elementary OS
-
-
4.2d) Религия: ⊚Sabily (был, а еще ранее называвшийся “Ubuntu Muslim Edition”), ⊚Ubuntu_Christian_Edition (был), ⊚Buddhabuntu (был)
-
Видел сборки для "белых"(⊚ApartheidLinux) и для фанатов аниме (⊚Mangaka).
-
-
4.2e) Заточенность под физические особенности пользователей. Тут можно упомянуть использование Accessibility_Toolkit в GNOME
-
Для слабовидящих: ⊚Vinux, ⊚Slint, ⊚TalkingArch (был), ⊚Oralux (был)
-
4.3 Под определенное оборудование
-
4.3a) Поддержка различных архитектур. x86 (32-битную версию многие дистрибутивы уже не поддерживают), x86_64, AMD64, ARM, …
-
Для одноплатных компьютеров: ⊚Raspberry_Pi_OS, ⊚Armbian, ⊚Volumio, ⊚Pidora (интересное название у дериватива Fedora для Raspberry PI)
-
Для смартфонов и планшетов (GUI, завязанные на Multitouch-интерфейсы, поддержка функций телефона): target="_blank"⊚Sailfish, ⊚Tizen, ⊚PostmarketOS, ⊚Аврора, ⊚Harmony_OS, ⊚JingOS.
-
Деривативы Android: ⊚LineageOS, ⊚Android-x86
-
Использование веб-приложений: ⊚Chromium_OS, ⊚Chrome_OS, ⊚LG_webOS, ⊚PeppermintOS
-
-
-
4.3b) Домашний компьютер, рабочая станция. Требуется предустановленное пользовательское ПО (браузер, офисные пакеты, …): ⊚SLED (SUSE Linux Enterprise Desktop), ⊚Альт_Рабочая_станция, ⊚Ubuntu, ⊚Fedora, ⊚Deepin, ⊚Garuda, …(большинство дистрибутивов общего назначения).
-
Работа в режиме киоска. В этом случае доступны только некоторое количество приложений и от пользователя скрыт доступ к консоли и дополнительным настройкам. Есть, например, в ⊚AstraLinuxSE
-
Тонкий клиент: ⊚Thinstation
4.3c) Сервер: ⊚SLES (SUSE Linux Enterprise Server), ⊚Ubuntu_Server, ⊚Fedora_Server, ⊚SME_Server, ⊚Zentyal, ⊚UCS(Univention_Corporate_Server), ⊚NethServer, ⊚ClearOS
-
Суперкомпьютеры/мейнфреймы/кластеры: ⊚SLES (SUSE Linux Enterprise Server)
-
RealTime-системы: ⊚SLERT (SUSE Linux Enterprise Real Time)
-
Для телекоммуникационного оборудования (в том числе роутеров): ⊚OpenWrt, RouterOS (MikroTik), ⊚DentOS, ⊚LEAF, ... достаточно подробный список на Википедии
-
Виртуализация: ⊚ProxmoxVE, ⊚Альт_Сервер_Виртуализации, ⊚AstraLinux_Брест, ⊚LiveRaizo
-
Контейнеры: ⊚Qubes_OS, ⊚Container_Linux, ⊚Fedora_CoreOS, ⊚EasyOS
-
Облака: ⊚Amazon_Linux_AMI, ⊚CloudLinux_OS
-
Сетевое устройство хранения данных (NAS): ⊚EasyNAS, ⊚OpenMediaVault
-
-
4.3d) Легковесные системы. Имеют низкие минимальные требования к ресурсам:
-
для использования на "старом железе": ⊚AntiX, ⊚Puppy_Linux, ⊚Q4OS, ⊚Linux_Lite, ⊚Tiny_Core_Linux, ⊚SliTaz, ⊚4MLinux;
-
как основа для контейнеров: ⊚Alpine, ⊚Ubuntu_Core.
-
-
4.3e) Встроенные системы (банкоматы, платежные терминалы, станки с ЧПУ, медицинское оборудование, датчики/передатчики, IoT, smartTV, …): ⊚Fedora_IoT
-
4.3f) Запуск в режиме LiveCD/LiveDVD/LiveUSB - полноценная ОС без установки на жесткий диск. ⊚Knoppix (один из первых подобных проектов), ⊚Slax
-
Все, перечисленные в "4.1h", запускаются и работают в таком режиме.
-
Набор скриптов Linux Live Kit для создания LiveUSB на основе установленного дистрибутива.
-
Часть истории: ⊚Softlanding_Linux_System, ⊚Yellow_Dog_Linux, ...
Дистрибутивы, которые хотелось упомянуть, хотя бы как часть истории:
-
⊚Softlanding_Linux_System - один из первых дистрибутивов (1992 год). ⊚Slackware (появился как SLS-дериватив) является самым старейшим (с 1993 года) из ныне существующих дистрибутивов Linux.
-
⊚Yellow_Dog_Linux - дистрибутив 1999-2009 гг. Именно в нём появилась утилита yum (интересный факт для фанатов RedHat и его деривативов).
-
⊚LG3D-LiveCD - рабочий стол с 3D-эффектами в далеком 2005, когда на своем компьютере видишь графику лучше, чем в фильмах про будущее (более шустрые эффекты на основе Compiz появятся позже).
-
⊚Linux_XP (российский) и ⊚Lindows. Когда-то были Linux-дистрибутивы и с такими названиями. Знали ли они, что через 12 лет Microsoft выпустит Linux-дистрибутив с менее звучным чем у них названием ⊚CBL-Mariner?!
Итого
Упомянул достаточно много дистрибутивов - 222 (из них 167 по одному разу, а 32 - упомянут дважды). Явно чаще (хотя честно старался быть непредвзятым) приводил примеры с следующими дистрибутивами:
-
RedHat (в том числе их продукты: RHEL, CentOS, Fedora);
-
SUSE (в том числе их продукты: openSUSE, SLES, SLED, SLERT);
-
Alt (в том числе их продукты: Альт_Рабочая_станция, Альт_Образование, Альт_Сервер_Виртуализации, Simply_Linux);
-
AstraLinux (в том числе их продукты: AstraLinuxSE и AstraLinuxCE, AstraLinux_Брест);
Тут не стал бы выделять лидера. Все примерно одинаково часто упомянуты, хотя SUSE у меня вспоминается часто (мог бы и еще чаще), но это, думаю, следствие того, что уже десяток лет провожу курсы обучения по их продуктам в «Сетевая Академия ЛАНИТ». И Alt с AstraLinux сильно "подтянулись" у меня по цитируемости буквально за последние пять лет - связи с импортозамещением стали гораздо чаще запрашивать по ним обучение.
Кому вдруг интересно: Курсы по обучению Linux, которые я провожу
В учебном центре «Сетевая Академия ЛАНИТ» мной довольно часто проводятся курсы:
-
по Альт (являюсь сертифицированным преподавателем по продуктам Базальт СПО);
-
по АстраЛинукс (являюсь сертифицированным преподавателем по AstraLinux);
-
по SUSE (являюсь "SUSE Certified Instructor", вроде единственным на текущий момент в России).
-
Также проводятся курсы:
-
по RedHat/CentOS, Ubuntu и любому другому Linux общего или серверного назначения;
-
Далее с отставанием:
-
Ubuntu, Debian (хотя если их считать вместе, то они попадают в верхний список, но всё-таки это разные проекты и организации);
-
Arch, Linux_From_Scratch, Gentoo, Slackware;
-
OracleLinux;
-
ROSA, Calculate_Linux, Manjaro, Mageia, Linux_Mint, Solus, Deepin, RockyLinux, Alpine.
Вот такие получились у меня топ-4 дистрибьютора (с их основными продуктами) и топ-20 популярных Linux-дистрибутивов.
Как считал "количество упоминаний в этой статье"
Количество упоминаний в этой статье (то есть это не популярность данного дистрибутива в мире, а только количество упоминаний в этой статье) посчитано так:
grep -o "регулярка⊚ИменаДистрибутивов" ТекстСтатьи \
| sed "s/AstraLinux[CS]E/AstraLinux/;
s/SLE.*/SUSE/;s/RedHat/RHEL/;
s/Simply_Linux/Alt/;s/Альт.*/Alt/;
s/Mandrake/Mandriva/;s/Ubuntu_Server/Ubuntu/" \
| sort | uniq -c | sort -n | nl | nl
sed добавлен чтобы не считать разными ответвления одного дистрибутива.
В общем не сильно обращайте внимание на количество — это повторюсь не рейтинг. Моя цель была показать многообразие, а не провести конкурс «кто лучше».
Ну вроде и всё! Все важные критерии перечислил и, кажется, никого не забыл (кого забыл - пишите в комментариях). Общую картину теперь представляете. :)
Всем, кто смог дочитать, спасибо за внимание! Надеюсь, время провели с пользой и что-нибудь полезное для себя открыли.
И так каждый раз ...