パッケージ一覧の差分通知

NetBSDでは、daily insecurity outputの中で、パッケージの一覧と、パッケージ内容・依存関係のファイルの差分を通知するようになっています。
作業記録を残すためにFreeBSDのdaily outputに移植して使っていたのですが、他でも使えそうなので公開しておきます。

配布

このファイルを/usr/local/etc/periodic/daily/230.backup-pkgsとして設置し、/etc/periodic.conf で daily_backup_pkgs_enable="YES" を設定してください。デフォルトでは、他のバックアップファイルと同様に /var/backups 以下に保存するようになっていますが、他の場所にしたければ daily_backup_pkgs_dir を適宜設定すればそちらに保存されるはずです。

NetBSDのオリジナルでは、/var/db/pkg 以下の +REQUIRED_BY および +CONTENTS も差分を取っている(同じpkg versionでも新しくなることがあるため)のですが、あまりdaily outputが長くなって読まないのでは本末転倒なので、敢えて実装していません。

複数台の場合

実際に複数台投入している某所では、共有NFSサーバ上にホスト名で保存し、毎朝にまとめてsvn ciし、差分をメールしています。
この場合全ホストのパッケージ更新がひとかたまりで来る上に、ある日に更新されたパッケージが後から確認できるので、後になってアップグレードによる問題が発生したときに情報源の一つにできます。

Debian

実は手元ではDebian(dpkg)版もあるのですが、dpkg -lそのままでカラム位置の変動に対応できていないので、そのうち対応したら公開するかもしれません。