You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么rpm reinstall操作执行时%postun会在%post段之后运行?

问题原因

rpm --reinstall 底层逻辑是先执行新包的完整安装流程,再执行旧版本同包的卸载流程,和常规升级场景的脚本执行顺序不同:

  • 首次执行rpm -i安装时,仅会触发新包安装流程,因此只有新包的%post(安装后脚本)会被执行,你只会看到post command...输出
  • 执行rpm --reinstall重装时,rpm会先将当前系统中已安装的同版本helloworld包标记为待卸载,先完成新包的全量安装步骤(执行新包的%post脚本),安装完成后才执行旧包的卸载流程,此时才会触发旧包的%postun(卸载后脚本),因此你会先看到post command...输出,之后才是postun command...输出

规则查询方式

你可以直接查看本地rpm手册获取所有场景下的脚本段(scriplet)执行规则:执行man rpm命令后,找到SCRIPTS章节,即可查询包括安装、卸载、升级、重装在内的所有操作对应的脚本触发顺序、参数传递规则等内容。

内容的提问来源于stack exchange,提问作者Sam Daniel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 11:42:01