哪种无人值守升级系统优先以及如何优先?

哪种无人值守升级系统优先以及如何优先?

我刚刚遇到了一个让我产生疑问的答案如何无人值守升级系统有效。我的电脑上似乎至少有两个系统:

  1. unattended-upgrades/etc/apt/apt.conf.d/50unattended-upgrades、调用自/etc/cron.daily/apt

  2. GUI 更新管理器的设置(software-properties-kde等)。我不知道第二个系统如何安排或运行,但我观察到更改 GUI 中的设置确实不是更新 中的设置/etc/apt/apt.conf.d/50unattended-upgrades

这让我相信这实际上是两个相互竞争的系统。如果正确的话,它们是否都按照自己的时间表运行,还是其中一个会阻碍另一个?GUI 软件属性中的无人值守更新设置是如何操作的?

答案1

  1. CRON

    摘录自/etc/cron.daily/apt

    # This file understands the following apt configuration variables:
    # Values here are the default.
    
    ...
    
    #  APT::Periodic::Unattended-Upgrade "0";
    #  - Run the "unattended-upgrade" security upgrade script 
    #    every n-days (0=disabled)
    #    Requires the package "unattended-upgrades" and will write
    #    a log in /var/log/unattended-upgrades
    
    ...
    
    UnattendedUpgradeInterval=0
    eval $(apt-config shell UnattendedUpgradeInterval APT::Periodic::Unattended-Upgrade)
    
    ...
    
    # auto upgrade all upgradeable packages
    UPGRADE_STAMP=/var/lib/apt/periodic/upgrade-stamp
    if which unattended-upgrade >/dev/null && check_stamp $UPGRADE_STAMP $UnattendedUpgradeInterval; then
        if unattended-upgrade $XUUPOPT; then
            update_stamp $UPGRADE_STAMP
            debug_echo "unattended-upgrade (success)"
        else
            debug_echo "unattended-upgrade (error)"
        fi
    else
        debug_echo "unattended-upgrade (not run)"
    fi
    

    包装描述unattended-upgrades

    该软件包可以自动且无人值守地下载并安装安全升级,注意仅从配置的 APT 源安装软件包,并检查有关配置文件更改的 dpkg 提示。

    该脚本是 APT::Periodic::Unattended-Upgrade 选项的后端。

    APT cron 作业运行unattended-upgrade,这是下载并安装升级的程序,但前提是 APT 变量APT::Periodic::Unattended-Upgrade不是0

  2. 软件特性

    选项设置自动检查更新有安全更新时保存在文件中/etc/apt/apt.conf.d/10periodic

    自动检查更新映射到 APT 变量APT::Periodic::Update-Package-Lists

    有安全更新时映射到变量APT::Periodic::Download-Upgradeable-PackagesAPT::Periodic::Unattended-Upgrade

    选择自动下载并安装(安全更新)将设置APT::Periodic::Unattended-Upgrade为 1。这将告诉 APT cron 作业运行unattended-upgrade,该作业执行所有软件包安装作业。

    软件属性窗口仅控制这三个 APT 定期任务的时间表:检查更新、下载可升级包和运行。它实际上并不运行任何东西,所有艰苦的工作都由和unattended-upgrade完成。/etc/cron.daily/aptunattended-upgrade

  3. unattended-upgrade

    实际执行升级任务的程序。该文件/etc/apt/apt.conf.d/50unattended-upgrades保存影响 行为的设置unattended-upgrade。它不会被任何其他程序读取。如果您想自定义升级的安装方式,您必须手动编辑此文件。

仅当我们通过软件属性窗口启用它(或手动编辑)时,才会有一个无人值守升级系统 ( unattended-upgrade) 由 APT cron 作业 () 调用。/etc/cron.daily/apt/etc/apt/apt.conf.d/10periodic

相关内容