Что отличает systemd от других систем init?

Он не совсем официально, но похоже, что systemd подходит к Debian, и после прочтения некоторых обсуждений с горячим списком рассылки этого решения мне интересно узнать о поляризационном характере systemd среди пользователей Linux. Я запускаю системы Debian (sysvinit) и Gentoo (OpenRC) и ничего не знаю о systemd, хотя похоже, что он подходит мне.

Я видел этот связанный вопрос с вопросом о плюсах и минусах системного vs upstart, но прошло уже три года с момента публикации этого вопроса, и я уверен, что в то время все изменилось.

Мой вопрос: как система сравнивается с другими системами инициализации?

  • Что отличает его – что он может сделать, что другие системы инициализации не могут?
  • Есть что-то потерять при переключении на него из другой системы инициализации?
  • Как система управления сравнивается с другими?

  • mount systemd монтируется только при загрузке, после этого не удается перезагрузить
  • системный таймер каждые 2 часа через 30 минут после часа?
  • Получение услуги запускается автоматически, когда другой запускается
  • Использование переменных в скрипте systemd init
  • если я использую мультипликативные суффиксы в systemd, то ошибки - «не удалось проанализировать значение ресурса»
  • Прокси-сервер активации Systemd?
  • Добавление системного .service (Debian)
  • systemd service: возможно ли получить имя пользователя, вызвавшего событие power?
  • One Solution collect form web for “Что отличает systemd от других систем init?”

    Вероятно, все, что вы хотите знать, находится здесь, на страницах « Debate Init System To Use », которые проект Debian объединил вокруг принятия решения о том, с какой системой initsystem будет работать. Внутри этой страницы есть отдельная ссылка на каждый из вариантов initsystems.

    • Дискуссия в системной выскочке
    • Дискуссия initsystem systemd

    Для праймера на Systemd эта страница имеет почти все, что нужно знать, чтобы начать с нее, RHEL7: Как начать работу с Systemd .

    Дополнительные ресурсы, которые я нашел полезными для лучшего понимания двух основных вариантов, я также прочитал на страницах Википедии о соответствующих технологиях:

    Проект Gentoo также содержит хорошее сравнение некоторых ключевых функций различных различных типов:

    • Обсуждение: Сравнение систем init

    Я принимаю ваши вопросы

    Q # 1: Как система сравнивается с другими системами инициализации?

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

    системные компоненты

    ss системных компонентов

    Таким образом, IMO, я бы сказал, что она очень выгодно отличается как с точки зрения усилий в ее дизайне, так и с использованием этого дизайна и принятия его несколькими более крупными дистрибутивами Linux.

    Q # 2: Что отличает его – что он может сделать, что другие системы инициализации не могут?

    Многое, что sytemd может сделать, что другие системы не могут. Вероятно, 3 из его самых сильных функций:

    1. логирование
    2. Ограничение ресурсов
    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 имеет очень умное решение проблемы отслеживания демонов, которые используют fork, что, по совпадению, происходит одновременно с ограничением ресурсов. Где Upstart использует ptrace для просмотра forking, systemd запускает каждый демон в контрольной группе (требуется Linux 2.6.24 или новее), из которого он не может сбежать с любым количеством разметки. Это позволяет легко ограничивать ресурсы, как для forking, так и для не-forking-демонов, поскольку для этого были созданы контрольные группы.

    Источник: Daemon Showdown: Upstart против Runit vs. Systemd против Circus vs. God

    Q # 3: Есть что-то, что можно потерять при переключении на него из другой системы инициализации?

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

    Q # 4: Как администрирование systemd сравнивается с другими?

    Как указано в моем ответе на Q # 3. Я снова повторяю здесь. Где sysV init был довольно тривиальным, чтобы узнать, как управлять и перемещаться в течение нескольких часов в несколько дней, Upstart, скорее всего, займет у вас неделю или больше, чтобы ускориться, в то время как systemd, скорее всего, займет у вас гораздо больше времени, я ожидаю, недель, чтобы получить достаточное поверхностное знание об этом, где я смогу как создавать собственные файлы .service , так и останавливать / запускать службы с той же легкостью, что и сейчас, с помощью sysV init.

    Рекомендации

    • Процесс запуска Linux
    • Серьезные проблемы с системным журналом?
    • Системная страница systemd-journald.service
    Linux и Unix - лучшая ОС в мире.