Сравнение систем инициализации (личный опыт). Linux статьи
Написать статью
Войдите, чтобы писать статьи

Сравнение систем инициализации (личный опыт)

21

Системы инициализации linux

Материал написан пользователем сайта.

В этой заметке речь пойдёт про SysVinit, S6, Suite66 (S66), OpenRC, Dinit и Runit.

Всё сказанное ниже является моими впечатлениями и опытом использования на моём железе. У меня общий раздел /home, менял я только / и раздел /boot при переустановках с разными системами инициализации. Поэтому остатки от предыдущих установок могли наложить след. Все образы находились на одной флэшке, созданной через Ventoy. Ставил стабильные, официальные iso'шники Artix от 22.01.23 в связке с Cinnamon.

Здесь хочу рассказать о своём опыте использования различных систем инициализации (СИ). Описанные ниже варианты я сравнивал в рамках Artix, только SysV вместе с MX Linux. Из представленных вариантов (на тот момент их было всего 3) я изначально выбрал Runit по совету. Для себя отметил лёгкость и скорость при использовании ОС, небольшой объём занимаемого места, при этом она проста в использовании. Эта СИ тоже стала вариантом по умолчанию в нескольких дистрибутивах. Главным козырем является программа rsm. Runit Service Manager даёт возможность управления службами в окне Терминала, команды для управления по ссылке выше, это аналог «systemctl».

О других СИ в сравнении

  • При использовании SysV была долгая загрузка в MX Linux, да и просто старая она, но в работе погрешностей не заметил;
  • Установочный live-образ с S6 отказался загружаться;
  • Suite66 мне не понравилась из-за своих раздумий (мелких подвисаний в работе). На zen и lts ядрах и вовсе отказывается запускаться, только текущее linux-ядро. Не смог время установить согласно своей локали через стандартные настройки, на часах постоянно Гринвич, уровень громкости не сохраняется при выключении;
  • OpenRC при загрузке в live-режиме встретила меня окном с выбором. Но при этом ни курсора, ни реакции на клавиши клавиатуры не было. Поэтому и установить я её не смог;
  • Dinit показала себя лучше остальных. Не было проблем при установке, загрузке ОС, устанавливалась и загружалась быстро. Проблема появилась с установкой некоторого базового ПО. Возможно, если повозиться, то можно исправить, плюс я не знаю, как там запустить службу «tor». По-моему, это самый молодой вариант, так как появилась в списке доступных вариантов не давно.

Выводы

Изначально вывод планировался другой, но когда на следующий день я редактировал черновик этой заметки, то решил всё переустановить. Создал таблицу разделов с нуля, заново разметил SSD и установил начисто стабильный образ «Artix Cinnamon dinit 20220123», заинтересовала она меня. Как всегда, на рабочем столе в live-режиме лежали pdf-файлы с документацией. Оттуда я узнал, как настроить автозагрузку init.

Добавлю, что у меня обычное домашнее использование. Специфических задач и  оборудования нет, нет Wi-Fi и Bluetooth. Нужно простое, желательно  быстрое решение, а systemd имеет на борту множество не нужных для меня  компонентов, функций и возможностей, хотя она и удобна в прикладном  плане. Последним в тот день был установлен образ с полюбившейся и знакомой мне runit.

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

В том файле нашел команды для управления службами из Терминала, вовсе не обязательно было лезть так глубоко. 

Start service: # dinitctl start service_name

Stop service: # dinitctl stop service_name

Restart service: # dinitctl restart service_name

Enable service: # dinitctl enable service_name

Disable service: # dinitctl disable service_name

List services: # dinitctl list

Лайков: +13
войдите, чтобы ставить лайки
21
  • Опубликовано: 27.05.2022
  • Minor748

Комментарии

