该ia32-libs
软件包不再存在于 64 位系统的 Ubuntu 12.04 存储库中。是否有可供下载的替代软件包?
答案1
ia32-libs 软件包是一种在 64 位安装中安装 32 位软件包的技巧。从 Ubuntu 11.10 (Oneiric) 版本开始,多架构已添加。它的目标之一是删除ia32-libs
包。相反,您必须使用以下命令安装包的 32 位库:
sudo apt-get install package-name:i386
对于标准存储库中的软件包(例如软件包),您不必担心这一点wine
。对于外部软件,这有点困难,因为您必须手动查找依赖项。在这种情况下,请使用您最喜欢的搜索引擎来查找所需的库。
ia32-libs 似乎仍然存在,但只是作为包含常见 32 位库的便利包。此包现在使用 Multi Arch 来正确安装 32 位包。
答案2
Ubuntu 13.10
发生了什么?
该ia32-libs
软件包已被 完全替换lib32z1 lib32ncurses5 lib32bz2-1.0
。这应该不是问题,因为它的功能仍然存在,只是在其他软件包中。但是,我们并不生活在一个理想的世界里,每个人都维护自己的软件包,所有软件都是 FLOSS,所以一些软件包仍然依赖于 ia32-libs。
我如何安装包X依赖于 ia32-libs
有两种方法:
- 您可以手动重新打包它,这样它就不再依赖于它了
ia32-libs
。(首选) - 您可以从 Ubuntu 13.04 (Raring Ringtail) 存储库安装 ia32-libs (根本不喜欢!仅当第一种方法不起作用时)
1. 重新打包旧包
我将使用 citrix 接收器作为示例,但您可以对任何 .deb 包使用此方法:
首先,从他们的网站下载 citrix 接收器 .deb 包并创建一个临时目录来进行黑客攻击。
mkdir ica_temp
提取包
dpkg-deb -x icaclient_13.0.0.256735_amd64.deb ica_temp
dpkg-deb --control icaclient_13.0.0.256735_amd64.deb ica_temp/DEBIAN
在 gedit(或您喜欢的编辑器)中打开文件
sudo -H gedit ica_temp/DEBIAN/control
找到以 . 开头的行,Depends:...
删除ia32-libs
并添加lib32z1 lib32ncurses5 lib32bz2-1.0
重建修改后的包
dpkg -b ica_temp icaclient-modified.deb
并安装它
sudo dpkg -i icaclient-modified.deb
sudo apt-get install -f
安装 citrix 接收器也需要一些黑客攻击。您可以在Ubuntu 维基
您可以使用任何仍然依赖 ia32-libs 的旧 .deb 包执行此操作。
2. 从 raring 存储库安装 ia32-libs
请注意,安装旧软件包是非常糟糕的做法!遗憾的是,对于某些二进制安装程序,您没有其他选择。
您可以从以下位置下载 ia32-libs 包贪婪的储存库。下载并手动安装,然后依赖关系应该得到解决。
答案3
我读到你应该安装该ia32-libs-multiarch
包。但是它对我不起作用,我收到此错误
ia32-libs-multiarch:i386 : Depends: libgphoto2-2:i386 but it is not going to be installed.
对我有用的解决方案是安装以下软件包:
sudo apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386
答案4
我相信这个特定的用例已经被“lib32z1 lib32ncurses5 lib32bz2-1.0 lib32asound2”包所取代,这可能比“你可以使用多架构”更具体、更有用。