Поиск по сайту:

Лучшие дистрибутивы Linux без systemd


Когда доминирующие дистрибутивы Linux приняли systemd, несогласные разделили дистрибутивы и начали новые проекты. Итак, какие у вас есть варианты, если вы ищете несистемный дистрибутив? Давайте взглянем.

systemd: краткий обзор

Исторически сложилось так, что последовательность запуска в системе Linux была копией системы инициализации, представленной в System V Unix (SysV). Система инициализации SysV придерживалась философии Unix. Когда люди ссылаются на философию Unix, они обычно сводят ее к известному слогану «Делайте одно дело, и делайте это хорошо». И эта вещь должна была начаться как первый процесс, а затем запустить другие процессы. Время от времени он также убивал зомби.

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

Как и во всем остальном в Linux, у пользователей был выбор. Имелись альтернативы. Компетентные пользователи могут настроить свой Linux-компьютер для использования другой системы инициализации, которая запускает процессы параллельно и работает так, как им нравится.

Некоторые из вариантов были:

  • Upstart: это инициатива, разработанная Canonical, которая впоследствии была принята семейством дистрибутивов Red Hat, включая Centos и Fedora. Upstart больше не разрабатывается.
  • runit: это независимый кроссплатформенный проект, работающий на FreeBSD и других производных BSD, а также на системах macOS, Solaris и Linux. Она была принята либо в качестве системы инициализации по умолчанию, либо в качестве одного из параметров во время установки в нескольких дистрибутивах Linux.
  • s6-Linux-init: s6 является заменой SysV init, которая пытается решить последовательную природу SysV init и остаться верной философии Unix.

systemd — еще одна замена SysV init, но она включает в себя гораздо больше. В нем есть модули, которые управляют физическими устройствами, регистрацией пользователей, разрешением сетевых имен и многим другим — он состоит из более чем 70 двоичных файлов и более 1,4 миллиона строк кода. Для сравнения, инициализация SysV для Arch Linux занимает менее 2000 строк кода. Ясно, что systemd действительно отказался от философии Unix. И не только это, он совершает еще одну ересь, полностью игнорируя стандарт интерфейса переносимой операционной системы (POSIX).

Аргументы systemd — одни из самых горячих, которые я когда-либо видел в сообществе открытого исходного кода. (И это о чем-то говорит.) Разумеется, одинаково громогласные просистемные и несистемные лагери — не единственные участники. Я разговаривал со многими людьми, которые даже не знают, что systemd — это вещь, а также со многими другими, которые слышали о нем, но не знают достаточно подробностей, чтобы составить мнение о том или ином. Честно говоря, им все равно. Они просто хотят, чтобы все работало.

Если вы не уверены, используете ли вы дистрибутив на основе systemd, запустите команду ps для процесса с идентификатором 1.

ps -p 1

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

Философия, архитектура и инженерное качество

Разные люди возражают против systemd по разным причинам. Для некоторых это пренебрежение традиционной философией Unix. Хотя это не обязательная догма, это «путь Unix». И этот способ выдержал испытание временем: небольшие утилиты, которые можно объединять вместе, так что их выходные данные становятся входными данными для следующего процесса в конвейере, являются основной частью того, что придает Linux его ощущение и характер. Это то, что делает его особенно подходящим для быстрого объединения творческих решений для разовых или краткосрочных требований.

Другие подвергали сомнению дизайнерские решения, лежащие в основе systemd, «архитектуры программного обеспечения». Зачем включать все эти функции, которые не имеют ничего общего с загрузкой системы? Если эти другие элементы нуждаются в обновлении или улучшении, сделайте именно это. Но зачем интегрировать все это в один массивный взаимосвязанный набор приложений?

Были высказаны опасения по поводу небрежного отношения разработчиков systemd к исправлениям ошибок в целом и к распространенным уязвимостям и воздействиям в частности. Чем больше у вас строк кода, тем больше ошибок вам нужно исправить. Когда эти ошибки связаны с безопасностью и им присвоен собственный номер CVE, значит, вам нужно было разобраться с ними еще вчера.

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

Семейство Debian: Девуан

Если вы используете Debian или одну из бесчисленных производных Debian, таких как Ubuntu и все ее родственники, вам имеет смысл проверить Devuan. Devuan — это форк Debian, так что почти все будет знакомо. Оболочкой по умолчанию является Bash, а менеджером пакетов является apt. Devuan был создан из Debian в 2014 году. Он надежен и стабилен, и у него процветающее сообщество.

