GUIツールでは、セキュリティアップデートを含むリストパッケージを取得できます。これはDebianまたはUbuntuのコマンドラインで実行できますか?
通常、私は「apt-get upgrade」を使用して、何がアップグレードされているかを表示しますが、どれがセキュリティ更新であるかを知りたいです。
GUIツールでは、セキュリティアップデートを含むリストパッケージを取得できます。これはDebianまたはUbuntuのコマンドラインで実行できますか?
通常、私は「apt-get upgrade」を使用して、何がアップグレードされているかを表示しますが、どれがセキュリティ更新であるかを知りたいです。
回答:
無人アップグレードアプリケーションを使用します。
sudo unattended-upgrade
これにより、セキュリティ更新プログラムのみを自動的にインストールできますが、必要に応じて手動で呼び出すことができます。
apt-get upgrade -s | grep -i security
... Nagios check-aptプラグインは、探しているものと同様の保留中のセキュリティ更新をカウントするために使用します。
grep -i xenial-security
ことができ、誤検出をほぼゼロに減らすことができます。
grep Debian-Security
、より良い解決策でしょうか?
regular;security
利用可能な更新の数を取得するのに役立ちます。-p
更新のために利用可能なパッケージ名を一覧表示するためのオプションは、(少なくとも16.04上)が定期的およびセキュリティ更新プログラムを区別しません、これはセキュリティのリストを取得するための実行可能な方法ではありませんので...私の知る限りとして利用可能更新します。
Ubuntuでは、apt-checkを使用できるはずです。これは、利用可能なセキュリティアップデートの数をmotdに入力するものです。
--package-names
(-p
)する必要がありますが、通常の更新とセキュリティ更新を区別していないようです。
次のコマンドでリストを取得できます。
sudo unattended-upgrade --dry-run -d 2> /dev/null | grep 'Checking' | awk '{ print $2 }'
/dev/null
ため、何もgrepしません。
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
...
OPが尋ねる質問に答えることは、パッケージのリストを表示する方法であり、セキュリティパッケージのみをインストールする方法ではないと思います。:あなたが使用する必要があります@topdogの答えに構築
フラグがパッケージの略
/usr/lib/update-notifier/apt-check -p
-p
update-notifier-common
You have searched for files named apt-check in suite jessie, all sections, and all architectures. Found 1 results.
、実際にその結果のリンクをクリックすると、次のように表示されますPackage not available in this suite.
これら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
-oDir::Etc::Sourcelist
オプションは、リポジトリの標準セットを無効にしないようです。
@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フラグが指定されている場合は、セキュリティの更新のみに注意を払い、パッケージ名も表示します。
ここで要点を見つけることができます:https : //gist.github.com/thesp0nge/94f9d336a081a3fefba6ca61d787a28b