首页/系统/信创系统运维速查/drop-in 覆盖单元配置
服务与运维65 条

drop-in 覆盖单元配置

不改厂商原始单元文件,用 drop-in 片段(/etc/systemd/system/单元.d/*.conf)追加或覆盖参数,系统升级时不会被覆盖,是运维调整服务参数的标准做法。

信创系统运维速查系统更新于 2026-10-12

交互方式

交互方式
systemctl edit nginx.service          # 生成 drop-in 并自动 daemon-reload
systemctl edit --full nginx.service   # 整份覆盖:升级后易脱节,不推荐长期使用

手工方式

手工方式
mkdir -p /etc/systemd/system/nginx.service.d
cat > /etc/systemd/system/nginx.service.d/10-override.conf <<'EOF'
[Service]
LimitNOFILE=65535
EOF
systemctl daemon-reload && systemctl restart nginx

确认合并结果

确认合并结果
systemctl cat nginx.service
systemctl show nginx -p LimitNOFILE
片段按文件名排序合并,后加载覆盖先加载的同名键;用 10-、20- 数字前缀管理覆盖顺序。

易错点

  • drop-in 里的段落名必须与主单元一致(如 [Service]),写错段会报未知段落且不生效
  • systemctl edit --full 生成的完整副本不会随系统升级同步,除排障外不建议长期使用

数据来源与参考

  • man 5 systemd.unit(drop-in 机制)
  • man 1 systemctl(edit)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