コマンドラインから更新が必要なパッケージの数を見つける方法は?


34

ファブリックを使用したシステム管理の自動化に取り組んでおり、特定のマシンでアップグレードが必要なパッケージの数を監視できるようにしたいと考えています。これは、最初にマシンにログインしたときに表示される情報と同じです。つまり、この部分です。

35 packages can be updated.
22 updates are security updates.

sudoその情報を提供するコマンドを実行できますか?

私はapt-pythonバインディングを見てきましたが、それらは高い学習曲線を持っているようであり、また多くの周りで変更されているように見えます-私は少なくとも、 Ubuntuのバージョンごとに異なることを行います。

回答:


33

その出力を取得するには、次のコマンドを使用できます

sudo /usr/lib/update-notifier/update-motd-updates-available

または、使用したくない場合はsudo

cat /var/lib/update-notifier/updates-available

説明

loginアプリケーションのショーファイルで検出された出力/etc/motdへのシンボリックリンクです、/var/run/motd

この最後のファイルは、ですべてのスクリプトを呼び出すmounted-varrunサービス(を参照/etc/init/mounted-varrun.conf)によって更新され、/etc/update-motd.d/特に

/etc/update-motd.d/90-updates-available

それは順番にスクリプトを呼び出します

/usr/lib/update-notifier/update-motd-updates-available

このスクリプトはさまざまなアクションを実行し、最後に出力をテキストファイルに書き込みます

/var/lib/update-notifier/updates-available

編集

質問の再起動部分については、このコマンドを実行します

/usr/lib/update-notifier/update-motd-reboot-required

再起動が不要な場合は出力されません。


11.04を実行しているマシンで確認しているところですが、by風は44個の更新が必要であると表示しています。cat提案するファイルは空白であり、最初に指定するスクリプトはこのマシンに存在しません。インストールする必要のあるパッケージに含まれていますか?が/usr/lib/update-managerありますが、update-notifierディレクトリはありません。
KayEss

11.04デスクトップでテスト済み。これらのファイルはupdate-notifier-common、新規インストールで自動的にインストールされたものに属します(10.10からのアップグレードではありません)。
enzotib

さらにマシンを見ました。持っているものについては/var/lib/update-notifier/apt-checkすべて私のマシンに表示されないことも、24(43のアップデート、24はセキュリティのものです)、しかし、それは2つの数値を返すようにこのルックスを、すなわち43。このファイルは異なるバージョンのパッケージ間で移動した可能性があります。
KayEss

21

なぜこれを実行できないのですか?

/usr/lib/update-notifier/apt-check --human-readable

これは、少なくとも私が使用しているUbuntu(12.10)のバージョンでは、/ usr / lib / update-notifier / update-motd-updates-availableが情報を収集するために行うことです。


Lucidをチェックして
みる

2
出力をstderrに書き込みます。誰がそれをしますか?
KayEss

2
update-motdパッケージ全体とその思考を完全にサイドステップするため、このアプローチをお勧めします。直接コマンドを与えてくれてありがとう。
jefflunt

3

また、次の場所でコメントを見つけたときに、最小限のdockerコンテナー内の更新チェックのためにscripredメソッドを検索し/usr/lib/update-notifier/apt-checkます。

apt-get -s -o Debug::NoLocking=true upgrade | grep ^Inst

これにより、update-notifier-commonパッケージをインストールする必要なく、スクリプト化された更新チェックが可能になります


0

Nagioscheck_aptからプラグインを使用できます。アップデートが利用可能かどうかに応じて異なるリターンコードを取得できるという利点があります。monitoring-plugins-basic

$ /usr/lib/nagios/plugins/check_apt
APT WARNING: 18 packages available for upgrade (0 critical updates). |available_upgrades=18;;;0 critical_updates=0;;;0
$ echo $?
1

戻りコードの意味は次のとおりです。

  • 0 ->アップグレード可能なパッケージはありません
  • 1 ->アップグレードに使用できる重要ではないパッケージ
  • 2 ->利用可能な重要な更新

参照:

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.