如果使用systemd,FPM是否可以创build一个不同的RPM包?

我使用fpm为EL6主机构buildRPM。 它安装一个/etc/init.d脚本。 但是,如果该软件包安装在EL7主机上,我希望它将文件安装在/ usr / lib / systemd / system中。

有没有一种简单的方法告诉FPM制作一个RPM,以便在不同的操作系统上安装不同的文件?

如果没有,安装两者是否安全,并假定EL6主机将忽略systemd文件,而EL7主机将忽略/etc/init.d脚本?

只需要将你的启动脚本(如“init”和“systemd”脚本)与其他文件一起传递,而不是直接传递到“init.d”或“systemd”文件夹。 然后在安装后阶段(例如,通过“/ etc / redhat-release”)检测您是在EL6上还是在EL7上,然后相应地复制相关的启动脚本。