该ia32-libs
软件包不再存在于64位系统的Ubuntu 12.04存储库中。是否有可供下载的替代软件包?
该ia32-libs
软件包不再存在于64位系统的Ubuntu 12.04存储库中。是否有可供下载的替代软件包?
Answers:
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位软件包。
ldd
,将二进制文件的路径作为参数传递。如果输出包含like之类的行libz.so.1 => not found
,则需要查找libz.so.1
。您可以使用packages.ubuntu.com或apt-file search
查找包含该文件的软件包。在我给出的示例中,您需要安装zlib1g:i386
。
package-name
实际名称替换。用于计算ldd
,请参阅上面的第二条注释。
该ia32-libs
软件包已完全替换为lib32z1 lib32ncurses5 lib32bz2-1.0
。这应该不成问题,因为仅在其他软件包中,它的功能仍然存在。但是,我们并不是生活在每个人都维护其软件包并且所有软件都是FLOSS的理想世界中,因此某些软件包仍依赖于ia32-libs。
有两种方法:
ia32-libs
。(首选)我将以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 Wiki上找到完整的安装说明。
您可以使用仍然依赖ia32-libs的任何旧.deb软件包来执行此操作。
请注意,安装旧软件包是非常不好的做法!可悲的是,对于某些二进制安装程序,您别无选择。
您可以从raring 存储库中下载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
我相信这个特定的用例已被软件包“ lib32z1 lib32ncurses5 lib32bz2-1.0 lib32asound2”替换,这可能比说“您可以使用多体系结构”更具体,更有用。
我这样安装了ia32-libs(我在64位计算机上运行Ubuntu 13.04 Raring Ringtail):
检查自己的架构:
$ dpkg --print-architecture
检查是否安装了外部体系结构:
$ dpkg --print-foreign-architectures
根据上面两个命令的结果,以下三个命令可能会起作用(在我的情况下,要花很长时间来处理):
$ sudo dpkg --add-architecture i386 && sudo apt-get update && sudo apt-get install ia32-libs
Package ia32-libs is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source However the following packages replace it: lib32z1 lib32ncurses5 lib32bz2-1.0