安装时可以将用户定义的参数传递给RPM。
例如:
~>rpm -i sample.rpm -license_path=/path/
或
~>rpm -i -license_path=/path/ sample.rpm
或
~>rpm -i -somearg sample.rpm
-Sakthi
答案 0 :(得分:6)
RPM并不意味着采用用户定义的参数。
请参阅RPM - Install time parameters
另一个类似的问题是https://superuser.com/questions/408852/is-it-possible-to-get-users-input-during-installation-of-rpm
一种解决方法是让rpm的postinstall脚本请求来自stdin的输入,在这种情况下,您可以通过从文件或此处文档重定向stdio来传递答案。
>rpm -i sample.rpm <<__NOT_RECOMMENDED__
somearg
__NOT_RECOMMENDED__
答案 1 :(得分:1)
您似乎正在尝试创建relocatable RPM。
在.spec
文件的前导码中,输入可以重定位的文件路径的前缀。
例如,如果文件的完整路径是
/base/path/to/my/file
然后在RPM安装期间可以更改/base
,但/path/to/my/file
将保持不变。
以下是您在.spec
文件中添加的内容:
#Preamble: Summary, Name, etc.
Prefix: /base
确保在列出%install
文件的%files
和.spec
部分中的所有可重新定位文件时提及此前缀。在某些情况下,可重新定位的RPM可能无法正常工作,因此请查看these things to consider。
%files
%{prefix}/path/to/my/file
现在,当您安装RPM时,您可以指定不同的前缀。
rpm -i sample.rpm --prefix /tmp
这将在/tmp/path/to/my/file
。