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上运行相同的脚本,因此选择不考虑此选项。