Linux-aptのみを使用してセキュリティ更新プログラムを表示またはアップグレードする


11

aptのみを使用してセキュリティアップグレードを一覧表示またはインストールする方法はありますか?

アップグレードをリストする場合:

apt list --upgradable

また、パッケージとライブラリを知らなくても、どのアップグレードが関連するセキュリティアップグレードであるかを確認できます

さらに、他のものをスキップしてそれらを適用するだけのオプションがあります。そのため、セキュリティに関係のないアップグレードは、次回実行したときにもう一度プロンプトが表示されますapt upgradeか?


1
したがって、2つの質問があります。1。セキュリティ更新を印刷します。2。選択したパッケージのみを更新します。sources.listに6つのリンクがあり、そのうち2つがセキュリティ関連のレポリンクであることを知っています。次のコマンドで各リンクから:sudo apt upgrade --no-upgrade --assume-no --print-uris
Brian SP2

1
しかし、2番目の質問については、明らかに次のコマンドによりアップグレードする単一のパッケージを選択することができ須藤はaptアップグレード--upgrade-のみ<パッケージ名>が、これは申し訳ありませんが、私のために仕事をしません
ブライアンSP2

回答:


7

aptあなたが求めている情報を(まだ)提供することはできません。aptitudeただし、多少混乱するかもしれませんが、

aptitude search '~U ~ODebian' -F "%p %O"|awk '/Debian-Security/ {print $1}'

これにより~U、公式のDebianリポジトリ(~ODebian)からアップグレード可能な()パッケージがすべて検索され、パッケージ名(%p)と「オリジン」(%O)が表示されます。後者は、実際にはリポジトリラベルを表示します。これは、Debian 9セキュリティリポジトリの「Debian-Security:9 / stable」です。セキュリティリポジトリからのアップグレード可能なパッケージ名のリストが作成されます。

セキュリティアップグレードのみをインストールする方法はさまざまですが、どれも理想的ではありません。

  • aptitudeのテキストインターフェースでは、「セキュリティ更新」ヘッダー(最初のヘッダー)にスクロールしてを押すだけで、セキュリティアップグレードのみを適用できます+

  • 上記で抽出したパッケージのリストをフィードしてapt、アップグレードをインストールできます。

    aptitude search '~U ~ODebian' -F "%p %O" |
    awk '/Debian-Security/ {print $1}' |
    xargs apt-get install --only-upgrade
    

    これには、アップグレードされたパッケージの「自動インストール」マーカーをクリアするという不幸な副作用があります。

  • を使用できますunattended-upgrades。そのデフォルトのアクションは、セキュリティアップグレードのみを適用することです。

    unattended-upgrades -v
    

    アップグレードを自動的にインストールしたくない場合は、unattended-upgradesの毎日のcronジョブを無効にする必要があります。


AptitudeのTUIは、セキュリティ更新を個別に提示するようには見えません。他の誰かがそれを見た?
グレッグベル、

@Gregは(Debian 10で)私のためにまだ機能しますが、それに影響を与えるUbuntuでの変更は見当たりません。おそらく、セキュリティ更新プログラムはaptitudeたとえばunattended-upgrades ... で表示される前に自動的に適用されます。
Stephen Kitt

いいえ、無人アップグレードはthunderbird、sshd、firefoxに限定されています。奇妙なのは、適性検索「〜U」でたくさんのことが見つかるということです。aptitude 0.7.4でも動作していることがわかります。aptitude 0.8.10はUbuntu 18.04に同梱されています。どのバージョンがありますか?
グレッグベル

@Greg私は0.8.11を持っていますが、セキュリティ更新が独自のセクションに表示されています。表示は構成可能ですが、ここで問題になる可能性があります。Gキーを押すと、どのパッケージグループ化メカニズムが表示されますか?デフォルトはtask,status,section(subdirs,passthrough),section(topdir)です。
スティーブンキット

ここで同じグループ化メカニズム。そして、私が設定した間抜けなものではないことを確認するために〜/ .aptitudeをmvしました。
グレッグベル

5

セキュリティ更新プログラムを表示するには、次を使用できます。

apt-get --just-print upgrade | grep -i security | awk '{print $2}' | awk '!seen[$0]++'

1つのパッケージのセキュリティ更新プログラムのみを適用するには:

apt-get install --only-upgrade pckg_name

リストからセキュリティ更新プログラムのみを適用するには:

list=$(apt-get --just-print upgrade | grep -i security | awk '{print $2}' | awk '!seen[$0]++')
apt-get install --only-upgrade $list
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.