我使用maven rpm插件(2.1-alpha-1)创建了一个rpm文件。我需要在rpm文件的%post中执行两个命令。生成的spec文件和命令“rpm -q --scripts filename”显示这两个命令。 这是“rpm -q --scripts filename | less”
的输出postinstall scriplet (using /bin/sh):
ln -s /etc/init.d/source /etc/init.d/target
ln -s /var/app/source1 /var/app/target1
以下是rpm插件部分中给出命令的方法
<postinstall>ln -s /etc/init.d/source /etc/init.d/target
ln -s /var/app/source1 /var/app/target1</postinstall>
<!-- I have tried to separate the two commands with ";"
too but that does not work either.-->
但是只有第二个被执行。我在这里缺少什么?要做到这一点的任何变通办法吗?提前谢谢。
答案 0 :(得分:0)
也许这不是包装问题。相反,可能会在目标系统上启用SELinux,并且可能阻止创建链接,因此请检查/var/log/audit/audit.log以查看是否正在生成任何拒绝消息。
您可能还想在目标系统上以root身份手动尝试'ln -s /etc/init.d/source /etc/init.d/target'。如果SELinux咬你,这也会失败。