目前我用它来计算可用更新的数量
NUMOFUPDATES=$(aptitude search "~U" | wc -l)
有没有办法使用 apt(不是 aptitude)执行相同操作但不使用 update-notifier?
答案1
您可以apt-check
使用update-notifier-common
:
$ /usr/lib/update-notifier/apt-check --human-readable
0 packages can be updated.
0 updates are security updates.
这与更新消息的工具相同motd
。
答案2
我认为最快的方法如 apticron 所示:
https://salsa.debian.org/debian/apticron/blob/master/apticron#L121-154
这可以概括为:
apt-get -q -y --ignore-hold --allow-change-held-packages --allow-unauthenticated -s dist-upgrade | /bin/grep ^Inst | wc -l
答案3
您可以使用apt-get -s
模拟升级过程并仅提取升级的软件包数量
LANG=C apt-get upgrade -s |grep -P '^\d+ upgraded'|cut -d" " -f1
这将导致仅软件包数量
答案4
我只需运行命令:
sudo apt-get update && sudo apt-get upgrade
执行更新过程后,它会给出upgrade
命令的输出:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be upgraded:
wine1.5 wine1.5-i386
2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 24.1 MB of archives.
After this operation, 286 kB of additional disk space will be used.
Do you want to continue [Y/n]?
第 6 行提到有 2 个升级可用,第 5 行列出了可升级的软件包。如果我当时不想安装升级,我会按n并继续。
直接而简单。
注意:如果还有可用的内核更新,它会将其显示为<x> not upgraded
。