Документация по LinuxLinuxDoc.Ru 🔍
🕛

Участник проекта Debian ответил на критику systemd

Участник проекта Debian Майкл Штапельберг (Michael Stapelberg) ответил на критику systemd, высказанную другими разработчиками в рамках проведённого в конце мая опроса. В своём блоге Майкл попытался опровергнуть аргументы, традиционно выдвигаемые против systemd.


systemd имеет много зависимостей.

Для опровержения этого аргумента был приведён отдельный документ, включающий в себя список зависимостей пакета systemd и его исполняемого файла. В частности в нём видно, что большинство библиотек уже есть в среднестатистической системе и потребуется очень мало дополнительных библиотек. Также он приводит список возможных проблем с зависимостями:


1. Циклические зависимости.

Майкл упоминает о том, что systemed зависит от DBus, тогда как тот сам должен быть загружен системой инициализации, что потенциально может быть источником проблем. Однако systemd не зависит от dbus-daemon, а использует интегрированную минимальную реализацию.

2. Усложнение кода.

Здесь автор приводит ссылку на фрагмент кода systemd с целью показать его читаемость и простоту.

3. Зависимость от большого количества библиотек.

Автор утверждает, что большинство библиотек уже активно используются такими программами, как DBus, Udev, SELinux, libcap, pcre и т.п., поэтому установка пакета приведёт к установке лишь небольшого числа этих библиотек на обычной системе (всего около 10 пакетов).

4. systemd использует больше памяти, чем sysvinit.

В качестве опровержения этого утверждения, разработчик пишет, что большинство библиотек уже загружено в память и systemd в худшем случае загрузит около 500 кБ дополнительных библиотек, что является небольшой ценой за предоставленные возможности и актуально разве что в нише встраиваемых систем, где systemd всё равно не слишком необходим (примечание переводчика).





systemd перегружен функциональностью и является bloatware.

Майкл отсылает критиков к статье на Wikipedia с определением bloatware как программы, замедляющейся и разрастающейся от релиза к релизу. В качестве контраргумента он утверждает, что systemd работает быстрее, чем sysvinit и занимает памяти всего на 1 мБ больше, а также на то, что функциональность systemd разбита по небольшим отдельным бинарным файлам.

systemd делает слишком много вещей.

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

systemd слишком усложнён.

Здесь Майкл предлагает сравнить монолитное ядро Linux с systemd и микроядро Minix с sysvinit, а также упоминает, что не унифицированные и дублирующие друг друга скрипты на Shell порой более сложны и медленны, а также вызывают больше проблем, чем обычный код на языке C.

Вывод.

Из написанного выше, автор делает вывод - критики systemd во многом правы, но иногда следует посмотреть на вещи с положительной стороны и увидеть, что systemd просто старается сконцентрировать в одном месте усложнённость множества различных init-скриптов, оставив сложности внутри себя, а простой, но в то же время гибкий интерфейс - снаружи. В итоге, упрощается работа мэйнтейнеров пакетов по написанию сервисных файлов (аналог скриптов инициализации) и предоставляются целостные и надёжные средства для управления сервисами. Systemd заметно отличается от sysvinit, а альтернативные подходы первое время часто кажутся усложнёнными. То, что systemd потребляет больше ресурсов, чем sysvinit, компенсируется задействованием данных ресурсов для учёта большей информации о сервисах, а более детализированный контроль состояния позволяет администратору более глубоко контролировать работу служб.

Также по теме:
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Linux - Новости Linux - Участник проекта Debian ответил на критику systemd
Мы в соцсетях ✉