【问题标题】:rpm package creation: scriptlet ordering during upgraderpm 包创建:升级期间的脚本排序
【发布时间】:2015-04-22 07:50:05
【问题描述】:

我正在尝试创建一个包,并且必须按特定顺序调用以前和新包的安装/卸载脚本。

根据 http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#RPM_scriptlet_recipes,升级已安装的包时,首先运行新包的{pre,post}安装脚本,然后运行旧包的{pre,post}卸载。

这意味着有时会同时安装这两个软件包。这怎么可能?新软件包是否安装在某个地方的 chroot 上?我找不到任何相关内容。

此外:如何在安装结束时启动服务? 如果我在安装后脚本中添加“服务启动 xxx”,那么在升级时预卸载将运行,这将再次停止服务..

【问题讨论】:

    标签: centos packaging rpm rhel


    【解决方案1】:

    是的 rpm 确实 install-before-erase 以防止出现没有安装包的窗口,这发生在 erase-before-install 中。

    会跳过新安装的替换以前文件的文件。

    对于卸载脚本,需要测试 $1 来区分 在“升级”之间(您不想停止刚刚启动的服务) 和“删除”。

    $1 将在删除包时为零。

    使用“rpm -q --scripts ...”检查带有守护进程的类似软件包

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-15
      • 1970-01-01
      • 2015-11-03
      • 1970-01-01
      • 2015-09-12
      • 1970-01-01
      • 2013-05-05
      • 1970-01-01
      相关资源
      最近更新 更多