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

lar*_*els 16 updates package-management apt

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

在我的 12.04 系统上每次运行时都会apt-get update获取有关可用包的20MB 数据,一路上访问了许多存储库。然后我可以使用这里描述的任何方法来实际执行更新。

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

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

ish*_*ish 11

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

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

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

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

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

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

  • 如果您不想解析 apt-get 输出,您可以在最后使用简单的 grep/exit 代码检查将上述内容作为 bash 脚本:)