如何向 ia32-apt-get 添加存储库?

如何向 ia32-apt-get 添加存储库?

我需要安装一些仅在 64 位 (amd64) Ubuntu 上的 i386 架构中可用的第三方二进制包。如何添加新的 32 位存储库,以便 ia32-apt-get 自动安装和转换仅适用于 i386 的二进制包及其依赖项?

答案1

不幸的是,您无法在 AMD64 机器上安装 i386 软件包;dpkg 不允许您这样做。您可以采取一些措施来解决这个问题。最简单的方法可能是使用 debootstrap 设置 i386 chroot:

# /usr/sbin/debootstrap --arch i386 jaunty /mnt/ubuntu http://archive.ubuntu.com/ubuntu

然后您可以 chroot 到 /mnt/ubuntu 并安装您的软件包。

答案2

您是否运行过ia32-apt-get updateia32-apt-get会临时将 apt-get 软件包列表目录设置为 ,/etc/apt/foreign/而不是其默认的/etc/apt。安装后,您的默认目录/etc/apt/sources.list将被复制到/etc/apt/foreign。因此,要获取要安装的软件包列表,您需要至少运行一次更新。如果您想将 sources.list 存储库扩展到本机 sources.list 中默认可用的范围之外,则需要编辑该外部 sources.list。

答案3

不行。这些软件包不在 amd64 存储库中很可能有非常具体的原因。如果您不知道原因,那么您可以尝试自己构建它们。

转到软件包页面,下载源 deb 并自行构建。

获取所需文件 apt-get install devscripts build-essential fakeroot dpkg-dev

假设你想构建 bc。找到源包: http://packages.ubuntu.com/jaunty/bc 右侧是 dsc 文件的链接。然后运行:dgethttp://archive.ubuntu.com/ubuntu/pool/main/b/bc/bc_1.06.94-3ubuntu1.dsc cd bc-1.06.94/ dpkg-buildpackage -rfakeroot -b

您将获得可以使用 dpkg 安装的全新 deb 文件。

相关内容