DEBでpostinstスクリプトを使用してパッケージの更新を防ぐ方法

DEBでpostinstスクリプトを使用してパッケージの更新を防ぐ方法

私はRaspberry Pi用のQEMUをコンパイルしてパッケージ化しましたが、aptはそれをインストールすることで1.3.1(最新のリポジトリで利用可能)から5.2.50(私のdeb)に「ダウングレード」したと思います。今apt upgrade5.2.50(私のdeb)から1.3.1(ストアで利用可能な最新バージョン)にapt "アップグレード"を実行するたびに。今はsudo apt-mark hold qemu

私が望むのは、postinstdebのスクリプトがパッケージの更新を防ぎ、prermスクリプトがそれを維持することです。 dpkg ロックや不要なものを削除しないと、このスクリプトで apt コマンドと dpkg コマンドを実行できないことがわかります。すること。

postinst私の質問:パッケージがスクリプトを介して更新されるのを防ぎ、スクリプトを介して通知せずにdpkgロックを削除する方法はありますかprerm

答え1

交換したいpostinstQEMUパッケージには、バージョン番号のコロンの前に「1:3.1 ...」という数字の「epoch」があります。 。あなたのバージョン番号にもこれが必要です。つまり「1:5.2.50...」

aptこれにより、あなたのバージョンはリポジトリのバージョンよりも最新のバージョンと見なされます。

関連情報