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

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

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

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

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

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

是的,这是值得注意的,正常的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 upgrade'
    
  • 这告诉apt-get暂时使用特殊的仅安全源列表,然后运行upgrade ,自动回答否。

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

  • 如果你不想解析apt-get输出,你可以在上面用一个简单的grep / exit代码检查上面的bash脚本:)

这可能不是问题所针对的问题,但如果您已经运行了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]