當前位置: 首頁>>技術教程>>正文


如何在Debian/Ubuntu的命令行中獲取安全更新列表

, , ,

問題描述

在GUI工具中,您可以獲得帶有安全更新的列表包。可以在Debian或Ubuntu中的命令行上完成嗎?

通常,我可能會使用“ apt-get upgrade”來顯示正在升級的內容,但是我想知道哪些是安全更新。

最佳方法

使用unattended-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 }'

參考資料

本文由Ubuntu問答整理, 博文地址: https://ubuntuqa.com/zh-tw/article/10690.html,未經允許,請勿轉載。