两个目录的主要区别
| 特性 | /etc/systemd/system | /lib/systemd/system |
|---|---|---|
| 优先级 | 最高(覆盖系统默认) | 较低(系统默认) |
| 用途 | 用户自定义、修改的服务 | 系统安装包提供的默认服务 |
| 修改方式 | 手动创建或修改 | 通常由 RPM/DEB 包自动管理 |
| 更新行为 | 系统更新时不会被覆盖 | 系统更新时可能被覆盖 |
| 管理方式 | 管理员手动管理 | 包管理器自动管理 |
详细说明
1./lib/systemd/system(系统服务目录)
作用:存放系统默认的服务文件
来源:由软件包(RPM/DEB)安装时自动创建
特点:
属于系统文件,更新软件时会被覆盖
不应手动修改此目录下的文件
修改后可能导致软件更新失败
# 示例:查看系统安装的服务 ls -la /lib/systemd/system/tomcat* ls -la /lib/systemd/system/sshd.service ls -la /lib/systemd/system/nginx.service2./etc/systemd/system(自定义服务目录)
作用:存放用户自定义的服务文件
来源:管理员手动创建
特点:
优先级更高,会覆盖
/lib/systemd/system中的同名服务软件包更新时不会被覆盖
适合自定义配置
# 示例:创建自定义服务 vi /etc/systemd/system/tomcat.service systemctl daemon-reload优先级规则
systemd 查找服务文件的顺序:
/etc/systemd/system(最高优先级)/run/systemd/system(运行时临时)/lib/systemd/system(系统默认)
# 查看服务文件的实际位置 systemctl show -p FragmentPath tomcat # 示例输出: # FragmentPath=/etc/systemd/system/tomcat.service