1.12. 修改现有单元文件
要根据您的特定需求自定义和优化服务,而无需从头开始创建新配置,您可以修改现有单元文件。如果要修改现有单元文件,请进入 /etc/systemd/system/ 目录。
不要修改 /usr/lib/systemd/system/ 目录中的单元文件。
先决条件
- 您有管理特权。
流程
-
在
/etc/systemd/system/<unit>.d/中为补充配置文件创建一个目录。您可以使用额外的功能扩展默认配置,同时仍然指向原始单元文件。因此,软件包升级引入的默认单元的更改会被自动应用。详情请参阅 扩展默认单元配置。 从
/etc/systemd/system/目录中的/usr/lib/systemd/system/目录创建一个原始单元文件副本,并在其中进行更改。这个副本会覆盖原始文件,因此不会应用软件包更新带来的更改。这个方法对无论软件包更新都应保留的重要单元更改都很有用。详情请参阅 覆盖默认的单元配置。-
要返回单元的默认配置,请删除自定义创建的配置文件和
/etc/systemd/system/ <unit>.d/drop-in 目录。 对单元文件应用更改:
# systemctl daemon-reloaddaemon-reload选项重新加载所有单元文件,并重新创建依赖项树,这需要立即将任何更改应用到单元文件中。如果修改后的单元文件属于一个正在运行的服务,重启该服务:
# systemctl restart <name>.service重要要修改由 SysV initscript 处理的服务属性,如依赖项或超时,请不要修改 initscript。相反,为服务创建一个
systemd置入配置文件,如: 扩展默认的单元配置 和 覆盖默认的单元配置 中所述。要像普通 systemd 服务一样管理服务,请创建一个新目录
/etc/systemd/system/network.service.d/和 systemd 置入文件/etc/systemd/system/network.service.d/<example_config.conf>。然后将修改的值放到 drop-in 文件中。systemd服务将network服务识别为network.service,因此创建的目录必须命名为network.service.d。
-
要返回单元的默认配置,请删除自定义创建的配置文件和