实验了一下,比直接Shell脚本配合crontab定时任务来的痛快。shell脚本内容如下(假设文件名为update.sh,放在/home目录下),需要chmod +x update.sh添加执行权:

#!/usr/bin/env bash    
apt update -y    
apt upgrade -y    
apt autoremove -y

在crontab中的内容如下,必须是决定路径:

0 3 * * * /bin/bash /home/update.sh

对于Debian及其衍生系统,日常使用apt update/upgrade手动更新,实际上还有个unattended-upgrades用于系统的自动更新。配合上稳定的业务脚本,可以实现一次配置终生不管。

apt install unattended-upgrades # 执行自动更新    
apt install apt-config-auto-update # 如有必要,实现系统自动重启

系统会安装一系列的依赖,例如Python、xz-utils和distro-info-data等。待安装完成后,在/etc/apt/apt.conf.d/目录下有以下几个重要的配置文件:

00trustcdrom    
10periodic    
50unattended-upgrades

如果没有发现10periodic这个文件,可以打开50unattended-upgrades并保存(无需做任何修改),系统会自动生成10periodic的。这个文件实际上是控制更新频率的,默认每天更新一次。

APT::Periodic::Update-Package-Lists "1"; # 每1天检查一次更新    
APT::Periodic::Download-Upgradeable-Packages "1"; # 每1天下载需要更新的安装包    
APT::Periodic::AutocleanInterval "0"; # 从不执行自动清理

理论上不需要修改任何配置文件,就可以实现系统的自动更新。当然,如果有需要,可以修改50unattended-upgrades中的详细配置文件。唯一值得一提的就是00trustcdrom是默认启动光盘源的,对于绝大多数的电脑来说没有这个更新方式,可以把里面的true改成false,如下:

APT::AuthenticatiON::TrustCDROM "false";
评论专区
  • 昵 称必填
  • 邮 箱必填
  • 网 址选填
◎已有 0 人评论
作者介绍
吕布

吕布

负责所有栏目的编辑工作。
80vps henghost
budgetvm sugarhosts

分享:

支付宝

微信