關于ubuntu自定義service服務時找不到/usr/lib/systemd/system目錄的問題
問題
我們知道在 systemd
取代了 init
而成為廣大 Linux 系統中 PID 為1的守護進程之后,Linux 中的服務(service)主要有 systemd
命令組來實現。在大多數發行版 Linux 中想要添加自己的自定義服務,需要在 /usr/lib/systemd/system
目錄下創建自定義的 .service
文件。但是,在 ubuntu 18.04 下,筆者卻沒能找到這個文件。
在國內查了一堆博客無果后,筆者終于在 StackExchange 上找到了類似的問題:傳送門
在問題中,提問者遇到了與筆者相同的問題:我們想要把自己的 .service
文件放到 /usr/lib/systemd/system
目錄下,但是在 ubuntu 18.04 卻沒有找到該目錄,而是有一些其他目錄,如 /usr/lib/systemd/system-environment-generators/
。我們是應該自己創建 /usr/lib/systemd/system
目錄嗎?還是怎么辦?
回答及解決方法
回答者指出:不同于其他的 Linux 發行版,在 ubuntu 中存放 .service
文件的目錄是 /lib/systemd/system
。該目錄其實用來存放一些 .deb
包的相關文件的。
筆者也發現,在 /etc/systemd/system
目錄中的許多 .service
文件實際上是指向 /lib/systemd/system
中文件的軟鏈接:
...
lrwxrwxrwx 1 root root 31 12月 10 2020 sshd.service -> /lib/systemd/system/ssh.service
lrwxrwxrwx 1 root root 35 12月 10 2020 syslog.service -> /lib/systemd/system/rsyslog.service
...
最終的結論就是:在ubuntu 系統中,與Debian軟件包無關的systemd相關文件(.service
)文件等最好是直接就存放在etc/systemd/system
目錄下即可。
Ref:https://unix.stackexchange.com/questions/506839/why-i-dont-have-a-usr-lib-systemd-system-folder