问题:
如何提前确定,无需完整安装 64 位 Debian Testing NETINST,Debian Testing 何时具有可用且完全正常工作和可安装的 32 位库,以便以下命令可以正常工作而不会出现损坏的软件包错误?:
apt-get install ia32-libs ia32-libs-gtk
当 32 位库不可用、仍处于某种损坏状态或出现任何损坏时,将发生以下错误。我已经得出结论,“只安装稳定版”是目前的权宜之计,但我想知道上述问题的答案,以避免漫长的安装过程最终导致这些问题。
细节:
几天前我下载了 64 位 Debian Testing netinst。这是“Jessie”于 20131014-06:07 构建的 http://tinyurl.com/lejpa。这是每周测试版本。是的,我知道我应该预料到问题,而且我确实预料到了。我设法完全安装了它,并能够调用 GNOME,但无法解决 32 位库问题。
当我尝试通过以下方式安装 32 位库时,问题就开始了:
apt-get install ia32-libs ia32-libs-gtk
返回:
root@breath:~# apt-get install ia32-libs ia32-libs-gtk
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:
ia32-libs : Depends: ia32-libs-i386 but it is not installable
ia32-libs-gtk : Depends: ia32-libs-i386 but it is not installable
Depends: ia32-libs-gtk-i386 but it is not installable
E: Unable to correct problems, you have held broken packages.
然后我在以下网址找到了一个旧的(2012 年对我来说已经很旧了)答案 ia32-libs:依赖:ia32-libs-i386 但无法安装 甚至尝试了他们建议的方法
dpkg --add-architecture i386
apt-get update
执行上述操作后,我再次尝试,但得到:
root@breath:~# apt-get install ia32-libs ia32-libs-gtk
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:
ia32-libs : Depends: ia32-libs-i386
ia32-libs-gtk : Depends: ia32-libs-i386
E: Unable to correct problems, you have held broken packages.
root@breath:~#
然后尝试了这个:
root@breath:~# dpkg --get-selections | grep hold
但结果什么也没返回。不仅有损坏的软件包,系统甚至不知道哪些软件包损坏了,所以 Debian Stable 是我现在知道的唯一解决方案。
因此我提出了上述问题。
答案1
我回去安装了 Debian Stable,但命令仍然以同样的方式失败:
apt-get install ia32-libs ia32-libs-gtk
这些软件包不再安装在现在的 Debian Stable 上。显然,Debian 已经转移到多架构机制,导致这些软件包不再有效。有效的方法是安装一些在特定软件包名称末尾应用“:i386”后缀的软件包。经过广泛的网络搜索,我终于找到了http://gromgull.net/blog/2013/02/32bit-firefoxthunderbird-on-debian-amd64/#post-628这非常有帮助。
答案2
对于那些使用新 Debian 8“Jessie”的人来说,我发现这个解决方案非常完美。......
apt-get -y --force-yes 安装 lib32z1 lib32ncurses5
导致以下脚本成功运行:
正在读取软件包列表... 完成 正在构建依赖关系树
正在读取状态信息... 完成 将安装以下额外软件包:lib32tinfo5 libc6-i386 将安装以下新软件包:lib32ncurses5 lib32tinfo5 lib32z1 libc6-i386 已升级 0 个软件包,新安装 4 个软件包,要删除 0 个软件包,未升级 316 个软件包。需要获取 2,856 kB 的档案。此操作后,将使用 10.8 MB 的额外磁盘空间。
希望这可以帮助。