Ubuntu系统下Steam相关依赖异常:未满足依赖与损坏锁定包问题求助
Ubuntu系统下Steam相关依赖异常:未满足依赖与损坏锁定包问题求助
看起来你在Ubuntu上折腾Steam卸载好几次都没解决问题,现在还遇上了字体显示砍头、系统提示存在**锁定损坏包(held broken packages)**的离谱状况,核心是32位(i386)和64位图形库的版本不匹配,比如libgbm1、libgl1-mesa-dri这类组件互相冲突,导致依赖链彻底乱套了。
先把你碰到的具体错误信息整理出来,方便后续排查:
系统提示:
E: Unable to correct problems, you have held broken packages.
具体依赖冲突细节:
libegl1:i386:依赖libegl-mesa:i386但无法安装libgbm1:与libgbm1:i386版本冲突(要求版本完全一致,但待安装版本不匹配)libgbm1:i386:反向与libgbm1版本冲突libgl1-mesa-dri:与libgl1-mesa-dri:i386版本冲突libgl1-mesa-dri:i386:依赖libglapi-mesa-dri:i386无法安装,推荐的libgl1-amber-dri:i386也无法安装libglx0:i386:依赖libglx-mesa:i386无法安装
下面给你几个逐步修复的实操方法:
1. 先解锁并自动修复损坏包
第一步先解除相关包的锁定,让系统尝试自动修复依赖:
sudo apt-mark unhold libegl1:i386 libgbm1 libgbm1:i386 libgl1-mesa-dri libgl1-mesa-dri:i386 libglx0:i386 sudo apt-get update sudo apt-get install -f
这条命令会先解除锁定,更新软件源,再让系统自动补全缺失的依赖、修正版本冲突。
2. 强制统一32位与64位图形库版本
如果自动修复没用,就手动强制让32位和64位的库版本保持一致:
先查看当前系统里可安装的对应版本:
apt-cache policy libgbm1 libgbm1:i386 libgl1-mesa-dri libgl1-mesa-dri:i386
根据输出里的可用版本号(比如你这里的22.2.5-0ubuntu0.1-22.04.2),执行强制安装命令:
sudo apt-get install libgbm1=22.2.5-0ubuntu0.1-22.04.2 libgbm1:i386=22.2.5-0ubuntu0.1-22.04.2 sudo apt-get install libgl1-mesa-dri=22.2.5-0ubuntu0.1-22.04.2 libgl1-mesa-dri:i386=22.2.5-0ubuntu0.1-22.04.2
3. 彻底清理Steam残留后重装
之前卸载可能没清干净配置文件,先彻底清理:
sudo apt-get purge steam steam-installer sudo rm -rf ~/.steam/ sudo rm -rf ~/.local/share/Steam/ sudo apt-get autoremove sudo apt-get clean
然后重新安装Steam及其依赖:
sudo apt-get install steam-installer
如果还是提示缺失32位库,手动补装:
sudo apt-get install libegl-mesa0:i386 libglapi-mesa:i386 libglx-mesa0:i386
4. 修复字体显示异常
如果打字时字体顶部被截断的问题还在,重置字体缓存试试:
fc-cache -r -v
备注:内容来源于stack exchange,提问作者Damageddad




