我刚刚安装了全新的 Debian,但无法安装 Steam 和 PCSX2,两者都依赖于 i386 软件包。
我遵循了经典的程序:
# dpkg --add-architecture i386
# apt update
# apt upgrade
当我尝试安装 Steam 时,apt
无法安装 i386 软件包:
# apt install -f steam
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
steam:i386 : Depends: libgl1-mesa-glx:i386 but it is not going to be installed
Recommends: mesa-vulkan-drivers:i386 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
尝试安装 PCSX2 时相同
# apt install pcsx2
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
pcsx2:i386 : Depends: libgl1:i386 but it is not going to be installed
Depends: libsdl2-2.0-0:i386 (>= 2.0.8) but it is not going to be installed
Depends: libwxgtk3.0-0v5:i386 (>= 3.0.4+dfsg) but it is not going to be installed
Recommends: libasound2-plugins:i386 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
或者葡萄酒32:
# apt install wine32
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
wine32:i386 : Depends: libwine:i386 (= 4.0-2) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
如果我尝试模拟软件包的安装,apt
则会抱怨我得到以下信息:
apt install -s libgl1-mesa-glx:i386
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libgl1-mesa-glx:i386 : Depends: libgl1:i386 but it is not going to be installed
Depends: libglx-mesa0:i386 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
如果我尝试安装libgl1:i386或者libglx-mesa0:i386我有:
apt install libgl1:i386
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libgl1:i386 : Depends: libglx0:i386 (= 1.1.0-1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
# apt install libglx-mesa0:i386
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libglx-mesa0:i386 : Depends: libx11-xcb1:i386 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
进而安装 libx11-xcb1:i386:
# apt install libx11-xcb1:i386
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libgl1 : Depends: libglx0 (= 1.1.0-1) but it is not going to be installed
libglx-mesa0 : Depends: libx11-xcb1 but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
# apt policy libx11-xcb1{,:i386}
libx11-xcb1:
Installed: 2:1.6.12-1
Candidate: 2:1.6.12-1
Version table:
*** 2:1.6.12-1 100
100 /var/lib/dpkg/status
2:1.6.7-1 500
500 http://deb.debian.org/debian buster/main amd64 Packages
libx11-xcb1:i386:
Installed: (none)
Candidate: 2:1.6.7-1
Version table:
2:1.6.7-1 500
500 http://deb.debian.org/debian buster/main i386 Packages
这是我的内容/etc/apt/sources.list
:
deb http://deb.debian.org/debian buster main contrib non-free
deb-src http://deb.debian.org/debian buster main contrib non-free
deb http://deb.debian.org/debian-security/ buster/updates main contrib non-free
deb-src http://deb.debian.org/debian-security/ buster/updates main contrib non-free
deb http://deb.debian.org/debian buster-updates main contrib non-free
deb-src http://deb.debian.org/debian buster-updates main contrib non-free
答案1
# apt policy libx11-xcb1{,:i386}
libx11-xcb1:
Installed: 2:1.6.12-1
Candidate: 2:1.6.12-1
Version table:
*** 2:1.6.12-1 100
100 /var/lib/dpkg/status
2:1.6.7-1 500
500 http://deb.debian.org/debian buster/main amd64 Packages
libx11-xcb1:i386:
Installed: (none)
Candidate: 2:1.6.7-1
Version table:
2:1.6.7-1 500
500 http://deb.debian.org/debian buster/main i386 Packages
显示问题的根源:apt
无法安装i386
与已安装的软件包相同版本的软件包amd64
(匹配 Debian 测试,而不是 Debian 10)。多架构包必须保持完全同步。
要解决此问题,您必须将受影响的软件包降级到 Debian 10 版本,或者安装i386
Debian 测试版本(amd64
如有必要,可能会升级软件包),或者批量切换到 Debian 测试。
顺便说一句,这意味着您的设置不是全新的 Debian Buster 安装。