Я знаю, что все они являются единичными файлами, но я не могу понять их особого значения. Я думаю, что цели похожи на демоны, а сокеты такие же, как сокет (порт IP +), но также с номерами инодов. Может ли кто-нибудь объяснить их простыми словами?
Я знаю, что все они являются единичными файлами, но я не могу понять их особого значения. Я думаю, что цели похожи на демоны, а сокеты такие же, как сокет (порт IP +), но также с номерами инодов. Может ли кто-нибудь объяснить их простыми словами?
Ответы:
A unit configuration file whose name ends in .service encodes information about a process controlled and supervised by systemd.
Служебные модули Systemd - это модули, которые фактически выполняют и отслеживают программы и демоны, а зависимости используются для того, чтобы убедиться, что службы запускаются в правильном порядке. Они являются наиболее часто используемым типом единиц.
A unit configuration file whose name ends in ".socket" encodes information about an IPC or network socket or a file system FIFO controlled and supervised by systemd, for socket-based activation.
Сокетные юниты, с другой стороны, на самом деле не запускают демонов сами по себе. Вместо этого они просто сидят и слушают IP-адрес и порт или сокет домена UNIX, и когда что-то подключается к нему, запускается демон, для которого предназначен сокет, и передается соединение с ним.
Это полезно для того, чтобы убедиться, что большие демоны, которые занимают много ресурсов, но используются редко, не работают и не занимают ресурсы все время, а вместо этого запускаются только при необходимости.
A unit configuration file whose name ends in ".target" encodes information about a target unit of systemd, which is used for grouping units and as well-known synchronization points during start-up.
Цели используются для группировки и заказа единиц. Они являются в некоторой степени грубым эквивалентом уровней запуска в том, что в разных целях запускаются разные сервисы, сокеты и другие юниты. В отличие от уровней выполнения, они имеют гораздо более свободную форму, и вы можете легко создавать свои собственные цели для упорядочивания юнитов, и цели имеют зависимости между собой.
Например, multi-user.target
это то, под чем сгруппировано большинство демонов, и его необходимо basic.target
активировать, что означает, что все сервисы, сгруппированные под, basic.target
будут запущены раньше, чем те, в которых multi-user.target
.
Документация для systemd отлично подходит для такого относительно нового проекта. Начать с целей , сman systemd.target
:
Целевые единицы не предлагают никаких дополнительных функций помимо общих функций, предоставляемых единицами. Они существуют просто для группировки модулей по зависимостям (полезно в качестве целей загрузки) и для установки стандартизированных имен для точек синхронизации, используемых в зависимостях между модулями. Помимо прочего, целевые модули являются более гибкой заменой уровней запуска SysV в классической системе инициализации SysV.
Эти «группы модулей» охватывают множество различных функций, от basic.target
которых по существу охватывает загрузку системы, вплоть до всего, от dbus, gettys, точек монтирования до свопинга и таймеров. Вы можете увидеть полный список с man systemd.special
.
служебные файлы - это основные модули для запуска процессов, контролируемых systemd. Опять же из man systemd.service
:
Файл конфигурации модуля, имя которого заканчивается на .service, кодирует информацию о процессе, контролируемом и контролируемом systemd.
Это демоны, которые можно запускать, останавливать, перезапускать, перезагружать.
Наконец, розетки , из man systemd.socket
:
Файл конфигурации модуля, имя которого заканчивается на «.socket», кодирует информацию об IPC или сетевом сокете или файловой системе FIFO, контролируемой и контролируемой systemd, для активации на основе сокетов.
Они охватывают сокет в файловой системе или в Интернете, а также классические FIFO в качестве транспорта. Каждый блок сокетов имеет соответствующий сервисный блок, который запускается, если первое соединение подключается к сокету или FIFO.
В дополнение к man
страницам, стоит прочитать серию постов Леннарта в блоге, systemd для администраторов , в которой подробно рассматривается архитектура и реализация systemd (в настоящее время в этой серии 20 постов).
man
страницы являются образцовыми: вы смотрелиman systemd.{service,socket,target}
?