1.12. 修改现有单元文件


要根据您的特定需求自定义和优化服务,而无需从头开始创建新配置,您可以修改现有单元文件。如果要修改现有单元文件,请进入 /etc/systemd/system/ 目录。

不要修改 /usr/lib/systemd/system/ 目录中的单元文件。

先决条件

  • 您有管理特权。

流程

  • /etc/systemd/system/<unit>.d/ 中为补充配置文件创建一个目录。您可以使用额外的功能扩展默认配置,同时仍然指向原始单元文件。因此,软件包升级引入的默认单元的更改会被自动应用。详情请参阅 扩展默认单元配置
  • /etc/systemd/system/ 目录中的 /usr/lib/systemd/system/ 目录创建一个原始单元文件副本,并在其中进行更改。这个副本会覆盖原始文件,因此不会应用软件包更新带来的更改。这个方法对无论软件包更新都应保留的重要单元更改都很有用。详情请参阅 覆盖默认的单元配置

    1. 要返回单元的默认配置,请删除自定义创建的配置文件和 /etc/systemd/system/ <unit>.d/ drop-in 目录。
    2. 对单元文件应用更改:

      # systemctl daemon-reload

      daemon-reload 选项重新加载所有单元文件,并重新创建依赖项树,这需要立即将任何更改应用到单元文件中。

    3. 如果修改后的单元文件属于一个正在运行的服务,重启该服务:

      # 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

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部