x230
Активный пользователь
Активный
27.05.2022
10:18
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+3
войдите, чтобы ставить лайки
+
Спасибо, интересно было узнать новое!
И действительно интересно понаблюдать про dinit.
altabel
Активный пользователь
Активный
27.05.2022
11:08
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
В MX-Linux можно загружаться также с sуstemd, но стабильность MX-Linux (проверял на 19 версии) становится хуже, может сам по себе отвалится bluetooth, при загрузке система периодически "забывает" загрузить какой-нибудь модуль. Но только при загрузке с systemd на MX-Linux работает Snap, при SysV snap не работает, но работает flatpack. Грузится с SysV конечно дольше, но с SSD не критично - для меня важней стабильность.
Minor748
Активный пользователь
Активный
27.05.2022
14:33
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийaltabelРодительский комментарий
0
войдите, чтобы ставить лайки
Вот и я аналогичного мнения, что с systemd работает лучше. Что мне нравится в runir, dinit и systemd, так это возможность управлять службами.
altabel
Активный пользователь
Активный
29.05.2022
07:36
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийaltabelРодительский комментарий
0
войдите, чтобы ставить лайки
В MX-Linux 21 загрузка в SystemD работает отлично, все работает как надо.
DrSheppard
Активный пользователь
Активный
27.05.2022
12:34
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+1
войдите, чтобы ставить лайки
Сама идея интересная, но странно что эти поделия (s6, suite66, sinit, shepherd, minit и прочие) нуждаются в тестировании. Гораздо интереснее новые системы: dinit, finit, kansei (сейчас rinit)

Dinit создавался для Chimera Linux — Linux с окружением BSD и сразу под библиотеку musl

Finit не такой минималистичный и заимствует лучшее у лучших. Сам он является результатом реверс-инжиниринга eeepc fast init который использовался в ноутбуках eeepc от Asus с системой Xandros

Kansei он же rinit — переписанный на Rust init tt который должен был лечь в основу настоящего фарш-дистрибутива (https://gitlab.exherbo.org/diverse/diverse-design) Deverse (который должен был быть основан на Exherbo)
Minor748
Активный пользователь
Активный
27.05.2022
14:37
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийDrSheppardРодительский комментарий
+1
войдите, чтобы ставить лайки
Я перебрал доступные варианты. Только в рамках этого ресурса кто-то из пользователей писал про что-то отдельно, но ничего сравнительного я в принципе не нашел, даже в рунете.
DrSheppard
Активный пользователь
Активный
27.05.2022
16:54
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийMinor748Родительский комментарий
0
войдите, чтобы ставить лайки
немного ангажированно (написано разработчиком dinit и Chimera Linux Дэвином Макколом), но тем не менее: https://github.com/davmac314/dinit/blob/master/doc/COMPARISON
ZaPPeX
Активный пользователь
Активный
27.05.2022
20:28
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+2
войдите, чтобы ставить лайки
выбирал образ Artix для загрузки и был приятно удивлён увидев разнообразие систем инициализации. думал изначально поставить dinit, но в качестве проверенной лошадки выбрал runit. хотя всё равно буду тестировать образы с dinit и openrc)
x230
Активный пользователь
Активный
27.05.2022
22:00
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийZaPPeXРодительский комментарий
0
войдите, чтобы ставить лайки
+
evgnor86
Активный пользователь
Активный
28.05.2022
17:14
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+7
войдите, чтобы ставить лайки
Все - это баловство и не более.
SystemD - де-факто стандарт для всех "взрослых" дистрибутивов, как ранее был SysV. Возможно на ПК 15-20 летней давности все эти OpenRC и т.д. дают какое-то преимущество, но на современных 10-5 лет ПК абсолютно никакой разницы, либо она ничтожна мала.
Лучше бы свои силы бросили на улучшение алгоритмов IO дисковой подсистемы, вот где есть еще что оптимизировать и оптимизировать (привет HDD).
Marvin
Активный пользователь
Активный
29.05.2022
06:01
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийevgnor86Родительский комментарий
+4
войдите, чтобы ставить лайки
Вот вы не правы.
systemd это не де факто для, как вы сказали для "взрослых" дистрибутивов.
Я могу вам привести аналогию:

"Gnome-Shell, это де-факто для взрослых дистрибутивов, и другая DE не уместна".
Вот так вы размышляете.

Свои силы разработчики бросают на то, что им нравится и удобно им, на то Linux и является воплощением свободы.
И навязывание - "де-факто" это не признак свободы.
GNU/Linux это тот конструктор, который противостоит корпоративности, и если бы не это явление в мире ПО, то вы бы пользовались проприетарщиной.
Поэтому оставьте эти ваши идеи о стандартизации и поймите принцип СПО, либо пользуйтесь тем, что вам дают - "де-факто".
А у пользователей и разработчиков должен быть выбор.
evgnor86
Активный пользователь
Активный
29.05.2022
09:20
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийMarvinРодительский комментарий
+1
войдите, чтобы ставить лайки
Ну почему же не прав?

Десктопные Debian, Ubuntu, Fedora, Manjaro, openSUSE, может что-то еще упустил... все они из коробки идут с systemd.

