2

我正在尝试制作一张 live CD 来为用户简化 chroot 到无法启动的 Linux 系统,因为许多无法启动的 Linux 问题可以用 chroot 修复,但许多用户可能不了解 chroot 的概念。

我想要添加的功能之一是将一些实用程序从 Live CD 临时导入目标系统的功能,以便可以像安装它们一样使用它们来执行配置任务。

问题是我似乎无法解决在导入时尝试在 /usr/share 中搜索内容的应用程序。(我已经使用 patchelf 为 /usr/lib 提供了一个 hacky 解决方法...)用户可能需要运行包管理器来修复损坏的系统。(或者至少我认为它可能会使包管理器感到困惑)。

我正在尝试查看是否可以创建一个脚本来重建所有包以使用不同的构建前缀而不是 /usr。该脚本可以使用 apt-get build-dep/apt-get source/debbuild 重建软件包,但不能更改前缀。

问题:有没有办法将参数传递给 debuild 或 dpkg-buildpackage 以更改构建前缀?

现在看来我必须查看每个包的源(来自 apt-get 源)的内容,看看哪些文件指定 /usr 并找出一种方法来为每个包更改它,但我有一个感觉我错过了一些明显的东西......

这可能吗?

4

1 回答 1

0

我不认为这是可行的。为什么不安装在不同的位置,例如 /usr/local?这样,您还可以消除可能发生冲突的根源。

例如,一些包仍然充满了对其数据文件位置的硬编码引用。

我也会提供一个指针stow,尽管我认为这对您的场景并没有真正的帮助。

于 2011-09-08T05:11:48.497 回答