在服务器、桌面和嵌入式设备等场景中,Ubuntu 堪称最主流的 Linux 发行版之一——软件资源丰富、工具库全面,用户按需安装非常便捷。但与此同时,更新与软件包数量庞大,若想系统始终保持最新且足够安全,手动维护的成本并不低。此时,无人值守升级的价值便得以凸显。
本文将从零开始,详细讲解 Ubuntu 无人值守升级的作用、优势,以及如何通过终端命令行完成配置。无论你是刚接触 Ubuntu 的新手,还是希望优化日常维护的资深用户,都能从中找到实用技巧。

什么是 Ubuntu 无人值守升级
- 简单来说,无人值守升级是 Ubuntu 系统中用于自动安装安全更新及其他更新的工具。它会在后台静默运行,定期检查可用更新,然后自动下载并安装——全程无需用户介入。
- 该工具的核心价值在于:确保系统始终与最新补丁保持同步,从而提升安全性与稳定性。对于生产环境或需要长期稳定运行的设备而言,这几乎是不可或缺的自动化工具。
Ubuntu 无人值守升级的特点与功能
- 自动化更新:自动完成下载与安装,省去手动操作的繁琐。
- 提高安全性:及时获取安全补丁,降低恶意软件与漏洞利用的风险。
- 增强稳定性:系统保持最新,依赖关系与内核问题自然大幅减少。
- 自定义设置:你可按需控制——哪些更新自动安装、哪些忽略,甚至何时安装,均可自行设定。
- 邮件通知:升级完成后可发送邮件,让你对系统状态了然于心,而非盲目信任。
步骤 1:更新 Ubuntu
在安装与配置无人值守升级之前,建议先将系统已有的软件包更新到最新,以避免依赖冲突。打开终端,执行以下命令:
sudo apt update && sudo apt upgrade
该命令会将所有已安装软件包及其依赖更新至最新版本。根据网络状况与系统性能,这一步可能需要等待片刻。
步骤2:安装 Ubuntu 无人值守升级包
1. 安装无人值守升级包的方法非常简单:
sudo apt install unattended-upgrades

安装 Ubuntu 无人值守升级包
默认情况下,Ubuntu 已预装该包。若你之前卸载过,使用上述命令重新安装即可。
2. 部分更新安装后需要重启系统。若你希望无人值守升级后自动重启,还需安装一个辅助包:
sudo apt install apt-config-auto-update
3.(可选)如果你是笔记本电脑用户,建议额外安装 powermgmt-base 包,以便在电池模式下对升级行为进行更精细的控制:
sudo apt install powermgmt-base
安装完成后,还需根据实际需求进行配置——例如自定义哪些更新自动安装、哪些忽略,以及何时执行。
注意:无人值守升级需要管理员权限才能运行,因此本文所有命令均需加上
sudo。
4. 建议验证包是否正常工作。使用以下命令模拟运行:
sudo unattended-upgrades --dry-run --debug
熟悉相关的 systemctl 命令也很重要——配置变更或系统重启后,你可能需要检查服务状态。查看状态:
systemctl status unattended-upgrades

