Ubuntu 16.04更新遇‘Kept back’包,执行dist-upgrade将卸载Unity?
关于Ubuntu 16.04更新时
dist-upgrade要卸载ubuntu-desktop和Unity的问题 这种情况绝对不正常,先给你明确结论:如果真执行这个操作,你的桌面环境大概率会被彻底移除,重启后可能只能进入命令行界面,千万不要贸然执行!
为什么会出现这种诡异情况?
kept back的包通常是因为依赖关系发生变化,普通apt-get upgrade无法处理(比如需要安装/移除新依赖),而dist-upgrade本是用来调整这类依赖的,但它要卸载核心桌面组件,肯定是系统软件源出了问题:
- Ubuntu 16.04早在2021年就结束官方支持(EOL),默认官方源已失效,若没切换到old-releases源,apt会从错误源获取信息,导致依赖彻底混乱。
- 你可能添加了第三方PPA,这些PPA的包和系统现有包版本冲突,触发错误的依赖解析,让apt误以为必须卸载桌面组件才能完成更新。
卸载ubuntu-desktop和Unity会有什么后果?
ubuntu-desktop是元包(metapackage),本身不含实际程序文件,但它依赖Unity桌面环境的所有核心组件(窗口管理器、登录界面、系统设置等)。卸载它时,apt会把所有依赖组件一并删除——等于直接移除整个桌面环境。- Unity是Ubuntu 16.04的默认桌面环境,卸载它会直接让你失去图形界面,只能通过命令行操作。
该怎么修复?
检查并修复软件源
先查看当前源配置:cat /etc/apt/sources.list ls /etc/apt/sources.list.d/把所有非官方PPA源暂时注释(行首加
#),然后将默认源替换为old-releases源:
编辑sources.list:sudo nano /etc/apt/sources.list替换所有内容为:
deb http://old-releases.ubuntu.com/ubuntu/ xenial main restricted universe multiverse deb http://old-releases.ubuntu.com/ubuntu/ xenial-updates main restricted universe multiverse deb http://old-releases.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse deb http://old-releases.ubuntu.com/ubuntu/ xenial-security main restricted universe multiverse保存退出后更新源:
sudo apt-get update修复桌面环境依赖
运行以下命令重新安装ubuntu-desktop,让apt自动修复依赖问题:sudo apt-get install ubuntu-desktop处理第三方PPA(如果有的话)
若之前添加了冲突PPA,建议用ppa-purge彻底移除PPA带来的包,恢复到官方版本:sudo apt-get install ppa-purge sudo ppa-purge ppa:你的PPA地址长远建议
Ubuntu 16.04已无安全更新,继续使用存在极高安全风险,建议尽快备份数据后升级到受支持的版本(如20.04 LTS或22.04 LTS)。
内容的提问来源于stack exchange,提问作者Nikola
相关产品推荐
相关产品推荐

