Ubuntu 20.04每日APT升级后意外重启是否属于正常情况?
首先明确说:这种意外重启绝对不属于正常情况,默认情况下Ubuntu的APT工具在完成包升级后不会自动重启系统——哪怕是升级了内核这类需要重启才能生效的包,也只会在终端提示你需要手动重启,不会私自执行重启操作。
结合你提供的日志,我帮你梳理下关键线索和可能的原因:
从日志里看到的关键时间线
升级操作记录(来自
/var/log/apt/history.log):Start-Date: 2024-01-14 02:24:56 Commandline: apt install libc6 Upgrade: libc6-dev:amd64 (2.31-0ubuntu9.12, 2.31-0ubuntu9.14), libc6:amd64 (2.31-0ubuntu9.12, 2.31-0ubuntu9.14), libc-dev-bin:amd64 (2.31-0ubuntu9.12, 2.31-0ubuntu9.14) End-Date: 2024-01-14 02:24:58 Start-Date: 2024-01-14 02:36:07 Commandline: apt-get upgrade -y Upgrade: perl-base:amd64 (5.30.0-9ubuntu0.4, 5.30.0-9ubuntu0.5), ..., rippled:amd64 (1.12.0-1, 2.0.0-1), ..., openssh-server:amd64 (1:8.2p1-4ubuntu0.9, 1:8.2p1-4ubuntu0.11) End-Date: 2024-01-14 02:37:49 Start-Date: 2024-01-14 04:05:46 Commandline: apt upgrade libc6 Install: linux-image-5.4.0-169-generic:amd64 (5.4.0-169.187, automatic), linux-modules-extra-5.4.0-169-generic:amd64 (5.4.0-169.187, automatic) End-Date: 2024-01-14 04:06:05系统重启点(来自
/var/log/syslog):
日志在03:23:29突然出现内核启动日志,说明系统在此刻重启,且之前的日志(02:37之后到03:23之间)有中断,大概率是异常崩溃而非主动重启:Jan 14 03:23:29 server kernel: [ 0.000000] Linux version 5.4.0-166-generic (buildd@lcy02-amd64-011) (gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2)) #183-Ubuntu SMP Mon Oct 2 11:28:33 UTC 2023 (Ubuntu 5.4.0-166.183-generic 5.4.252)
可能的重启原因分析
无人值守升级的自动重启配置
如果你开启了unattended-upgrades服务,且在/etc/apt/apt.conf.d/50unattended-upgrades中设置了Unattended-Upgrade::Automatic-Reboot "true";,系统可能在升级需要重启的包后自动重启。不过你有手动执行apt-get upgrade -y的记录,这个配置是否触发需要确认。关键系统包升级引发的稳定性问题
你升级了libc6(系统核心C库)、openssh-server、rippled等关键服务。虽然这些升级本身通常安全,但如果依赖libc6的核心服务(比如systemd、sshd)在重启时出现异常,可能引发系统崩溃。从syslog看,02:37左右系统重启了rippled和sshd服务,不排除这其中出现了连锁问题。内核或硬件兼容性问题
虽然新内核是04:05才安装的,但之前升级的linux-libc-dev与内核有依赖关联;或者服务器本身存在硬件兼容性问题,升级后触发了内核panic,导致系统崩溃。你可以查看/var/log/dmesg或/var/log/kern.log开头的信息,是否有panic报错。第三方脚本/工具触发
检查是否有第三方监控、运维脚本(比如云服务商工具、自定义crontab任务)在检测到系统更新后自动执行了重启。
下一步排查建议
- 检查无人值守升级配置:打开
/etc/apt/apt.conf.d/50unattended-upgrades,查看Automatic-Reboot相关项是否开启。 - 查看崩溃日志:检查
/var/log/crash/下的崩溃报告,或/var/log/kern.log中重启前的最后几条日志(未被覆盖的话)。 - 检查APT升级详情:打开
/var/log/apt/term.log,查看02:36那次升级过程中是否有服务重启失败或报错信息。 - 排查定时任务:执行
crontab -l,或查看/etc/cron.hourly/、/etc/cron.d/下的脚本,确认是否有触发重启的逻辑。
总的来说,手动APT升级后自动重启不符合Ubuntu默认行为,肯定是某个配置或升级异常导致的,建议按上述步骤定位具体原因。
备注:内容来源于stack exchange,提问作者user109764

