Ubuntu 18.XX系统异常崩溃原因排查及彻底禁用自动更新的方法求助
Ubuntu 18.XX系统异常崩溃原因排查及彻底禁用自动更新的方法求助
先聊聊你遇到的崩溃问题可能的原因,再给你整理重装后彻底锁死系统更新的实操步骤,完全满足你“像琥珀里的虫子一样稳定”的需求:
一、可能的崩溃原因分析
- 关于snapd在18.04的异常:虽然18.04初期snap不是默认主力,但后期的系统更新可能悄悄启用了snapd服务,或者某些软件依赖snap组件被自动安装了。你看到snapd占3/4核心,大概率是它在后台自动更新snap包时触发了资源泄漏或死循环,后续系统内存耗尽后,kworker(内核工作线程)也跟着异常,最终导致OOM(内存不足)崩溃。
- 自动更新没彻底关掉:你说之前禁用了自动更新但没生效,很大可能是漏了
unattended-upgrades这类后台服务,或者apt的自动更新配置没改全,导致系统偷偷更新了组件,间接触发了snapd的问题。
二、重装后彻底禁用所有自动更新的步骤
1. 彻底关停自动更新服务
先把unattended-upgrades这个最容易偷偷更新的服务彻底干掉:
sudo systemctl stop unattended-upgrades sudo systemctl disable unattended-upgrades sudo systemctl mask unattended-upgrades
(mask命令会把服务链接到/dev/null,彻底防止被其他进程唤醒)
2. 禁用apt的自动更新触发机制
删除或修改apt的自动更新配置文件:
- 直接删除配置文件(简单粗暴):
sudo rm /etc/apt/apt.conf.d/20auto-upgrades sudo rm /etc/apt/apt.conf.d/10periodic
- 或者编辑这些文件,把所有自动更新相关的选项设为0(更稳妥,方便后续恢复):
打开/etc/apt/apt.conf.d/20auto-upgrades,改成如下内容:
APT::Periodic::Update-Package-Lists "0"; APT::Periodic::Download-Upgradeable-Packages "0"; APT::Periodic::AutocleanInterval "0"; APT::Periodic::Unattended-Upgrade "0";
3. 彻底移除snapd(从根源解决snap问题)
既然你讨厌snap,那就彻底清理干净:
# 停止并禁用snapd服务 sudo systemctl stop snapd sudo systemctl disable snapd sudo systemctl mask snapd # 移除所有已安装的snap包 sudo snap remove --purge $(snap list | awk 'NR>1 {print $1}') # 卸载snapd包 sudo apt remove --purge snapd # 清理残留文件 sudo rm -rf /var/lib/snapd /snap ~/snap
4. 可选:锁定所有软件包版本(彻底冻结系统状态)
如果想让系统完完全全不更新任何包,除了你手动操作,就用apt-mark锁定所有包:
sudo apt-mark hold $(dpkg -l | grep '^ii' | awk '{print $2}')
之后如果要解锁某个包更新,执行:
sudo apt-mark unhold <package-name>
三、原系统抢救的临时方法(如果还想尝试)
你说进不去recovery模式,可以试试这两个小技巧:
- 开机时,在Ubuntu启动logo出现前快速按
Esc键(有些机器不是Shift,而是Esc),强制调出GRUB菜单; - 如果还是不行,进BIOS调整启动设置,找到GRUB相关选项,强制显示启动菜单,再选择recovery模式进入root shell,先禁用snapd和自动更新服务,看看能不能恢复系统。
备注:内容来源于stack exchange,提问作者Sergey
相关产品推荐
相关产品推荐

