Где разместить созданные пользователем файлы модулей systemd

Где разместить созданные пользователем файлы модулей systemd

Куда мне поместить файл systemd, например, для Nginx nginx.serviceили чего-то подобного в Ubuntu 16.04?

решение1

Рекомендуемое место —/etc/systemd/system/nginx.service

Затем введите команду:

systemctl enable nginx

И наконец

systemctl start nginx

решение2

Обычно в Ubuntu предоставленные пакетом файлы модулей располагаются в /lib/systemd/system/каталоге eg , /lib/systemd/system/nginx.serviceтогда как предоставленные пользователем или любые изменения в предоставленных пакетом файлах модулей располагаются в /etc/systemd/system/каталоге .

Теперь, чтобы переопределить, вы можете:

  • Назовите файл модуля так, как это предусмотрено пакетом, например, для переопределения /lib/systemd/system/nginx.service, вы можете создать файл /etc/systemd/system/nginx.serviceи поместить туда директивы.

  • Или вы можете создать вставляемый фрагмент, заканчивающийся на .confв каталоге, который назван в честь исходного файла модуля с .dдобавлением к имени каталога, например, вы можете создать файл с именем /etc/systemd/system/nginx.service.d/override.confи поместить туда операторы


Теперь вы можете использовать systemctl editкоманду для выполнения всех действий вручную, то есть она создаст для вас необходимый файл переопределения (сначала она создаст временный файл (с промежуточным(и) каталогом(ами) для вставляемых фрагментов), а после сохранения она зафиксирует rename()временный файл в желаемом конечном файле), и вам просто нужно будет отредактировать файл, чтобы вставить свои переопределения.

Например, чтобы создать переопределяющий фрагмент для ngnx.service( /lib/systemd/system/nginx.service), упомянутого выше:

systemctl edit nginx.service

По умолчанию будет использоваться файл /etc/systemd/system/nginx.service.d/override.conf. Если --fullиспользуется , то /etc/systemd/system/nginx.serviceбудет использоваться полный файл замены (исходный контент /lib/systemd/system/nginx.serviceбудет скопирован в этот файл).

Вы также можете использовать --runtimeего для создания фрагмента /run/systemd/system/(сначала вставленного фрагмента, затем целого, чтобы --runtimeони --fullне были взаимоисключающими), который, конечно, будет временным.

Разумеется, вы можете выбрать используемый редактор, порядок приоритета следующий:

$SYSTEMD_EDITOR > $EDITOR > $VISUAL > editor > nano > vim > vi

Связанный контент