查找OS可用更新数量

时间:2014-02-22 05:07:40

标签: bash

有没有办法找到* nix操作系统可用的更新数量?

我从哪里得到了这个想法? Byobu让普通用户知道可用的更新数量。

使用yum check-updates可以告知普通用户有关更新的信息,但在Debian中,普通用户无法调用apt-get或aptitude。 byobu如何获取信息,是否有一个bash命令?

2 个答案:

答案 0 :(得分:0)

最佳选择是运行apticron或类似的实用程序。 apticron作为cronjob实用程序运行并更新程序包索引(apt-get update)并通过电子邮件向您发送可用程序包更新及其优先级的列表。

此外,普通用户可以将apt-get-s(模拟选项)一起使用。例如:

apt-get -s upgrade

这显示了升级在没有实际执行的情况下会做什么。因此,如果当前包列表中有可用的升级,则会显示它们的内容。

当然,如果您的普通用户拥有完整的sudo权限,那么他可以像root用户一样运行apt-get

答案 1 :(得分:0)

如果您安装了update-notifier-common,则只需:

/usr/lib/update-notifier/apt-check 2>&1 | awk '-F;' 'END { print $1, $2 }'

我怎么知道?我从Byobu来源复制了。 You should check out the full implementation,因为它非常简单,并且包含所有常见包管理器的案例。

作为参考,这里是Byobu用来支持其他包管理器的命令的副本:

易于得到

(不依赖于update-notifier-common

apt-get -s -o Debug::NoLocking=true upgrade | grep -c ^Inst

PackageKit的

pkcon get-updates -p | awk '
/^Results:$/ { start=NR }
/^Security/ { security++ }
END {
    if (!/There are no updates available at this time./) {
        print NR-start, security
    }
}'

zypper的

zypper --no-refresh lu --best-effort | grep -c 'v |'

yum list updates -q | grep -vc "Updated Packages"

吃豆

pacman -Sup | grep -vc "^\(::\| \)"

自制

brew outdated | wc -l