Если вы предпочитаете GNOME в качестве среды рабочего стола, вам придется проделать дополнительную работу. GNOME не предлагается в качестве рабочего стола во время установки. MATE, Cinnamon, XFCE и другие доступны, но GNOME нужно будет установить вручную, как только ваша система будет запущена и работает.

GNOME имеет некоторые зависимости от компонентов systemd, а именно от диспетчера аппаратных устройств udev и диспетчера входа в систему. Заменители для них были созданы разработчиками Gentoo Linux.

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

В качестве системы инициализации в Devuan можно выбрать SysV init или OpenRC.

Семейство Arch: Artix Linux

Пользователи Arch и Manjaro могут попробовать Artix Linux. Artix — это ответвление Arch, основанное на проекте Arch-OpenRC. Его первый релиз состоялся в 2017 году.

Arch Wiki содержит инструкции по замене systemd на OpenRC, но официально это не поддерживается. Точно так же, поскольку поддержка OpenRC была прекращена в Manjaro, не существует дистрибутива, производного от Manjaro, без systemd.

Поэтому, если вы хотите остаться во вселенной Arch, вам нужно выбрать форк на основе Arch, такой как Artix, который использует другую систему инициализации. Artix, безусловно, справляется с этой задачей. В процессе установки вы выбираете одну из трех различных систем инициализации. Возможные варианты: OpenRC, runit и s6.

Доступны все ожидаемые варианты настольных компьютеров, такие как Cinnamon, MATE, XFCE и другие. Также тестируются версии, поддерживающие GNOME и тайловый оконный менеджер i3.

Менеджер пакетов — pacman. Конечно, вы можете использовать его для установки pamac, yay или любых других помощников Arch User Repository (AUR). Оболочкой по умолчанию является Bash.

Это все, что вам нравится в Arch без systemd.

Red Hat и Fedora: PCLinuxOS

Проект systemd является инициативой Red Hat. Основные разработчики systemd — сотрудники Red Hat. Многим в мире Linux кажется, что все, что исходит от «корпоративных» лагерей Linux — например, Red Hat, Oracle, Intel, Canonical — автоматически вызывает недоверие.

systemd был описан, среди прочего, как не что иное, как заговор Red Hat, направленный на преобразование Linux во что-то, что соответствует их потребностям встраиваемой операционной системы. Если бы Red Hat понадобился дистрибутив, заточенный под встраиваемые системы, было бы намного проще просто создать его. Вам не нужно убеждать Arch, Ubuntu и OpenSUSE последовать их примеру.

Конечно, поскольку Red Hat является единственной причиной существования systemd, вы не найдете производного от Red Hat без systemd. Так что куда бы вы ни переехали, вы будете чувствовать себя новым и другим. Но если вы хотя бы хотите придерживаться дистрибутива, использующего диспетчер пакетов Red Hat (RPM), вам следует ознакомиться с PCLinuxOS.

Проект PCLinuxOS начался в 2003 году как ответвление ныне несуществующей Mandrake Linux незадолго до того, как Mandrake стала Mandriva. Первый выпуск PCLinuxOS появился в 2007 году, поэтому он намного старше systemd.

Хотя PCLinuxOS использует файлы «.rpm», она манипулирует ими с помощью собственного программного обеспечения для управления пакетами, apt-rpm. Это смоделировано после команды apt-get из мира Debian. Также предоставляется модифицированная версия synaptic, которая работает с файлами «.rpm», а не с файлами «.deb».

PCLinuxOS использует инициализацию SysV и во время установки предоставляет выбор среды рабочего стола Plasma, MATE и XFCE. Есть несколько редакций «remastered сообщества», которые предоставляют другие среды рабочего стола, включая GNOME. Оболочкой по умолчанию является Bash.

Запустите несколько виртуальных машин

Лучший и единственный способ узнать, справитесь ли вы с дистрибутивом Linux, — это попробовать его. Проще всего это сделать в виртуальной машине. Это оставляет вашу текущую установку Linux нетронутой. Вы можете установить и опробовать столько дистрибутивов Linux, сколько захотите, пока не найдете тот, который, по вашему мнению, вы хотели бы попробовать. VirtualBox идеально подходит для этого.

Когда вы будете готовы установить новый дистрибутив, сделайте несколько резервных копий текущей установки, а затем — и только потом — установите новый Linux.