猫 /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
百胜列表 百胜
yum.noarch 3.4.3-154.el7.centos
回购协议:https://github.com/patsevanton/simple-package-update
我构建了第 1 个和第 2 个版本命令
mvn clean package
当第1个版本更新到第2个版本时
Running transaction
Updating : simple-package-update-1-2.noarch 1/2
Run postinstall.sh
Run preremove.sh
Cleanup : simple-package-update-1-1.noarch 2/2
Verifying : simple-package-update-1-2.noarch 1/2
Verifying : simple-package-update-1-1.noarch 2/2
Updated:
simple-package-update.noarch 0:1-2
第一的
运行 postinstall.sh
第二
运行 preremove.sh
如果 preremove.sh scipt 在 postinstall.sh 之后运行,如何正确更新 rpm?
preremove.sh 包含注销服务
postinstall.sh 包含注册服务
答案1
删除包时会调用 %preun scriptlet (在您的情况下为 preremove.sh)。即使在升级期间也会发生这种情况,因为旧软件包将被删除并安装新软件包。您可以使用 的值检查是否升级$1
。例如这里记录了https://fedoraproject.org/wiki/Packaging:Scriptlet