机器可读的更新数量?/usr/lib/update-notifier/apt-check 的替代品?

adr*_*nos 5 apt shell-script upgrade

/usr/lib/update-notifier/apt-check(来自 update-notifier-common 包)是一个很好的工具。但它将从 Debian 中删除。

/usr/lib/update-notifier/apt-check --human-readable
28 packages can be updated.
0 updates are security updates.

/usr/lib/update-notifier/apt-check
28;0  ~/whonix_dot/Whonix $
Run Code Online (Sandbox Code Playgroud)

该工具是否有任何机器可读(对于 shell 脚本)的替代品?

slm*_*slm 3

可以轻松解析该命令apt-get以获取更新数量。

$ apt-get -s dist-upgrade | grep "^[[:digit:]]\+ upgraded"
Run Code Online (Sandbox Code Playgroud)

例子

$ apt-get -s dist-upgrade | grep "^[[:digit:]]\+ upgraded"
82 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Run Code Online (Sandbox Code Playgroud)

这可以进一步减少到这样的数量:

$ apt-get -s dist-upgrade | grep -o "^[[:digit:]]\+"
82
Run Code Online (Sandbox Code Playgroud)

或者更简洁地说:

$ apt-get -s dist-upgrade | grep -Po "^[[:digit:]]+ (?=upgraded)"
82 
Run Code Online (Sandbox Code Playgroud)

可以简化为:

$ apt-get -s dist-upgrade | grep -Po "^\d+ (?=upgraded)"
82 
Run Code Online (Sandbox Code Playgroud)

  • 唯一的问题可能是 apt-get 无法识别“安全更新”。 (3认同)