> Еесли вдруг в одном из узлов дерева что-то не так, то
> всё поддерево перестает запускаться. Это вызывает море удовольствия в часах проведенных
> в попытках найти и исправить причину...Как только люди не страдают, лишь бы логи не читать. А ведь там прямо написано, что, когда и почему не запустилось.
> Поскольку юнит — это не скрипт и туда нельзя запихнуть конструкции с
> if и for (а такое частенько бывает нужно), то в systemd
> такие вещи переписывают на Си (!) и компилируют, а сам файл
> прописывают только запуск /usr/lib/systemd/systemd-<name>. Типичный пример: systemd-fsck-root.service.
В принципе, то же самое можно сделать хоть на баше, но будет мееедленно.
> В результате, чтобы просто узнать, что именно делает этот долбаный юнит, нужно
> искать среди исходников systemd (а также кучи других пакетов) нужный файл
> и разбираться в каше сишного кода. Которая, к слову, выглядит пострашнее
> любого навороченного баш-скрипта.
Квадратно-гнездовое мышление времен SysV, когда была традиция не документировать процесс загрузки, так что узнать назначение скрипта можно было только чтением его кода.
А в эпоху systemd, чтобы понять назначение любого стандартного юнита, достаточно прочитать его manpage.
> ----
> к systemd претензия в том, что он — худшее, что могли выбрать арчеводы для init-системы.
> ...
Ну и дальше поток сознания ЛОР-клоуна AX (одноклассник Зенитура). Никаких аргументов, одни эмоции. Даже комментировать не стоит.
> Раньше считалось, что арч хорош потому, что он KISS. Но использование вместо
> init-а велосипедокомбайна из (неполный список) init-демона, syslog-а, udev, cron, dbus,
> (x)inetd, readahead, ulatencyd, kdm/gdm/xdm, consolekit, sethostname, mount и http-сервера
Ну дык все правильно. Вместо кучи велосипедов, каждый из которых нужно изучать отдельно - одно нормальное решение, которое можно изучить один раз. Простота - залог здоровья!