我使用 fpm 为 EL6 主机构建了一个 RPM。它会安装一个 /etc/init.d 脚本。但是,如果该软件包安装在 EL7 主机上,我希望它安装 /usr/lib/systemd/system 中的一个文件。
有没有一种简单的方法可以告诉 FPM 制作一个 RPM,以便在不同的操作系统上安装不同的文件?
如果不是,那么安装两者并假设 EL6 主机将忽略 systemd 文件,而 EL7 主机将忽略 /etc/init.d 脚本是否可以安全?
答案1
只需将您的启动脚本(即“init”和“systemd”脚本)与其他文件一起提供 - 而不是直接发送到“init.d”和“systemd”文件夹。然后在安装后阶段检测(例如通过“/etc/redhat-release”)您是在 EL6 上还是在 EL7 上,然后相应地复制相关的启动脚本...