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

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

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

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

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

  • Systemd: Как заверить услугу «onehot», повторится, если она не срабатывает в первый раз?
  • Systemd не запускается после удаления зашифрованного раздела подкачки на Fedora 20
  • UID / Gid привилегированный контейнер LXC: systemd lxc-start не удался на ubuntu 16.04
  • Создание сценария systemd для Sybase ASE
  • Отключить неверно настроенные сетевые настройки в systemd с помощью etckeeper?
  • как systemd определяет, что служба остановлена?
  • системный таймер каждые X дней в 04:00
  • Файл unitd для демона, который не работает при загрузке
  • 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
    Interesting Posts

    подсчет числа вхождений в файле списка данных

    Может только инициализировать Ad-hoc-режим после перезапуска модуля iwlwifi и сетевого менеджера

    Xlock: невозможно захватить клавиатуру

    Как установить visudo для использования другого редактора, чем значение по умолчанию для Fedora?

    Добавьте Apache к запуску Ubuntu

    Значения суммы из столбца 1, если строки столбца 2 соответствуют значению

    Как обрезать определенную часть видеоролика YouTube?

    Проверка жизни SSD MacBook Pro Retina

    Невозможно подключиться к устройствам Bluetooth (т.е. громкоговорителям) на debian jessie

    Что такое echo ' \ nlocalhost \ n'> / etc?

    Как узнать, работает ли dd?

    gpg2 таймаут дешифрования / без секретного ключа

    vim редактирует файл с помощью user-vimrc, но все еще загружает все предыдущие инициализации

    Использование переменной с командой rename

    имя файла для файлов с идентификатором процессора и временным шагом должно включать имя файла

    Linux и Unix - лучшая ОС в мире.