Ubuntu 13.10

Ubuntu 13.10

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

有两种方法:

  1. 您可以手动重新打包它,这样它就不再依赖于它了ia32-libs。(首选)
  2. 您可以从 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”包所取代,这可能比“你可以使用多架构”更具体、更有用。

相关内容