【问题标题】:Easy way to change .deb build prefix?更改 .deb 构建前缀的简单方法?
【发布时间】:2011-09-08 03:53:48
【问题描述】:

我正在尝试制作一张 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 并找出一种方法来为每个包更改它,但是我有一种感觉,我错过了一些明显的东西......

这可能吗?

【问题讨论】:

    标签: prefix deb


    【解决方案1】:

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

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

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

    【讨论】:

    • 我实际上是在试图让它编译成类似 /usr/local 的东西(它是一个我在 /usr 中命名的文件夹,所以我没有任何冲突)它可能是硬编码的,我正在尝试使用 find 和 sed 将所有对 usr 文件夹的引用替换为我想要的文件夹。
    • 我知道它很老套,但它不是要安装的永久系统,我将不得不为每个软件包都安装它。感谢您的提示,我只是不知道为什么我在此之前没有想到 sed,非常抱歉在错误的网站上发帖。
    猜你喜欢
    • 2018-10-20
    • 1970-01-01
    • 2018-10-18
    • 2021-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-28
    • 2014-12-20
    相关资源
    最近更新 更多