如何从命令行仅检查安全更新?

如何从命令行仅检查安全更新?

有没有办法快速检查是否有可用的安全更新从命令行?

在我的 12.04 系统上运行apt-get update获取20MB 数据每次运行它时,我都会查看可用的软件包,一路上会遇到许多存储库。然后我可以使用上述任何方法这里真正执行更新。

我的问题是关于检测安全更新的可用性(即不使用 apt-get/aptitude/etc 执行实际升级):是否有可以从命令行执行的快速检查,该检查对“是否有可用的安全更新?”问题提供是或否的答案。我想在运行冗长的apt-get update实际升级之前运行该检查。

我想我不需要每天下载 20MB 的数据来知道答案。

答案1

我的问题只是关于检测安全更新的可用性

是的,这是可行的,但需要注意的是,下次运行时正常情况apt-get update下会进行完全刷新(20 MB 意味着它无论如何都会这样做)。

  • sudo sh -c 'grep precise-security /etc/apt/sources.list > /etc/apt/secsrc.list

  • 然后,如果你运行以下命令,你将看到是否有可用的安全更新(示例输出):

    sudo sh -c'apt-get -o Dir::Etc::sourcelist="secsrc.list" \
    -o Dir::Etc::sourceparts="-" 更新 && \
    apt-get --assume-no升级'
    
  • 这告诉apt-get暂时使用特殊的仅限安全源列表,然后运行upgrade,自动回答否。

  • 如果有,请运行正确的程序apt-get update(将进行完全刷新),然后升级。

  • 如果你不想解析 apt-get 输出,你可以将上述内容制作成一个 bash 脚本,并在最后进行简单的 grep/退出代码检查:)

答案2

这可能不是问题所问的确切内容,但如果你已经运行apt update,则可以使用以下命令查看有哪些安全更新可用:

sudo apt list --upgradable | grep -e "-security"

它会给你类似这样的结果:

libssl1.0.0/xenial-updates,xenial-security 1.0.2g-1ubuntu4.9 i386 [upgradable from: 1.0.2g-1ubuntu4.8]
openssl/xenial-updates,xenial-security 1.0.2g-1ubuntu4.9 i386 [upgradable from: 1.0.2g-1ubuntu4.8]

相关内容