首页/系统/Linux 运维命令速查/systemctl edit 安全覆盖单元配置
本包目录(613 条)
文件与目录76 条文本处理77 条网络命令82 条进程与作业69 条磁盘与文件系统51 条用户与权限44 条日志与排查40 条
systemd 与服务42 条
包管理34 条性能与监控48 条定时任务与计划50 条

systemctl edit 安全覆盖单元配置

不改上游单元文件,用 drop-in 覆盖:systemctl edit 服务名 打开 override.conf,重启即生效;升级软件包也不冲突。

Linux 运维命令速查系统更新于 2026-10-12
用途为单元添加 drop-in 覆盖配置
语法systemctl edit [--full] 单元
所属systemd

常用示例

常用示例
systemctl edit myapp          # 编辑 /etc/systemd/system/myapp.service.d/override.conf
# 示例内容:
# [Service]
# Environment=JAVA_OPTS=-Xmx2g
systemctl daemon-reload && systemctl restart myapp

查看与清理

查看与清理
systemctl cat myapp           # 含所有 drop-in 的合成结果
ls /etc/systemd/system/myapp.service.d/
rm /etc/systemd/system/myapp.service.d/override.conf   # 清理覆盖
drop-in 修改列表型指令(ExecStart=、Environment=)时,先空赋值清空再加新值是新版 systemd 的推荐写法。

易错点

  • 改单元优先级要理解:/etc/systemd/system > /run > /usr/lib,同名单元默认被前者覆盖
  • ExecStart 追加时忘了清空旧值导致命令重复执行报错

数据来源与参考

  • man 1 systemctl(edit)
  • man 5 systemd.unit(drop-in)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