Где находятся файлы конфигурации systemd?

Как включить определенные единицы в конкретных целях? После включения, где хранится конфигурация?

Как сказал Hauke ​​Laging, systemctl enable ... будет распечатывать информацию о том, что делается. Например, в моей системе Arch, если я dhcpd службу dhcpd в интерфейс enp0s3

 $ systemctl enable dhcpcd@enp0s3 Created symlink from /etc/systemd/system/multi-user.target.wants/dhcpcd@enp0s3.service to /usr/lib/systemd/system/dhcpcd@.service 

При отключении этой самой службы вы можете увидеть, что systemctl удаляет эту предыдущую ссылку …

 $ systemctl disable dhcpcd@enp0s3 Removed symlink /etc/systemd/system/multi-user.target.wants/dhcpcd@enp0s3.service 

Итак, из этого вывода вы можете сказать, что …

  • При вызове systemctl enable создается символическая ссылка в /etc/systemd/system/multi-user.target.wants .
  • При вызове systemctl disable эта символическая ссылка удаляется.

Поэтому, если вы хотите получить список разрешенных сервисов (что вы называете «конфигурацией», я полагаю), все, что вам нужно сделать, это перечислить эти ссылки:

 ls /etc/systemd/system/multi-user.target.wants 

Тем не менее, вы можете найти дополнительную информацию с помощью systemctl list-unit-files , в которых будут перечислены все доступные службы и их статус (включен, отключен, статичен). Вы увидите, что активированные имеют ссылку где-то в /etc/systemd/system , согласно единицам, к которым они принадлежат.

 $ find /etc/systemd/system -type l 

Хотя каталоги могут меняться для некоторых дистрибутивов, это способ, которым systemd (и другие системы перед ним) обрабатывают свои настройки. В то время как /etc/systemd содержит несколько файлов конфигурации, настройки, специфичные для конкретного устройства, обрабатываются через ссылки. Для меня этот метод гораздо более практичен, чем файлы, поскольку он позволяет разработчикам предоставлять устройства вместе с их пакетами (установленными в /usr/lib/systemd/system ), но все же дает контроль над администратором, который получает решение о том, какие устройства должны быть запланированы в системе.

Если вам интересно, Arch Wiki на самом деле предоставляет хорошее введение в systemd . RHEL также имеет некоторую информацию об этом в своей документации .