CentOS 6.9 | CentOS7.7 > 补丁命令 > 符号链接文件的行为不同 | –follow-symlinks选项

A. CentOS release 6.9 (Final)
  patch v2.6
B. CentOS Linux release 7.7.1908 (Core)
  patch (GNU patch 2.7.1)

总结

在将WRF(天气研究和预测模型)系统从CentOS6.9迁移到CentOS7.7过程中,发现了以下问题。
patch命令的行为不同。

在对符号链接文件应用patch时,符号链接断开并生成文件的行为。
基于该行为编写的脚本在CentOS 7.7中会导致错误。

CentOS 6.9 的版本

$ patch namelist.wps CODE_170613/diff_FNLtoSST 
patching file namelist.wps
Reversed (or previously applied) patch detected!  Assume -R? [n] 

CentOS 7.7 是一个选项。

$ patch  namelist.wps CODE_170613/diff_FNLtoSST 
File namelist.wps is not a regular file -- refusing to patch
1 out of 1 hunk ignored -- saving rejects to file namelist.wps.rej

应对

作为对应措施,”停止直接在符号链接上应用补丁的方法”。

相关

我了解到以下关于取消符号链接的方法。

    2019-10-10 CentOS 7.7のmv > StackOverflow掲載とは異なる動作 > シンボリックリンクは解除されない

补充

CentOS 7.7的patch命令中加入了用于处理符号链接的新参数“–follow-symlinks”。通过使用此参数,可以在CentOS 7.7上进行操作,但目前的调查显示,需要在CentOS 6.9和CentOS 7.7上运行相同的脚本,因此选择不考虑此选项。

广告
将在 10 秒后关闭
bannerAds