apt-get update
非常に少数のパッケージに対して新しいバージョンがリリースされた場合、これを行うためのいくつかのオプションがすでにあるかどうか疑問に思います。
使用を検討していますが、apt.conf
まだPost-Invoke
何もしません。
答え1
apt-show-versions
(同じ名前のパッケージから)を使用できます。
apt-show-versions -u
システムにインストールされているパッケージの利用可能なアップデートバージョンをすべて一覧表示します(データベースが使用されているため、前述のように実行する必要がありますapt
)。apt-get update
パッケージを引数として渡すことで、apt-show-versions
リストをそのパッケージに限定することができます。
apt-show-versions -u ${YOUR_WATCHED_PACKAGES}
これにより、apt-get update
探している情報が表示されます。Post-Invoke
おっしゃるとおり、自動化に使用できます。
答え2
簡単な方法は、次を実行することです。
apt-get -s --only-upgrade install package1 package2 ...
これをファイルからパッケージリストを作成するスクリプトに入れて実行し、上記apt-get update
のコマンドを実行できます。
答え3
-u
だから私は今、次のような結果を得ました。うまくいくようです。より多くのパッケージがサポートされれば良いでしょう。多くのパッケージを見ると、速度が遅くなる可能性があります。
/etc/apt/watch
1行にパッケージ名を含むテキストファイル(#個のコメントをサポート)
/usr/local/bin/apt-watch.sh
:
#!/bin/sh
test -f /etc/apt/watch || exit 0
apt-show-versions -u $(grep -v ^# /etc/apt/watch) >/tmp/apt.watch
if [ $(cat /tmp/apt.watch | wc -l) -gt 0 ] ; then
cat /tmp/apt.watch | mail root -s '[apt watch] upgrades available'
fi
/etc/apt/apt.conf.d/99-apt-watch
:
# check upgrades avaiable for watched packages
APT::Update::Post-Invoke { "[ ! -x /usr/local/bin/apt-watch.sh ] || /usr/local/bin/apt-watch.sh || true"; };