我正在尝试创建一个包,并且必须按特定顺序调用上一个和新包的安装/卸载脚本。
根据 http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#RPM_scriptlet_recipes,在升级已安装的软件包时,首先运行新软件包的{pre,post}安装脚本,然后运行旧软件包的{pre,post}卸载。
这意味着有时会安装两个软件包。这怎么可能?新包是否安装在chroot的某个地方?我找不到任何相关的东西。
此外:如何在安装结束时启动服务? 如果我在安装后的scriplet上添加“service start xxx”,那么当升级预升级时会运行,这将再次停止服务..
答案 0 :(得分:0)
是rpm执行擦除前安装以防止没有安装软件包的窗口,这在安装前擦除时会发生。
将跳过替换以前文件的新安装文件。
对于卸载脚本,您需要测试$ 1来区分 “升级”之间(你不想停止刚启动的服务) 和“删除”。
删除包时,$ 1将为零。
使用“rpm -q --scripts ...”
检查具有守护进程的类似包