1. systemd — комплекс программ, экосистема которых формируется вокруг одноименной службы. Служба systemd — система инициализации, «корневой» родитель всех процессов пользовательского пространства.
  2. Является заменой классическому SystemV и Init. Управляет службами  и целевыми состояниями. Использует агрессивное распараллеливание запуска служб, используя сокеты и системную шину dbus. Создатель — Леннарт Поттеринг.
  3. Основные компоненты systemd:
    • systemd — основная службауправляет процессами пользовательского пространства, в частности, службамиЯвляется заменой SystemV и Init, как правило работает с PID=1.
    • Юнит (unit) — основная единица systemd. Примерами юнитов являются службы, целевые состояния.
    • systemd основан на использовании механизмов, предоставленных ядром Linux: пространств имен (namespaces) и контрольных групп (cgroups)
    • namespaces — пространства имен — механизм, обеспечивающий изоляцию процессов благодаря ограничению видимости тех или иных ресурсов ядра Linux.
    • Пространство имен предоставляет процессам собственные экземпляры имен, так, что изменения, видимые членам одного пространства имен, не видимы для процессов, не входящих в это пространство имен.
    • в linux имеются 7 типов пространств имен: cgroups, pid, network, user, mount, ipc, uts.
    • В systemd активно используются cgroups — контрольные группы. Механизм позволяет образовывать иерархические группы процессов с заданными ресурсными свойствами и обеспечивает программное управление ими, задает ограничения на ресурсы (процессор, сеть, память, ввод-вывод и т. д.)
    • В противовес классическому init в systemd используется не pid, a cgroups, что позволяет отслеживать службу, даже после ветвления (fork) и завершения родительского процесса.
  4. Службы systemd:
    • systemd-journald — служба регистрации событий, тесно интегрированная с systemd. Регистрирует сообщения системного журнала (syslog), ядра (kernel log), сообщения службы, выводимые в STDOUT и STDERR.
    • systemdnetworkd — служба управления сетевыми соединениями. Обнаруживает и настраивает сетевые соединения.
    • systemdlogind — служба, управляющая входом пользователей в систему, пользовательскими сеансами, созданием текстовых терминалов при активации виртуальной консоли, обработкой клавиш сна/выключения и рядом других связанных возможностей.
    • systemdudevd — служба управления событиями устройств.
  5. Утилиты:
    • systemctl — основной инструмент управления службами и целевыми состояниями systemd
    • journalctl — инструмент просмотра журналов. Например команда: sudo journalctl -u NetworkManager.service —since «2021-10-19 09:47:40» -o cat
    • system-notify — служит для служб типа notify. Запущенный в качестве службы сценарий с помощью system-notify может сообщать службе свой статус.
    • systemd-analyze позволяет проанализировать время загрузки, командой systemd-analyze plot > <filename>.svg и просмотр графика с помощью firefox командой firefox <filename>.svg
    • systemd-cgls выводит дерево контрольных групп (cgroup)
    • systemd-cgtop — аналог top для контрольных групп (cgroup)
    • loginctl — утилита для управления менеджера systemd-logind.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.