首页/系统/Linux 运维命令速查/场景:用补丁安全更新生产文件
本包目录(613 条)
文件与目录76 条
文本处理77 条
网络命令82 条进程与作业69 条磁盘与文件系统51 条用户与权限44 条日志与排查40 条systemd 与服务42 条包管理34 条性能与监控48 条定时任务与计划50 条

场景:用补丁安全更新生产文件

生产改配置/小代码的标准姿势:本地 diff -u 生成补丁 → scp 上传 → --dry-run 演练 → 应用 → 复核回滚路径。

Linux 运维命令速查系统更新于 2026-10-12
场景向生产环境投递小改动
组合diff -u + scp + patch

步骤逐条执行

步骤逐条执行
diff -u app.conf app.conf.new > /tmp/app.conf.patch
scp /tmp/app.conf.patch prod:/tmp/
ssh prod 'cd /etc/app && cp app.conf app.conf.bak && patch -p1 --dry-run < /tmp/app.conf.patch'
ssh prod 'cd /etc/app && patch -p1 -b < /tmp/app.conf.patch'
ssh prod 'grep -n CHANGED /etc/app/app.conf'   # 复核

回滚

回滚
ssh prod 'cd /etc/app && patch -R -p1 < /tmp/app.conf.patch'   # 或恢复 app.conf.bak
先备份再 patch;--dry-run 不通过就不要应用,检查 -p 层级与上下文。

易错点

  • 补丁头 a/ b/ 用 -p1;本地生成的无前缀补丁用 -p0,搞错就 No file to patch
  • patch 默认 fuzz 2 行模糊匹配,可能错位打到相似代码——关键文件加 -F0 强制精确匹配

数据来源与参考

  • man 1 patch(GNU patch 手册)

相关工具

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