Systemd
單獨分區上的 systemd 單元在重新啟動時無法載入
我在一個單獨的分區上有一個.service,它與“systemctl enable”連結,但不會在啟動時自動啟動。執行“systemctl status”聲稱“載入失敗”,如果我執行它就可以工作
systemctl daemon-reload
。我的猜測是,這是因為它位於一個單獨的分區上,我可以通過明確地執行“cp -t /etc/systemd/system”來解決這個問題。
這似乎應該“正常工作”,我錯過了什麼?
是的,這是意料之中的,它記錄在systemctl(1) 手冊頁的
enable
命令下:當 systemd 啟動時,連結單元文件所在的文件系統必須是可訪問的(例如,下面的任何內容
/home
或/var
不允許的內容,除非這些目錄位於根文件系統上)。限制的原因是 systemd 在啟動時會掃描所有單元並組裝一個事務。掛載其他文件系統是通過單元完成的,因此在事務已經在進行之前,其他文件系統中的單元將不可用。在掛載這些文件系統後,systemd 不會重新掃描單元並重新計算事務。
正如您已經發現的那樣,將單元復製到根文件系統是一種合適的解決方法。