我想在 RPM 安装期间使用自定义选项。我使用 rpmbuild 来制作 RPM,因此我有 SPEC 文件。
我可以定义我自己的选项,我可以在 SPEC 文件中使用(例如,rpm -i --r_password=something acme-1.1-1.el7.noarch.rpm
以及值r_密码将被放入一个文件 -> 由%post
SPEC 文件中的部分控制)?
答案1
你不能。您可以在 %post 中使用宏。但它们是在构建时评估的,并且您只能在构建时覆盖它:
%{!?foo:%global foo SOME_DEFAULT}
%post
echo %{foo}
第一行定义了宏foo
不存在时的一些默认值。
然后你可以运行:
rpmbuild -ba --define='foo bar' evil.spec
foo
您可以在其中使用 content定义自己的宏bar
。转速建立后,一切都已成定局,您无法更改转速。
但你可以这样做:
%post
cat /etc/myconfig.cfg | ... #do something based on content of the file
并告诉用户:
echo foo > /etc/myconfig.cfg; rpm -i acme-1.1-1.el7.noarch.rpm