保留中のすべてのセキュリティ更新プログラムのリストを取得する方法は?


13

Ubuntu 14.04システムで保留中のすべてのセキュリティ更新プログラムを一覧表示する必要があります(カウントもインストールもしません)。apt-getを使用してセキュリティ更新プログラムのみのリストを作成する方法の投稿を読みましたそして、その受け入れられた答え(apt-show-versions | grep upgradeable | grep security)は確かに私にリストを与えてくれます。

ただし、このコマンドは62個の保留中のセキュリティ更新をリストします。 /usr/lib/update-notifier/apt-check私は75の保留中のセキュリティアップデートがあると教えてくれますが、それらをリストする方法がないようです。これらの2つの数値を調整するにはどうすればよいですか?2つのコマンドのうちの1つは、私が望むもの以外のことをしていますか?

回答:


7

別のリポジトリを作成して自動化などのスクリプトを作成するのではなく、これを1回すばやく実行したい場合。システムなどの監査中に変更を行う必要がない場合に最適です。

これら2つのコマンドはリストを吐き出します。wc -lにパイプして、どれだけ遅れているかを確認します。;-)

grep security /etc/apt/sources.list > /tmp/security.list
sudo apt-get upgrade -oDir::Etc::Sourcelist=/tmp/security.list -oDir::Etc::SourceParts=/some/valid/dir/false -s

古いディストリビューションや、更新リポジトリがオフになっているがセキュリティがオンになっている場合でも有効です。

sudo apt-get upgrade -s| grep ^Inst |grep Security 

「なぜ古いディストリビューションでも、または更新リポジトリがオフで、セキュリティがオンの場合でも有効ですか?」と書くのはなぜですか?パイプで接続されたソリューションが機能しない場合は、-V-verbose-versions)オプションを追加しますか?
myrdd

@myrdd最初のものは、2016年にスタイルから外れていたディストリビューションでは利用できなかった機能を使用しているためです。もはや問題ではないかもしれません。
フリッカーフライ

後者の解決策は常に機能するはずですよね?
myrdd

1
@myrdd出力の形式が新しいバージョンで変わらない限り。前者は出力の形式に依存しないため、より優れています。
フリッカーフライ

2

これは私のために働いた:

sudo unattended-upgrade --dry-run -d 2> /dev/null | awk '/Checking/ { print $2 }'

2
使用可能なすべての更新を表示しますが、間違えなければセキュリティ更新に限定されません。まだ役に立ちます。
デルフ

2
sudo apt-get -s --no-download dist-upgrade -V | grep "^Inst.*security.*$" | cut -d " " -f 2

この質問からいくつかの助けを借りて


2
+---------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|                            Command                            |                                                                               Purpose                                                                               |
+---------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| apt list --upgradable                                         | List all updates available                                                                                                                                          |
| apt list --upgradable | grep "\-security"                     | List all updates that are security.                                                                                                                                 |
| apt list --upgradable 2>/dev/null | grep "\-security" | wc -l | Count number of security updates available. and redirects the stderr like "WARNING: apt does not have a stable CLI interface. Use with caution in scripts." to null |
+---------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+

0
sudo apt list --upgradable |grep "/$(lsb_release -cs)-security"

これは、セキュリティリポジトリ経由で利用可能なすべての更新を一覧表示します。


1
aptはインタラクティブに使用するためのものです。スクリプトで使用すると警告が表示されます。apt-get代わりに使用してください。
バーナード

0

更新可能なパッケージの数とセキュリティ更新の数を今すぐに要求する方法が必要ですが、1日に1回それを要求することに決めた場合、単にファイル/ var / lib / update-notifier / updates-availableを読むことができます。パッケージupdate-notifier-commonに属するスクリプト/etc/cron.daily/update-notifier-commonによって毎日更新されるようです

例:

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

355 packages can be updated.
1 update is a security update.

テスト済み:

  • Ubuntu 14.04 LTS
  • Ubuntu 16.04 LTS
  • Ubuntu 18.04 LTS

よろしく、

/天使

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