所以我根本无法安装 steam...它抱怨许多依赖项无法安装。
Steam 说它需要:libgl1-mesa-dri:i386 libgl1:i386
apt-cache policy libgl1-mesa-dri:i386 libgl1:i386 的输出
libgl1-mesa-dri:i386:
Installed: (none)
Candidate: 20.0.4-2ubuntu1
Version table:
20.0.4-2ubuntu1 500
500 http://us.archive.ubuntu.com/ubuntu focal/main i386 Packages
19.2.8-0ubuntu0~19.10.3 -1
100 /var/lib/dpkg/status
libgl1:i386:
Installed: (none)
Candidate: 1.3.1-1
Version table:
1.3.1-1 500
500 http://us.archive.ubuntu.com/ubuntu focal/main i386 Packages
sudo aptitude install libgl1-mesa-dri:i386 libgl1:i386 的输出
The following NEW packages will be installed:
libatomic1:i386{a} libdrm-amdgpu1:i386{a} libdrm-intel1:i386{a} libdrm-nouveau2:i386{a} libdrm-radeon1:i386{a} libdrm2:i386{a} libedit2:i386{a} libelf1:i386{a} libexpat1:i386{a}
libffi7:i386{a} libgl1:i386 libgl1-mesa-dri:i386{b} libglapi-mesa:i386{ab} libglvnd0:i386{a} libglx-mesa0:i386{ab} libglx0:i386{a} libllvm9:i386{a} libpciaccess0:i386{a}
libsensors5:i386{a} libstdc++6:i386{a} libvulkan1:i386{a} libwayland-client0:i386{a} libx11-xcb1:i386{a} libxcb-dri2-0:i386{a} libxcb-dri3-0:i386{a} libxcb-glx0:i386{a}
libxcb-present0:i386{a} libxcb-randr0:i386{a} libxcb-sync1:i386{a} libxdamage1:i386{a} libxfixes3:i386{a} libxshmfence1:i386{a} libxxf86vm1:i386{a} libzstd1:i386{a}
mesa-vulkan-drivers:i386{a}
0 packages upgraded, 35 newly installed, 0 to remove and 0 not upgraded.
Need to get 30.1 MB of archives. After unpacking 382 MB will be used.
The following packages have unmet dependencies:
libglapi-mesa : Breaks: libglapi-mesa:i386 (!= 20.1~git2003140730.b93a19~oibaf~e) but 20.0.4-2ubuntu1 is to be installed
libglapi-mesa:i386 : Breaks: libglapi-mesa (!= 20.0.4-2ubuntu1) but 20.1~git2003140730.b93a19~oibaf~e is installed
libgl1-mesa-dri : Breaks: libgl1-mesa-dri:i386 (!= 20.1~git2003140730.b93a19~oibaf~e) but 20.0.4-2ubuntu1 is to be installed
libgl1-mesa-dri:i386 : Breaks: libgl1-mesa-dri (!= 20.0.4-2ubuntu1) but 20.1~git2003140730.b93a19~oibaf~e is installed
libglx-mesa0 : Breaks: libglx-mesa0:i386 (!= 20.1~git2003140730.b93a19~oibaf~e) but 20.0.4-2ubuntu1 is to be installed
libglx-mesa0:i386 : Breaks: libglx-mesa0 (!= 20.0.4-2ubuntu1) but 20.1~git2003140730.b93a19~oibaf~e is installed
The following actions will resolve these dependencies:
Keep the following packages at their current version:
1) libgl1:i386 [Not Installed]
2) libgl1-mesa-dri:i386 [Not Installed]
3) libglapi-mesa:i386 [Not Installed]
4) libglx-mesa0:i386 [Not Installed]
5) libglx0:i386 [Not Installed]
如果我尝试说“否”,aptitude 会建议删除我拥有的几乎所有软件包(包括 KDE Plasma、Latte 等所需的所有内容)。
neofetch 的输出:
OS: Ubuntu 20.04 LTS x86_64
Host: SVS1511BFXB C60AZDBR
Kernel: 5.4.0-26-generic
Uptime: 43 mins
Packages: 3385 (dpkg), 3 (snap)
Shell: zsh 5.8
Resolution: 1920x1080 @ 59.94Hz, 1920x1080 @ 60.00Hz
DE: Plasma
WM: KWin
WM Theme: Gently
Theme: Gently [Plasma], Breeze-Dark [GTK2/3]
Icons: MB-Cherry-Suru-GLOW [Plasma], MB-Cherry-Suru-GLOW [GTK2/3]
CPU: Intel i7-3612QM (8) @ 3.100GHz [154.4°F]
GPU: Intel 3rd Gen Core processor Graphics Controller
GPU: NVIDIA GeForce GT 640M LE
Memory: 2484MiB / 11880MiB (20%) [---============]
GPU Driver: i915
Font: Iosevka Nerd Font Regular 10 [Plasma], Iosevka Nerd Font, Light 10 [GTK2/3]
Locale: en_US.UTF-8
答案1
这可能是由于多架构包不匹配造成的。
我发现最有用的帖子是来自 @kisak:
Ubuntu 最常见的情况是安装了较新版本的 64 位软件包,但软件包管理器没有适用于 32 位的完全相同的版本。Debian 的多架构实现要求软件包的所有 64 位和 32 位版本都具有完全相同的版本。Apt 不会自动引入比已安装版本更旧的 64 位软件包版本以允许 32 位版本继续运行,而是直接告诉用户不会发生这种情况。
对我来说,这是升级后出现的问题libllvm11
,我有一个:amd64
来自 llvm-toolchain ppa 的版本。:i386
来自 mesa ppa 的版本无法匹配,运行以下命令可显示此问题:
$ apt policy libllvm11 libllvm11:i386
仅通过实验性安装/删除才发现哪个包存在问题,并查看是什么原因导致整个桌面环境想要卸载。
就你的情况而言,我注意到你的 mesa 软件包的版本20.1~git2003140730.b93a19~oibaf~e
表明它们来自ppa:oibaf/图形驱动程序而不是(类似的)阀门ppa:基萨克/基萨克-梅萨。因此,可能值得清除现有的图形堆栈,并安装另一个来查看是否是原因。
sudo apt install ppa-purge
sudo ppa-purge ppa:oibaf/graphics-drivers
sudo add-apt-repository ppa:kisak/kisak-mesa
sudo apt-get update
sudo apt-get dist-upgrade
这有点破坏性,所以如果你能找出确切的问题包并先降级,那可能会更安全。