GUIツールでは、セキュリティ更新を含むリストパッケージを取得できます。これはDebianまたはUbuntuのコマンドラインで実行できますか?
通常、「apt-get upgrade」を使用すると、アップグレードされる内容が表示されますが、セキュリティアップデートであるものを知りたいです。
無人アップグレードアプリケーションを使用します。
Sudo unattended-upgrade
これにより、セキュリティ更新のみを自動的にインストールできますが、必要に応じて手動で呼び出すこともできます。
apt-get upgrade -s | grep -i security
...は、Nagios check-aptプラグインが保留中のセキュリティ更新をカウントするために使用するもので、探しているものと似ています。
Ubuntuではapt-checkを使用できるはずです。これは、利用可能なセキュリティアップデートの数をmotdに入力するものです。
次のコマンドでリストを取得できます:
Sudo unattended-upgrade --dry-run -d 2> /dev/null | grep 'Checking' | awk '{ print $2 }'
追加のスイッチを取るupdate-notifier
の変更バージョンがあります。セキュリティ関連のパッケージ名のみを出力する--security-package-names
です。私はそれを要旨として持っています(ランチパッドの関連プロジェクトでマージ要求を作成するまで)。それまでは、次のように実行できます。
実行
curl -s https://Gist.githubusercontent.com/ahmadnazir/c2444d6b09fd7bb4963a13bc577d92a3/raw/0231b94a4e46abe0a5959de5f84feda76ad2eb9d/apt-check.py \
| python /dev/stdin --security-package-names \
| column -t -s , \
| sort
出力
これにより、フォーマットパッケージ名、インストール済みバージョン、および候補バージョンの出力が得られます。
...
Thunderbird 1:38.6.0+build1-0ubuntu0.14.04.1 1:38.8.0+build1-0ubuntu0.14.04.1
Thunderbird-gnome-support 1:38.6.0+build1-0ubuntu0.14.04.1 1:38.8.0+build1-0ubuntu0.14.04.1
Thunderbird-locale-en 1:38.6.0+build1-0ubuntu0.14.04.1 1:38.8.0+build1-0ubuntu0.14.04.1
Thunderbird-locale-en-us 1:38.6.0+build1-0ubuntu0.14.04.1 1:38.8.0+build1-0ubuntu0.14.04.1
...
上記のFabrizio Reginiの回答に基づく。
12.04 /正確:
Sudo unattended-upgrade --dry-run -d 2>&1 /dev/null | grep 'Checking' | grep security | awk '{ print $2 }'
14.04/Trustyの場合:
Sudo unattended-upgrade --dry-run -d | grep 'Checking' | grep security | awk '{ print $2 }'
そして、他の応答を読んだ後、変種が一緒に破壊されました-これは誤検知の問題に対応し、かなり軽量であると私は信じています。
Sudo unattended-upgrade --dry-run -d 2>/dev/null | awk '/Checking/ && /archive:..*-security. / {print $2}'
@sminの答えは基本的には良いアプローチだと思いますが、@ Shnatselが指摘しているように、正規表現は少し緩いです。
これはどう:
apt-get upgrade -q --dry-run \
| Perl -ne 'm/^Inst (\S+) \S+ \(([^\)]+) Debian-Security:8/ && print "$1-$2\n"'
これにより、パッケージ名とインストールするバージョンが一覧表示されます。どうぞ -$2
バージョンが必要ない場合は、printステートメントから削除します。
[これは、Perlの代わりにawkを使用することで、おそらく少しだけ軽量にすることができます]
Ubuntuシステムでのapt-checkスクリプトの変更を解決しました。 -pフラグが指定されている場合は、パッケージ名も表示して、セキュリティ更新のみを処理します。
Gistはここにあります: https://Gist.github.com/thesp0nge/94f9d336a081a3fefba6ca61d787a28b
OPが尋ねる質問に答えることは、パッケージのListを表示する方法であり、セキュリティパッケージのみをインストールする方法ではないと考えています。 @topdogの答えに基づいて構築する次を使用する必要があります:/usr/lib/update-notifier/apt-check -p
どこ -p
フラグはパッケージを表します
これらの2つのコマンドはリストを吐き出します。 wc -lにパイプして、遅れている数を確認します。 ;-)
grep security /etc/apt/sources.list > /tmp/security.list
Sudo apt-get upgrade -oDir::Etc::Sourcelist=/tmp/security.list -s
古いディストリビューションや、更新リポジトリがオフになっているが、セキュリティがオンの場合は引き続き有効です。
Sudo apt-get upgrade -s| grep ^Inst |grep Security