preremove.sh sciptがpostinstall.shの後に実行されている場合、rpmを正しく更新する方法は?

preremove.sh sciptがpostinstall.shの後に実行されている場合、rpmを正しく更新する方法は?

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:スクリプトトリット

関連情報