Ubuntu 主要升级期间 GNOME 移除 | AI生成和翻译

Home 2026.03

是的,在 Ubuntu 主版本升级过程中,这绝对可能发生。 以下是为什么以及如何发生的全面解释:


在 Ubuntu 22 → 24 升级过程中 GNOME 被卸载的原因

1. 软件包过渡和重命名的元包

在运行 do-release-upgrade 时,升级工具 (ubuntu-release-upgrader) 会解析发布版之间的依赖树。如果发生以下任何情况,桌面软件包可能会被移除:

2. “Autoremove” 级联效应

Ubuntu 的升级过程会将许多软件包标记为“自动安装”。如果像 ubuntu-desktop 这样的元包被移除或替换,其所有自动安装的依赖项就会成为孤儿并符合自动移除条件。这会产生级联效应:

ubuntu-desktop removed
  → gdm3 marked for removal
    → gnome-shell marked for removal
      → gnome-session marked for removal
        → gnome-settings-daemon marked for removal

3. rc 状态是关键证据

gdm3gnome-shellgnome-settings-daemon 上的 rc 状态(已移除,但保留配置)确认这些软件包是由包管理器干净地移除的——不是损坏。这是一种受控移除,而不是崩溃。

4. active (exited) 的 GDM3 陷阱

这是一个特别令人困惑的症状。以下是流程:

systemd starts gdm3 service
  → triggers /etc/init.d/gdm3 (SysV compat)
    → script checks: test -x /usr/sbin/gdm3
      → binary missing → exits 0 (success!)
        → systemd reports: active (exited) ✓

服务看起来是健康的,但实际上什么都没做。结合 graphical.target 仍是默认目标且 /etc/X11/default-display-manager 仍指向缺失的二进制文件,系统会静默引导到 TTY 而不会记录任何错误。


如何在未来升级中防止这种情况


恢复

如已确认,修复方法很简单:

sudo apt install ubuntu-desktop
sudo reboot

这会重新安装完整的元包,拉回 GDM3、GNOME Shell 及其所有依赖项,并在下次启动时恢复图形登录。

参考资料:


Back Donate