apt-cache policy libgl1-mesa-dri:i386 libgl1:i386 的输出

apt-cache policy libgl1-mesa-dri:i386 libgl1:i386 的输出

所以我根本无法安装 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

这有点破坏性,所以如果你能找出确切的问题包并先降级,那可能会更安全。

相关内容