mar*_*rio 36 64-bit apt 32-bit
我试图让游戏工作。但是我在 amd64 上运行 Lucid Lynx,而游戏二进制文件是 32 位(没有 64 位版本可用,没有人有心情重新编译)。它缺少 libfsml-windows1.5 来运行,并且 apt-getting 失败了。所以我必须手动下载 i386 包并强制安装它们。(不,不是 ia32libs 的一部分。)
现在我想知道是否有一种自动方式可以至少在 64 位安装上下载 x86 软件包。apt-get -o apt::architecture=i386不工作。(如果您切换架构模式,它将找不到该包或假定现有包缺少依赖项。)
还有其他工具可以自动化吗?可能是一种下载 i386 软件包并将包含的库隐式重定位到 /usr/lib32/ 的工具?
Chr*_*iki 37
从 Ubuntu 11.10 开始,不再需要使用getlibs或其他一些解决方法。64 位系统上的包系统现在能够与 64 位库并行管理 32 位库。您现在甚至可以轻松安装完整的应用程序及其所有依赖项!
只需添加:i386到您要安装的软件包的名称即可。
例如,我需要一个 32 位版本的 Java 7,并且可以通过运行以下命令来安装它(连同它的所有依赖项):
sudo apt-get install openjdk-7-jdk:i386
Run Code Online (Sandbox Code Playgroud)
小智 14
是的,拥有一个 chroot 环境是可行的方法,它甚至可以让您现有的 Ubuntu 并排放置以前的版本。
做起来很简单;
sudo apt-get install debootstrap schroot
Run Code Online (Sandbox Code Playgroud)
编辑/etc/schroot/schroot.conf并添加一个新的 schroot 配置:
[lucid32]
type=directory
description=Ubuntu Lucid 32bit
directory=/chroot/lucid32
users=your-user
root-groups=root
personality=linux32
Run Code Online (Sandbox Code Playgroud)
然后安装chroot环境:
sudo debootstrap --variant=buildd --arch i386 lucid /chroot/lucid32 http://nl.archive.ubuntu.com/ubuntu
Run Code Online (Sandbox Code Playgroud)
然后输入 chroot :
schroot -c lucid32
Run Code Online (Sandbox Code Playgroud)
或者对于根任务,例如:运行apt-get任务:
sudo schroot -c lucid32
Run Code Online (Sandbox Code Playgroud)
傻我。这确实是一个解决的问题。
顾名思义,它只能安装库,不能安装应用程序。但它非常适合将 32 位库固定到 x86-64 系统上。它会自动下载并安装到 /usr/lib32(假设它在内部进行路径替换。)
ppa:jcollins/jaminppa
https://launchpad.net/~jcollins/+archive/jaminppa/+packages
有些文档(getlibs似乎并不有一个当前主页):
http://ubuntuforums.org/showthread.php?t=474790
https://help.ubuntu.com/community/32bit_and_64bit
HTTP://www.dedoimedo .com/computers/ubuntu-utils.html
http://wiki.ubuntuusers.de/getlibs(德语)
| 归档时间: |
|
| 查看次数: |
135547 次 |
| 最近记录: |