【发布时间】:2015-09-01 06:19:37
【问题描述】:
我的设置是这样的:我有两组为 amd64 (pc) 和 armelx (ARM) 编译的库。它们都用于在构建机器上交叉编译某些软件。
可以通过更新 apt-repository 并在构建机器上使用 apt-get install 轻松更新第一个 (amd64)。但是 ARM 的软件包,我不想用 apt 安装,因为它不支持安装到不同的目录。如果我安装到默认目录,版本不能共存。对吧?
到目前为止,每次有新版本的软件包时都会手动更新构建机器,只需使用 dpkg -x 提取到专用的“假”footfs 目录即可。这是编译器在交叉编译其他软件时也会查看的地方。问题是,系统上的任何地方都没有关于这些提取包或其版本的信息,对吧?它应该在 status 文件中。
我的想法是用dpkg -i <package.deb> --root=<rootfs> 将这些软件包安装在这个footfs 目录中。这行得通吗?我感觉它不会,因为 deb 包没有 post/pre-remove/install 脚本,所以它可能适用于原始安装,但不适用于升级?此外,rootfs 目录结构必须是什么样的,它必须包含什么才能使其第一次工作?有没有工具可以帮助解决这个问题?
谢谢。
【问题讨论】:
-
我现在意识到这可能更适合 superuser 论坛...