私のサービスを管理するためにrunitを使用しており、新しいバージョンのnginxをインストールするときsv restart nginx
。
パッケージまたはパッケージグループのアップグレードを監視し、アップグレード時にスクリプトを起動する方法はありますか?
ベストアンサー1
Debian を使用しているので、可能な方法の 1 つは apts 組み込みメカニズムを使用することです。アップデート時にスクリプトを実行するようにAptを設定できます。
たとえば、apt-listchanges
特に新しい変更ログエントリを表示して、「現在のシステムにインストールされているバージョンと比較して、Debianパッケージの新しいバージョンで変更された内容を表示するために使用されるツール」であるpackageを参照してください。パッケージには/etc/apt/apt.conf.d/20listchanges
、更新時に簡単に実行できるスクリプトが含まれています。それがスクリプトのすべてです。
DPkg::Pre-Install-Pkgs { "/usr/bin/apt-listchanges --apt || test $? -ne 10"; };
DPkg::Tools::Options::/usr/bin/apt-listchanges::Version "2";
これらのスクリプトは通常、aptにPerlまたはPythonバインディングを使用します。/usr/bin/apt-listchanges
これはPythonスクリプトであり、Pythonバインディングを使用します。
たとえば、Debian Wiki(Debian Wiki)のやや概略的なドキュメントをご覧ください。 会議 会議。