查看 unattended-upgrades 服务状态
常用的 systemctl 操作命令如下:
- 启动服务:
sudo systemctl start unattended-upgrades
- 停止服务:
sudo systemctl stop unattended-upgrades
- 开机自启:
sudo systemctl enable unattended-upgrades
- 禁止开机自启:
sudo systemctl disable unattended-upgrades
- 重启服务:
sudo systemctl restart unattended-upgrades
步骤 3:配置 Ubuntu 无人值守升级
接下来,我们看看如何通过终端命令对无人值守升级进行配置。这些设置均为可选项,你可根据实际场景灵活调整。
在动手编辑配置文件之前,先了解无人值守升级包的所有 CLI 选项。以下是整理好的速查表:
| 选项 | 描述 |
|---|---|
| -h, –help | 显示帮助信息。 |
| -d, –debug | 启用调试消息。 |
| –apt-debug | 使用 apt/libapt 打印详细的调试消息。 |
| -v, –verbose | 输出详细信息。 |
| –dry-run | 模拟升级过程,下载但不安装。 |
| –download-only | 只下载升级包但不安装。 |
| –minimal-upgrade-steps | 以最少的步骤升级包。 |
| –no-minimal-upgrade-steps | 一起升级所有软件包,而不分成较小的集合。 |
这些选项可在执行 unattended-upgrade 命令时直接使用,以控制升级行为。举例来说:
--dry-run用于在不影响系统的情况下测试升级过程。--download-only只下载包,不安装。- 默认启用
--minimal-upgrade-steps,将包分批次处理。 - 若你希望一次性全部升级,可使用
--no-minimal-upgrade-steps。
了解这些选项,有助于让最终配置更贴合你的需求。
编辑配置文件
配置文件需要使用 root 权限的文本编辑器(如 nano 或 vi)。用 vi 打开:
sudo vi /etc/apt/apt.conf.d/50unattended-upgrades
文件里列出了各种配置项。要激活某个选项,去掉它前面的注释符号(// 或 #)即可。

编辑 unattended-upgrades 配置文件
Allowed Origins 允许的来源
该选项指定从哪些仓库获取更新。默认只允许 security(安全)和 updates(更新)仓库。你可以取消注释并添加其他仓库:
Unattended-Upgrade::Allowed-Origins { "${distro_id}:${distro_codename}"; "${distro_id}:${distro_codename}-security"; "${distro_id}:${distro_codename}-updates"; "${distro_id}:${distro_codename}-proposed"; "${distro_id}:${distro_codename}-backports";};Package Blacklist 软件包黑名单
若你想排除某些包不自动更新,可在此列出:
Unattended-Upgrade::Package-Blacklist { "package-name-xx"; "package-name-xxx";};AutoFixInterruptedDpkg
自动修复中断的 dpkg 安装。启用:
Unattended-Upgrade::AutoFixInterruptedDpkg "true";
DevRelease "auto"
是否自动升级到开发版本。默认禁用,启用则设为 auto:
Unattended-Upgrade::DevRelease "auto";
MinimalSteps "true"
是否使用最小步骤升级。默认启用,关闭设为 false:
Unattended-Upgrade::MinimalSteps "false";
InstallOnShutdown "false"
是否在关机时安装更新。默认禁用,启用设为 true:
Unattended-Upgrade::InstallOnShutdown "true";
指定邮件通知地址。默认不发送,添加收件地址:
Unattended-Upgrade::Mail "example@mail.com";
MailReport "on-change"
何时发送通知。默认仅在变更时发送,若希望每次升级都通知,可改为 on-start:
Unattended-Upgrade::MailReport "on-start";
Remove-Unused-Kernel-Packages
升级后是否删除未使用的内核包。默认启用,若不想删除则设为 false:
Unattended-Upgrade::Remove-Unused-Kernel-Packages "false";
Remove-New-Unused-Dependencies
升级后是否删除不再需要的新依赖。默认启用,禁用可保留这些依赖,但需注意可能占用磁盘空间:
Unattended-Upgrade::Remove-New-Unused-Dependencies "true";
Remove-Unused-Dependencies
升级后是否删除未使用的依赖。默认禁用,启用设为 true:
Unattended-Upgrade::Remove-Unused-Dependencies "true";
Automatic-Reboot
升级后是否自动重启。默认禁用,启用设为 true:
Unattended-Upgrade::Automatic-Reboot "true";
Automatic-Reboot-WithUsers
有用户登录时是否重启。默认启用,禁用设为 false:
Unattended-Upgrade::Automatic-Reboot-WithUsers "false";
Automatic-Reboot-Time
自动重启的时间,默认凌晨 2:00。可修改为其他时段,比如凌晨 3:00:
Unattended-Upgrade::Automatic-Reboot-Time "03:00";
Acquire::https::Dl-Limit
限制下载速度,单位 KB/s。默认不限速,若需限速则设置一个值:
Acquire::https::Dl-Limit "100";
SyslogEnable
是否将升级事件记录到系统日志。默认启用,关闭设为 false:
Unattended-Upgrade::SyslogEnable "false";
SyslogFacility
指定日志记录到哪个设施。默认是 daemon,若想更改则修改:
Unattended-Upgrade::SyslogFacility "local7";
OnlyOnACPower
是否仅在连接交流电源时执行升级。默认禁用,启用设为 true(建议笔记本用户开启):
Unattended-Upgrade::OnlyOnACPower "true";
Skip-Updates-On-Metered-Connections
在计量连接(如手机热点)下是否跳过更新。默认启用跳过,若希望继续下载则设为 false:
Unattended-Upgrade::Skip-Updates-On-Metered-Connections "false";
Verbose
是否输出详细升级信息。默认禁用,启用设为 true:
Unattended-Upgrade::Verbose "true";
Debug
是否输出调试信息。默认禁用,启用设为 true:
Unattended-Upgrade::Debug "true";
Allow-downgrade
是否允许降级软件包。默认禁用,允许降级设为 true。需要提醒的是:降级可能引入不稳定或安全风险,建议非必要不开启:
Unattended-Upgrade::Allow-downgrade "true";
允许降级可能会导致系统不稳定或出现安全漏洞。建议仅在必要时启用,并仔细评估风险。
测试与应用更改
每次修改配置文件后,务必使用以下命令模拟运行,检查配置是否有误:
sudo unattended-upgrades --dry-run --debug
若输出没有错误或警告,即可执行真正的升级:
sudo unattended-upgrades
该命令会按照你的配置自动检查并安装可用升级包。
步骤 4:使用 Cron Job 定期执行 Ubuntu 无人值守升级
若你想在固定时间自动执行无人值守升级,可使用 Cron Job 进行调度。Cron 是 Linux 内置的定时任务工具,功能可靠且轻量。
创建 Cron Job 的步骤:
1. 打开 crontab 配置文件:
sudo crontab -e
2. 在文件末尾添加这一行:
0 0 * * * /usr/bin/unattended-upgrade -d

使用 Cron Job 定期执行 Ubuntu 无人值守升级
这行命令表示每天午夜(0点0分)运行一次无人值守升级。
步骤 5:查看 Ubuntu 无人值守升级日志
无人值守升级默认将所有活动记录到系统日志中。日志位于 /var/log/syslog 以及其他系统日志文件里。
查看无人值守升级相关的日志:
sudo grep unattended-upgrades /var/log/syslog
该命令会筛选出所有包含 unattended-upgrades 的行并显示在终端。若你只关心最近的内容,可配合 tail:
sudo tail -n 50 /var/log/syslog | grep unattended-upgrades
按日期过滤日志:
sudo grep "unattended-upgrades.*YYYY-MM-DD" /var/log/syslog
将 YYYY-MM-DD 替换成你想要的日期即可。
按软件包名称过滤:
sudo grep "unattended-upgrades.*" /var/log/syslog
替换 为你想查的包名。
有了这些命令,检查和排查升级问题就方便多了。
在 Ubuntu 系统中配置好无人值守升级,能够大幅提升系统的安全性与稳定性——安全补丁自动安装,省去手动检查的繁琐,系统始终处于受保护状态。希望本文能帮你把这个实用工具配置妥当,让日常维护变得更加轻松。