Считаю с DE сравнение не очень верное, т.к. DE пользователь выбирает глазами (в первую очередь), а система инициализации просто работает под капотом и делает свое дело.

Для меня OpenRC может иметь место быть в контейнерах на серверах, где борешься за каждую мс времени старта. Но и там все зависит от задачи.
xKDE
Активный пользователь
Активный
29.05.2022
10:30
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийevgnor86Родительский комментарий
+1
войдите, чтобы ставить лайки
Из "взрослых" держится только Slackware) True nix) и то, потому что Бог должен быть один)
bsod
15.03.2023
09:24
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийMarvinРодительский комментарий
0
войдите, чтобы ставить лайки
Это как раз вы путаете тёплое с мягким. Он таки промышленный стандарт! Не потому что кому то нравится или нет, а потому что практически весь промышленный софт (docker, k8s, db...) использующий систему инициализации пишется как раз под systemd, а не под поделки на коленке.
Никто не говорит что других с-м инициализации не должно быть, это линукс всё таки, тут должен быть выбор, но к промышленным приложениям один самый важный запрос - стабильность и предсказуемость работы, а кроме systemd это ничто не даёт, пока что.
Но Marvin тоже немного ошибся - ос конечно важна, но промышленным его делает софт, а не ос.
[аноним]
16.03.2023
01:42
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийbsodРодительский комментарий
0
войдите, чтобы ставить лайки
Как же вы не поймете простой вещи, что линукс стал именно тем, чем является в данный момент благодаря разнообразию СИ и обилию дистрибутивов. Благодаря конкуренции между дистрами.
Где сейчас BSD, Minix и др ОС?
Даже с играми у линукс ситуация лучше чем на макоси.
А вы про стандарт, который продвигает одна комерческая компания с красной шляпой.
Вы про стандарт и унификацию. Вот и будете через время пользоваться только гномом и изучать юниты. Без всяких альтернатив.
bsod
16.03.2023
20:56
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийРодительский комментарий
0
войдите, чтобы ставить лайки
Господа, вы оба путаете опять тёплое с мягким :) Linux - это не десктоп, в первую и основную очередь - это серверы. Какие к чёрту gnome? :) Я devops и что такое "промышленный стандарт" знаю точно. Да - красношапки протянули. И их продукция - тоже промышленный стандарт. Ваша ошибка в том, что с позиции десктопа вы судите о всём линуксе, но весь линукс - это в первую очередь сервера (где бы они ни были, облака, впс-ы, неважно).
Marvin
Активный пользователь
Активный
16.03.2023
01:45
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийbsodРодительский комментарий
0
войдите, чтобы ставить лайки
Давно он стал стандартом? Его просто пропихнули силовым путем красношапочные, вот и стандарт весь.
Если такая тенденция не изменится, то через 10 лет у вас останется один унифицированный дистр с гномом, системд и флэтпаками и все - без вариантов.
И кранты линуксу на этом будет, потому что ядро линукс станет расширением к системд, а унифицированным дистром будете пользоваться по платной подписке.
bsod
16.03.2023
20:58
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийMarvinРодительский комментарий
0
войдите, чтобы ставить лайки
Ну в десктопе не помешало бы чуток унификации...хотя бы в пакетах, ибо это самое конченное и узкое место десктоп линя. Или вы не согласитесь?
Если что - то у меня основная с-ма arch/i3. Я не думаю, что он когда нибудь загнётся, раньше линя в целом.
deeon
30.05.2022
10:20
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
ну какбы юзал пускачи openrc,systemd,sysv предпочёл конечно openrc так как в игры не играю c линукса)
ArchGen
31.05.2022
06:37
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+1
войдите, чтобы ставить лайки
Использую Gentoo СИ openrc как основную систему, но также нравится Arch СИ systemd, если раньше systemd проигрывала по скорости openrc, иногда выключение с зависшим юнитом могло длится 3 минуты да и при работе чувствовалась задержка отклик, теперь после systemd-250 разница практически не видна, так что выбор хорошо что он есть.
Anonymous
17.03.2023
10:00
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+1
войдите, чтобы ставить лайки
К большому сожалению не заметил в заметке ни сравнения, ни критериев, по которым оно проводилось.

Написать комментарий

Ваше имя:
Текст комментария:
  • Уважать других.
  • Не ругаться.
  • Без оскорблений.
  • Без грубости.
  • Не переходить на личности.
  • Писать на русском языке.
  • Без политики.
  • Без флуда.
Правила