Что такое инициализация (System V)?
Init (сокращение от «инициализация») — это первый (и родительский) процесс, загружаемый вашим ядром, который подавляет другие (дочерние) процессы, чтобы ваша система работала систематически, и ему присвоен PID = 1 (идентификаторы процессов назначаются в Последовательный порядок).
Как родитель всех процессов, он несет ответственность за постоянную работу до тех пор, пока пользователь не выдаст сигнал остановки. Когда это произойдет, вы можете столкнуться с критической стадией, известной как «Паника ядра».
Когда вы услышите термин «init» в сочетании с ним, вы также услышите термин «System V init» (не Systemd), который, по сути, является первой коммерческой системой, разработанной на основе init, которую приняли многие будущие дистрибутивы Linux (до тех пор, пока Systemd пришел).
Init уважают за многие вещи, но сейчас я подчеркну ключевой аспект: его приверженность принципу «Делай одно дело и делай это хорошо». Это предполагает запуск одного процесса только после последовательного завершения предыдущего.
============================================================
Что такое SystemD ?
SystemD — это системный и сервисный менеджер для операционных систем Linux. Это важнейший компонент большинства современных дистрибутивов Linux, включая такие популярные, как Ubuntu, Fedora, CentOS и Debian.
SystemD служит системой инициализации, то есть отвечает за инициализацию пользовательского пространства и управление системными службами во время процесса загрузки. Наиболее примечательной особенностью systemd были возможности распараллеливания и логика управления службами на основе зависимостей, которые позволяли вашей системе запускать несколько процессов параллельно, косвенно улучшая время загрузки. Systemd часто ошибочно принимают за демон, но на самом деле это пакет программного обеспечения для Linux. Он предлагает systemctl, инструмент командной строки для управления системными службами, часто называемыми «демонами» или «модулями systemd», который помогает вам выполнять общие задачи системного администратора.
Чего не хватило Init?
Хотя этот демон был превосходным, его основным недостатком было отсутствие поддержки параллельных процессов во время загрузки системы, поскольку он никогда не разрабатывался с целью увеличения скорости загрузки.
Еще одним фактором замены init было отсутствие функциональности; в отличие от файлов конфигурации systemd, он полагался на сценарии оболочки для управления важными системными функциями под контролем «надстрочного индекса». У этого подхода был положительный аспект: он позволял редактировать текстовые файлы (для пользователей root), обеспечивал прозрачность действий сценария и поддерживал стандартный (syslog) метод регистрации текста. Со временем, по мере того как система становилась более современной, скрипт рос в размерах и усложнялся, что усложняло его понимание, а у init также не было прямого метода представления зависимостей (ссылки).
===========================================================
Что может предложить SystemD?
В 2010 году SystemD представила революционную параллелизацию во время загрузки системы и централизованное управление процессами, демонами, службами и точками монтирования, выделив ее как единственный пакет утилит с такими возможностями. SystemD также представляет концепцию модулей для управления различными службами в вашей системе, таких как сервисный модуль, модуль монтирования, модуль сокета, модуль слайса и т. д., где модули называются файлами конфигурации.
Ниже приводится список примечательных функций SystemD
Простая, быстрая и эффективная загрузка.
Обработка монтирования файловых систем.
Функция моментального снимка.
Контроль запущенных сервисов.
Регистрация событий с помощью Journald.
Автоматически перезапускать аварийные службы.
Точки монтирования и автомонтирования находятся под контролем.
Отслеживание процессов через группы управления Linux.
Одновременный доступ к разъему и D-Bus для более быстрого запуска службы.
Динамическое управление службами (или демонами) в зависимости от изменений оборудования.
Планирование заданий с помощью календарных таймеров, управляемых systemd.
Управление входом пользователей с помощью systemd-login.
Активация службы по требованию для улучшенной оптимизации батареи.
===========================================================
Дистрибутив Linux, поставляемый с SystemD
Вот хронологический список дистрибутивов Linux с поддержкой SystemD, отсортированный по датам выпуска по умолчанию (ссылка).
Fedora Linux (year 2011)
Mageia (year 2012)
openSUSE (year 2012)
Arch Linux (year 2012)
CoreOS (year 2013)
Manjaro Linux (year 2013)
Red Hat (year 2014)
Debian (year 2014)
Ubuntu (year 2015)
Clear Linux (year 2017)
Linux Mint (year 2018)
============================================================
Почему эта замена столь спорна?
Многочисленные факторы способствуют спорному характеру этой темы. Чтобы внести ясность, я обрисую эти причины в виде пунктов, а затем:
SystemD, который часто называют управляющим демоном для всего дистрибутива, помещает все в один родительский процесс; отказ может привести к катастрофическим потерям.Его также критиковали за сложность, монолитность и отклонение от философии Unix «делай что-то одно и делай это хорошо». Преимущество предоставления нескольких вещей в одном месте также является причиной критики увеличения поверхности атаки для хакеров. Сложность системы значительно возрастает из-за раздутости систем и требований к обслуживанию. Всего через год Леннарт Пёттеринг, разработчик systemd, присоединился к Microsoft. Инструмент командной строки управления systemd также довольно обширен.
На ум приходит вопрос: почему он был выбран вместо стандартного init. По этой причине в разделе функций systemd в этой статье ( оригинал содержит детальные таблицы сравнения функциональности ) освещаются все основные моменты, но вы можете прочитать исходное объявление, включая этот пост, для получения более подробной информации.
Имеет ли для вас значение этот спор?
=============================================================
Этот раздел предназначен в первую очередь для новичков в Linux; Если вы не работали с Linux с момента его создания, эта битва или противоречия могут вас не касаться. Поскольку вы, возможно, уже используете systemd (99 %) по незнанию, эта тема в первую очередь заинтересует опытных пользователей Linux или людей, которые придают большое значение принципам открытого исходного кода, экономичным системам и сути философии Linux. Настоятельно рекомендуется избегать каких-либо предвзятостей или суждений между этими двумя системами, поскольку обе имеют свои преимущества и хороши в своих областях.
<<Личный девиз автора оригинала как исследователя безопасности - попробовать все, независимо от того, поддерживают это все или нет, и выбрать тот, который лучше всего подходит ему>>
Original source : https://linuxtldr.com/init-vs-systemd/