我正在尝试制作一张Live CD,以便为用户简化chroot到无法启动的Linux系统,因为很多无法启动的Linux问题可以通过chroot修复,但许多用户可能不理解chroot的概念。
我想要添加的功能之一是能够将Live CD中的某些实用程序临时导入目标系统,以便可以像安装它们一样使用它们来执行配置任务。
问题在于我似乎无法解决在导入时尝试在/ usr / share中搜索内容的应用程序。 (我已经使用patchelf对/ usr / lib进行了一个hacky解决方法...)我会在/ usr / share上进行联合安装,但是当它们看到不应该存在的文件时,这会让一些包管理器感到困惑,因为用户可能需要运行包管理器来修复损坏的系统。 (或者至少我认为这可能会使包裹经理感到困惑)。
我正在尝试查看是否可以创建一个脚本来重建所有包以使用不同的构建前缀而不是/ usr。该脚本可以使用apt-get build-dep / apt-get source / debbuild重建包,但它不能更改前缀。
问题:有没有办法将参数传递给debuild或dpkg-buildpackage来更改构建前缀?
现在看来我必须查看每个包的源代码(来自apt-get source)并查看指定/ usr的文件,并找出为每个文件更改它的方法,但是我有一种感觉,我错过了一些明显的东西......
这可能吗?
答案 0 :(得分:0)
我认为这不可行。为什么不安装在不同的位置,例如/ usr / local?这样,您也可以消除可能发生冲突的来源。
但是,有些软件包充满了对其数据文件位置的硬编码引用,例如。
我也会引用一个指向stow
的指针,虽然我认为它对你的场景没什么帮助。