Maven rpm安装后命令未执行

Maven rpm安装后命令未执行,maven,rpm,Maven,Rpm,我使用maven rpm插件2.1-alpha-1创建了一个rpm文件。我需要在rpm文件的%post中执行两个命令。生成的spec文件和命令rpm-q-scripts文件名都显示了这两个命令。 下面是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/ta

我使用maven rpm插件2.1-alpha-1创建了一个rpm文件。我需要在rpm文件的%post中执行两个命令。生成的spec文件和命令rpm-q-scripts文件名都显示了这两个命令。 下面是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.-->

然而,只有第二个得到执行。我有什么遗漏吗??有什么办法可以解决这个问题吗?提前谢谢。

也许这不是包装问题。相反,SELinux可能会在目标系统上启用,并且可能会阻止链接的创建,因此请检查/var/log/audit/audit.log以查看是否生成了任何拒绝消息


您可能还希望在目标系统上以root用户身份手动尝试“ln-s/etc/init.d/source/etc/init.d/target”。如果SELinux咬了你,这也会失败。

嗯。。。我们确定第二个ln没有被执行吗?还是无法创建链接?第二个ln被执行并创建链接,但第一个没有。顺便说一句,您的示例不正确:ln参数错误,因为as第一个参数应该指定为目标,而不是源文件。