我刚刚遇到一个让我质疑无人值守升级系统如何工作的答案。我的电脑上似乎至少有两个系统:
unattended-upgrades
与/etc/apt/apt.conf.d/50unattended-upgrades
, 调用自/etc/cron.daily/apt
, 和GUI 更新管理器的设置(
software-properties-kde
等)。我不知道第二个系统如何安排或运行,但我观察到更改 GUI 中的设置不会更新/etc/apt/apt.conf.d/50unattended-upgrades
.
这让我相信这实际上是两个相互竞争的系统。如果正确,它们是按自己的时间表运行,还是其中一个使另一个短路?GUI 软件属性中的无人值守更新设置是如何操作的?
定时任务
摘录
/etc/cron.daily/apt
:包装说明
unattended-upgrades
:APT cron 作业运行
unattended-upgrade
,这是下载和安装升级的程序,但前提是 APT 变量APT::Periodic::Unattended-Upgrade
不是0
。软件属性
选项的设置自动检查更新和有安全更新时保存在文件中
/etc/apt/apt.conf.d/10periodic
。自动检查更新映射到 APT 变量
APT::Periodic::Update-Package-Lists
。当有安全更新映射到变量
APT::Periodic::Download-Upgradeable-Packages
和APT::Periodic::Unattended-Upgrade
.选择自动下载和安装(安全更新)将设置
APT::Periodic::Unattended-Upgrade
为 1。这就是告诉 APT cron 作业运行的unattended-upgrade
原因,它执行所有包安装作业。Software Properties 窗口只控制这三个 APT 周期性任务的时间表:检查更新、下载可升级包和运行
unattended-upgrade
. 它实际上并没有运行任何东西,所有的艰苦工作都是由/etc/cron.daily/apt
and完成的unattended-upgrade
。unattended-upgrade
实际执行升级任务的程序。该文件
/etc/apt/apt.conf.d/50unattended-upgrades
包含影响unattended-upgrade
. 它不被任何其他程序读取。如果您想自定义升级的安装方式,您必须手动编辑此文件。仅当我们通过“软件属性”窗口(或手动编辑)启用它时
unattended-upgrade
,APT 定时作业 () 才会调用一个无人值守的升级系统 ( )。/etc/cron.daily/apt
/etc/apt/apt.conf.d/10periodic