跳到主要内容Ubuntu 22.04 禁用 unattended-upgrades 完全指南 | 极客日志Shell / Bash
Ubuntu 22.04 禁用 unattended-upgrades 完全指南
本文介绍如何在 Ubuntu 22.04 系统中禁用自动更新工具 unattended-upgrades。内容包括该工具的作用、禁用前的安全提醒、检查当前状态的方法,以及五种禁用方案:临时停止服务、永久禁用开机自启、修改配置文件、图形界面设置和彻底卸载。文章还提供了恢复方法和常见问题解答,帮助用户在保障系统稳定性的同时管理安全更新。
Ubuntu 22.04 中禁用 unattended-upgrades 完全指南
📌 什么是 unattended-upgrades?
unattended-upgrades 是 Ubuntu 系统默认预装的自动更新工具,主要用于自动下载并安装安全更新(如系统漏洞修复、关键组件补丁),无需用户手动干预。其设计目的是提升系统安全性,但在部分场景下(如服务器稳定运行、测试环境控制、带宽受限等),用户可能需要禁用该功能。
⚠️ 禁用前的重要提醒
- 禁用自动更新后,系统将不再自动获取安全补丁,需手动定期执行更新(推荐
sudo apt update && sudo apt upgrade -y),否则可能面临安全风险。
- 以下方法适用于 Ubuntu 22.04(基于 Debian 11 架构),其他版本可能略有差异。
- 操作前建议备份关键配置文件(如 )。
/etc/apt/apt.conf.d/50unattended-upgrades
🔍 先检查 unattended-upgrades 状态
在禁用前,建议先确认当前是否启用了自动更新,避免无效操作。
方法 1:查看服务运行状态
sudo systemctl status unattended-upgrades
- 若输出含
active (running),表示服务正在运行;
- 若含
inactive (dead),表示已停止(可能已被禁用)。
方法 2:检查配置文件状态
grep -r "Unattended-Upgrade" /etc/apt/apt.conf.d/
- 若看到
APT::Periodic::Unattended-Upgrade "1";,表示启用自动更新;
- 若为
"0",表示已禁用。
🛑 禁用 unattended-upgrades 的场景与方法
场景 1:临时停止服务(立即生效,重启后恢复)
适用于临时需要阻止自动更新运行(如正在进行系统测试,避免更新打断流程),重启后服务会自动恢复。
sudo systemctl status unattended-upgrades
sudo systemctl stop unattended-upgrades
💡 说明:此方法仅停止当前运行的服务,不影响开机自启,系统重启后服务会重新启动。
场景 2:永久禁用服务(禁止开机自启)
适用于长期不需要自动更新,希望彻底阻止服务启动(即使重启系统也不会运行)。
sudo systemctl is-enabled unattended-upgrades
sudo systemctl disable unattended-upgrades
sudo systemctl stop unattended-upgrades
💡 说明:disable 仅取消开机自启,若需临时启动服务,可执行 sudo systemctl start unattended-upgrades。
场景 3:通过配置文件禁用自动更新
unattended-upgrades 的核心配置文件为 /etc/apt/apt.conf.d/50unattended-upgrades 和 /etc/apt/apt.conf.d/20auto-upgrades,通过修改配置可从根源上关闭自动更新逻辑。
子场景 3.1:修改自动更新触发周期
20auto-upgrades 控制更新触发频率,将其设为 0 可禁用自动触发。
sudo nano /etc/apt/apt.conf.d/20auto-upgrades
将内容修改为(关键是把 Unattended-Upgrade 设为 0):
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "0";
子场景 3.2:禁用特定类型的自动更新
若只想禁用安全更新以外的自动更新(如普通软件更新),可修改 50unattended-upgrades 限制更新源。
- 若想完全禁用所有自动更新,可直接清空 Allowed-Origins 列表。
注释掉不需要自动更新的源(在行首加 //),例如仅保留安全更新:
// 仅保留安全更新源,注释其他源
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}-security";
// "${distro_id}:${distro_codename}-updates";
// "${distro_id}:${distro_codename}-proposed";
// "${distro_id}:${distro_codename}-backports";
};
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
场景 4:通过图形化工具禁用(适合桌面用户)
Ubuntu 桌面版可通过「软件和更新」图形界面配置自动更新,操作更直观。
- 打开「软件和更新」:
- 方式 1:按下
Win 键,搜索 Software & Updates 并打开;
- 方式 2:终端执行
sudo software-properties-gtk。
- 切换到「更新」标签页(Updates);
- 配置「自动更新」选项:
- 在
Automatically check for updates 下拉菜单中选择 Never(从不检查更新);
- 或在
When there are security updates 中选择 Display immediately(仅通知,不自动安装)。
- 点击「关闭」,系统会提示重新加载配置,选择「重新加载」即可。
场景 5:彻底卸载 unattended-upgrades(不推荐)
若确认永远不需要该工具,可直接卸载(但可能影响依赖它的系统组件,谨慎操作)。
sudo apt autoremove -y && sudo apt autoclean
sudo apt purge unattended-upgrades -y
⚠️ 风险提示:部分系统工具(如 update-manager)可能依赖 unattended-upgrades,卸载可能导致异常,建议优先选择「禁用服务」而非「卸载」。
🔄 如何恢复 unattended-upgrades?
若之后想重新启用自动更新,可根据禁用方式反向操作:
恢复服务自启
sudo systemctl enable unattended-upgrades
sudo systemctl start unattended-upgrades
恢复配置文件
- 恢复 50unattended-upgrades 中的更新源(移除行首
// 注释)。
编辑 20auto-upgrades 恢复默认值:
sudo nano /etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";
图形界面恢复
在「软件和更新」→「更新」中,将 Automatically check for updates 设为 Daily(每天),并在 When there are security updates 中选择 Download and install automatically。
❓ 常见问题解答
Q1:禁用后如何手动更新系统?
sudo apt update
sudo apt upgrade -y
sudo apt dist-upgrade -y
sudo apt autoremove -y
Q2:禁用后系统会提示更新吗?
- 若仅禁用 unattended-upgrades 服务,桌面版仍会通过「软件更新器」提示更新(需手动确认安装);
- 若通过图形界面设置为「Never check for updates」,则不会提示,需手动执行
apt update 检查。
Q3:服务器环境推荐禁用吗?
服务器对稳定性要求高,自动更新可能导致服务重启或配置冲突,建议禁用自动安装,但需定期手动更新(如每周一次),并在更新前备份数据。
Q4:如何确认禁用已生效?
- 检查服务状态:
sudo systemctl status unattended-upgrades(应为 inactive);
- 检查配置:
grep "Unattended-Upgrade" /etc/apt/apt.conf.d/20auto-upgrades(应为 "0");
- 观察日志(禁用后不应有新的更新记录):
sudo tail -f /var/log/unattended-upgrades/unattended-upgrades.log。
📝 总结
unattended-upgrades 是 Ubuntu 保障安全的重要工具,禁用需谨慎。根据需求选择合适的方式:临时禁用用 systemctl stop,长期禁用用 systemctl disable 配合配置文件修改,桌面用户可通过图形界面操作。禁用后务必定期手动更新系统,避免安全漏洞。
微信扫一扫,关注极客日志
微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
相关免费在线工具
- Base64 字符串编码/解码
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
- Base64 文件转换器
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
- Markdown 转 HTML
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online
- HTML 转 Markdown
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML 转 Markdown在线工具,online
- JSON 压缩
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
- JSON美化和格式化
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online