You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Ubuntu系统下Steam相关依赖异常:未满足依赖与损坏锁定包问题求助

Ubuntu系统下Steam相关依赖异常:未满足依赖与损坏锁定包问题求助

看起来你在Ubuntu上折腾Steam卸载好几次都没解决问题,现在还遇上了字体显示砍头、系统提示存在**锁定损坏包(held broken packages)**的离谱状况,核心是32位(i386)和64位图形库的版本不匹配,比如libgbm1libgl1-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

火山引擎 最新活动