在spec文件中,%config和%config(noreplace)容易混淆,选择前者和后者,取决于具体需求。
%config rpm -Uvh 如果原版本文件a.txt无改动,则会被新版本文件a.txt取代;如果原版本文件a.txt有改
动,则新版本a.txt取代原版本a.txt文件,而原版本a.txt改名变成a.txt.rpmsave。
%config(noreplace) rpm -Uvh 如果原版本文件a.txt无改动,则会被新版本文件a.txt取代;如果原版本文
件a.txt有改动,则保留原版本a.txt文件,来自于新版本的a.txt改名变成a.txt.rpmnew。
%config(noreplace) rpm -e 如果文件a.txt无改动,则会被删除;如果文件a.txt有改动,则生成
a.txt.rpmsave。
原则上,重要的配置文件都要写入%config(noreplace)里面,以免一更新,新版本的文件就把客户有过修改的
文件覆盖掉。比如,客户安装Hi-1.0.0.x86_64.rpm包时生成了hi.conf,里面有一配置信息IP=1.2.3.4,由于
客户自己的IP变化,他便修改成IP=5.6.7.8。如果客户需要对该rpm包升级,更新到Hi-1.2.0.x86_64.rpm,此时如果
程序员没有在development的过程中把hi.conf写进%config(noreplace),IP=1.2.3.4的新版本hi.conf文件就
会覆盖掉IP=5.6.7.8客户自定义后的文件。
参考URL: http://www-uxsup.csx.cam.ac.uk/~jw35/docs/rpm_config.html
如果转载,请说明出处!http://blog.youkuaiyun.com/xukunddp