cat/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スクリプトレット(あなたの場合はpreremove.sh)が呼び出されます。これは、古いパッケージが削除され、新しいパッケージがインストールされるアップグレード中にも発生します。この値を使用してアップグレードするかどうかを確認できます$1
。たとえば、ここに記録されています。https://fedoraproject.org/wiki/Packaging:スクリプトトリット