关于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