Назад | Перейти на главную страницу

блок systemd на отдельном разделе не загружается при перезагрузке

У меня есть .service на отдельном разделе, который связан с "systemctl enable", но не запускается автоматически при загрузке. Запуск «systemctl status» утверждает, что «не удалось загрузить», и он работает, если я запускаю systemctl daemon-reload.

Я предполагаю, что это происходит потому, что он находится в отдельном разделе, и я смог обойти это, явно выполнив "cp -t / etc / systemd / system".

Это похоже на то, что должно «просто работать», что мне не хватает?

Да, это ожидается, и это задокументировано в systemctl (1) справочная страница под enable команда:

Файловая система, в которой расположены связанные файлы модулей, должна быть доступна при запуске systemd (например, все, что находится под /home или /var не допускается, если только эти каталоги не расположены в корневой файловой системе).

Причина ограничения в том, что systemd сканирует все модули и собирает транзакцию при запуске. Монтирование других файловых систем выполняется с помощью модулей, поэтому модули в других файловых системах будут недоступны до тех пор, пока транзакция не будет выполнена. systemd не будет повторно сканировать модули и пересчитывать транзакцию после монтирования этих файловых систем.

Как вы уже выяснили, копирование модулей в корневую файловую систему является подходящим решением.