有没有办法可以将配置文件标记为可选,这样在调用验证时(rpm -v),它会忽略丢失的配置文件?
我有一个RPM包,我为我的应用程序提供了一个默认配置文件。我的应用程序不需要配置文件,但我希望将其包含在内以便于配置。如果文件已删除,则应用程序将按预期工作(具有一些内部默认值)。我面临的问题是,如果我删除配置文件,然后在我安装的RPM上运行验证,RPM表明软件包信誉不佳:
rpm -V test-rpm
(输出)
缺少c /etc/test/test.conf
最小化SPEC定义:
Version: 0.0.1
Name: test-rpm
...
%install
install -m 644 $resource_directory/test.conf %{buildroot}/etc/test/test.conf
...
%files
%defattr(-,root,root)
%config(noreplace) /etc/test/test.conf
...
是否有一些我尚未找到的选项,或者我是否误解了有关RPM的内容?
答案 0 :(得分:3)
这就是我相信的%config(missingok)
。
%config(missingok)表示该文件不需要存在于已安装的计算机上。 %config(missingok)经常用于/etc/rc.d/rc2.d/S55named等文件,其中符号链接的(非)存在是%post中配置的一部分,文件可能需要是删除此包时删除。无论是在安装还是卸载时都不需要存在此文件。