gpt4 book ai didi

linux - 如何为依赖于不受支持的官方包版本的项目创建 deb 二进制包

转载 作者:太空宇宙 更新时间:2023-11-04 12:04:21 24 4
gpt4 key购买 nike

我想为应用程序创建一个 deb 包,以便它可以方便地在 Debian 和 Ubuntu 系统上安装和更新。但是,该应用程序依赖于一些较新版本的公共(public)库,尽管这些库本身由 Debian 和 Ubuntu 打包,但我的应用程序所依赖的特定版本尚未得到任何发行版的正式支持,也无法作为 deb 包使用。它们仅作为源包提供,我必须自己构建这些包才能让我的应用程序链接到它们。

此外,deb 包计划仅在内部分发,没有计划或期望向公众发布 deb。如果那时遵守发行版的包装指南和支持官方包装将是一项要求。

对于 Windows 操作系统系列的 IIRC,通过随应用程序一起运送依赖项并将它们存储在存储应用程序可执行文件的同一文件夹中,可以缓解此问题。但是,我不知道这个问题应该如何在 linux 中处理,尤其是在 Debian 和 Ubuntu 中。

有谁知道创建一个 deb 包的最佳策略是什么,该包还捆绑了 Debian 和 Ubuntu 中预装的较新版本的库?

最佳答案

在研究将第三方共享库捆绑到 deb 包中的方法时,我偶然发现了 this stackoverflow question关于如何将共享库打包到 ELF 文件中。

创建独立的 Linux 可执行文件似乎是捆绑第三方库的有趣替代方法。 ELF Statifier等工具似乎很好地完成了这项工作。

在同一个 deb 包中捆绑第三方库听起来仍然是在这些情况下生成包的正确方法,当然考虑到这些第三方库的所需版本未通过任何第三方分发或提供-方存储库。尽管将 deb 包添加为依赖项是一个更好的选择,但在某些场景和用例中,此选项不可用。

因此,虽然仍然没有针对捆绑第三方共享库问题的解决方案,但使用 ELF Statifier 之类的工具似乎是下一个最佳选择。

关于linux - 如何为依赖于不受支持的官方包版本的项目创建 deb 二进制包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51210706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com