当前位置: 首页>>技术问答>>正文


ia32-libs软件包发生了什么变化?

,

问题描述

对于64位系统,ia32-libs软件包不再存在于Ubuntu 12.04存储库中。是否有任何可用的替换软件包可供下载?

最佳解决方法

ia32-libs软件包是在64位安装上安装32位软件包的一种手段。自Ubuntu版本11.10(Oneiric),Multi Arch已被添加。其中一个目标是取消ia32-libs包。相反,您必须安装包的32位库:

sudo apt-get install package-name:i386

您不必担心标准存储库中的软件包(例如wine软件包)。对于外部软件来说,这有点难度,因为您必须手动查找依赖关系。在这种情况下,使用您最喜爱的搜索引擎来查找您需要的库。

看起来ia32-libs仍然存在,但仅仅作为一个包含常用32位库的便利包。该软件包现在使用Multi Arch正确安装32位软件包。

次佳解决方法

Ubuntu 13.10

发生了什么?

ia32-libs软件包已被lib32z1 lib32ncurses5 lib32bz2-1.0完全替代。这不应该是一个问题,因为它的功能仍然存在,只是在其他包中。然而,我们并不是生活在一个理想的世界里,每个人都维护他们的软件包,所有的软件都是FLOSS,所以一些软件包仍然依赖于ia32-libs。

我如何安装依赖于ia32-libs的软件包x

有两种方法:

  1. 您可以手动重新打包,因此不再依赖于ia32-libs。 (优选的)

  2. 您可以从Ubuntu 13.04(Raring Ringtail)存储库安装ia32-libs(只有在第一种方法不起作用时才是完全不可取的!)

1.重新包装旧包装

我将使用citrix接收器作为示例,但是您可以对任何.deb包使用此方法:

首先,从他们的网站上下载citrix receiver .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接收器也需要一些黑客攻击。您可以在the Ubuntu wiki上找到完整的安装说明

您可以使用任何仍然依赖于ia32-libs的旧.deb软件包来执行此操作。

2.从raring存储库安装ia32-libs

请注意,安装旧包装是非常糟糕的做法!可悲的是,对于一些二进制安装程序,您没有任何其他选择。

您可以从the raring repository下载ia32-libs软件包。下载并手动安装它,然后解决依赖关系。

第三种解决方法

我读过你应该安装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

第四种方法

如果您遇到该错误,请尝试:

sudo apt-get update

然后再试一次:

sudo apt-get install ia32-libs

我刚刚做了12.04的全新安装,该软件包在存储库中仍然可用。事实上,在我运行更新之前,我自己得到了这个错误。之后,它运行良好。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/587.html,未经允许,请勿转载。