1. 临时禁用自动更新(推荐)
# 停止并禁用apt-daily服务
sudo systemctl stop apt-daily.timer
sudo systemctl disable apt-daily.timer
sudo systemctl stop apt-daily-upgrade.timer
sudo systemctl disable apt-daily-upgrade.timer
# 禁用无人值守升级服务
sudo systemctl stop unattended-upgrades.service
sudo systemctl disable unattended-upgrades.service
2. 修改无人值守升级配置
# 编辑配置文件
sudo nano /etc/apt/apt.conf.d/20auto-upgrades
# 修改为以下内容(将所有值设为0)
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";
APT::Periodic::Unattended-Upgrade "0";
3. 完全禁用自动更新
# 移除unattended-upgrades包
sudo apt remove unattended-upgrades
# 或仅保留包但禁用配置
sudo dpkg-reconfigure unattended-upgrades # 选择"No"禁用
4. 使用图形界面(Ubuntu Desktop)
# 打开软件和更新设置
sudo software-properties-gtk
# 或在设置中:
# 1. 打开"软件和更新"
# 2. 切换到"更新"选项卡
# 3. 设置"自动检查更新"为"从不"
# 4. 取消勾选"有安全更新时立即通知"和"有任何更新时立即通知"
5. 创建定时任务替代方案
如果仍想定期更新但需要控制时间:
# 编辑crontab
sudo crontab -e
# 添加(例如每周日凌晨3点更新)
0 3 * * 0 apt update && apt upgrade -y
6. 验证禁用状态
# 检查服务状态
systemctl list-timers | grep apt
# 检查配置
cat /etc/apt/apt.conf.d/20auto-upgrades
注意事项
- 安全考虑:禁用自动更新可能降低系统安全性,建议至少启用安全更新
- 选择性禁用:可只禁用
unattended-upgrades但保留手动更新
- 服务器环境:生产服务器建议配置维护窗口进行更新
推荐的折中方案
# 只启用安全更新
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
# 取消注释并修改:
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}-security";
# 注释掉其他更新源
};
这样可以确保安全更新自动安装,避免功能更新导致的意外问题。