Вероятно, все, что вы хотите знать, находится здесь на страницах « Использование системы инициации дебатов », которые проект Debian собрал вокруг, принимая решение о том, с какой initsystem идти. На этой странице есть отдельная ссылка на каждый из вариантов initsystems.
Для начинающих по Systemd на этой странице есть почти все, что нужно знать, чтобы начать с ним, RHEL7: Как начать с Systemd .
Дополнительные ресурсы, которые я нашел полезными для лучшего понимания двух основных вариантов, я также прочитал на страницах Википедии о соответствующих технологиях:
Проект Gentoo также поддерживает хорошее сравнение некоторых ключевых функций различных компонентов:
Мой ответ на ваши вопросы
Q # 1: Как systemd сравнивается с другими системами инициализации?
Это очень сложный вопрос для ответа на вопросы SE, поэтому я бы предпочел обратиться к различным источникам, на которые я ссылался выше. Я скажу это все же. Читая большую часть статей об systemd
альтернативах, он пытается рассмотреть многие аспекты недостатков предыдущих инструментов, используемых для запуска служб в системах Linux. Он имеет очень хорошо продуманную конструкцию и пытается обеспечить его очень модульным способом.
системные компоненты
Итак, IMO, я бы сказал, что он очень выгодно сравнивается как с точки зрения усилий в его дизайне, исполнения этого дизайна, так и принятия его несколькими более крупными дистрибутивами Linux.
Q # 2: Что отличает его - что он может сделать, чего не могут другие системы инициализации?
Есть много вещей, которые sytemd
могут сделать то, что не могут другие системы. Вероятно, 3 из его самых сильных особенностей:
- логирование
- Ограничение ресурсов
- Работа с демонами, которые разветвляются
1. ведение журнала
На фронте ведения журнала, systemd
установила новую систему ведения журнала под названием «Журнал», служба называется systemd-journald.service
. Это отдельная тема, вы можете прочитать больше об этом здесь, в этой статье под названием: Введение в журнал . Вот пример пользователя, "harald", вошедшего в систему.
_SERVICE=systemd-logind.service
MESSAGE=User harald logged in
MESSAGE_ID=422bc3d271414bc8bc9570f222f24a9
_EXE=/lib/systemd/systemd-logind
_COMM=systemd-logind
_CMDLINE=/lib/systemd/systemd-logind
_PID=4711
_UID=0
_GID=0
_SYSTEMD_CGROUP=/system/systemd-logind.service
_CGROUPS=cpu:/system/systemd-logind.service
PRIORITY=6
_BOOT_ID=422bc3d271414bc8bc95870f222f24a9
_MACHINE_ID=c686f3b205dd48e0b43ceb6eda479721
_HOSTNAME=waldi
LOGIN_USER=500
2 и 3. Ограничение ресурсов и демоны, которые разветвляются
systemd
здесь используется новый подход, cgroups
заключающийся в использовании для ограничения и ограничения ресурсов любых услуг, которые требуют разветвления или ограничения доступа к ресурсам.
выдержка
У Systemd есть очень умное решение проблемы отслеживания демонов, которые работают, что, по совпадению, в то же время обрабатывает ограничение ресурсов. Если Upstart использует ptrace для отслеживания разветвления, systemd запускает каждого демона в контрольной группе (требуется Linux 2.6.24 или новее), из которой он не может выйти с разветвлением. Это позволяет легко ограничивать ресурсы как для разветвляющихся, так и для не разветвляющихся демонов, поскольку для такого рода вещей были созданы контрольные группы.
Источник: Daemon Showdown: Выскочка против Рунита против Системда против Цирка против Бога
Вопрос № 3: Есть ли что-то потерять при переключении на него с другой системы инициализации?
Вероятно, самая большая оговорка при переходе на systemd через Upstart или sysV init - это принятие множества новых сложностей. В Systemd много движущихся частей, и он чрезвычайно богат функциями, и с этими дополнительными возможностями вы, вероятно, потратите немало времени на то, чтобы понять, как все это работает.
Q # 4: Как администрирование systemd отличается от других?
Как указано в моем ответе на вопрос № 3. Я повторю здесь снова. Там, где sysV init был довольно тривиальным, чтобы научиться управлять и перемещаться в течение нескольких часов или дней, Upstart, скорее всего, займет у вас неделю или больше, чтобы освоить скорость, в то время как systemd, вероятно, займет у вас гораздо больше времени, я ожидаю, что потребуется несколько недели, чтобы получить достаточно поверхностных знаний об этом, где я смогу одновременно создавать свои собственные .service
файлы и останавливать / запускать службы с той же легкостью, с которой я теперь наслаждаюсь с помощью sysV init.
Ссылки