我怎样才能“以困难的方式”手动组装我自己的包裹?

我怎样才能“以困难的方式”手动组装我自己的包裹?

我想知道如何在没有包管理器或其他类似工具的情况下从程序源创建自己的 .deb 包(换句话说,手动完成)。这有多难?我需要创建自己的存储库才能工作吗?我需要用我的公钥或其他东西签名吗?一个 deb 包是否适用于所有基于 Debian 的发行版,还是我需要为每种版本构建一个单独的版本?

编辑:我想指出我的问题和“最简单的 Debian 打包指南?“,也就是说,虽然提问者希望用最少的时间和精力创建一个包,但我想绕远路,不是为了让它变得更难,而是因为我想了解包装系统是如何工作的。简而言之,我想学习

答案1

这有多难?

一点也不难。我所有的包装都是从头开始的。一旦你知道了一些工具,并明白了发生了什么,这个过程就相当简单了。不过,要准备好花一些时间来学习这些流程。

我是否需要创建自己的存储库以实现此功能?

存储库(例如 PPA)用于将您的软件包发布到更广阔的世界。因此,是的,如果您希望人们能够安装该软件包,则需要将其包含在 Debian/Ubuntu 中,或者需要将其发布到存储库中。

PPA 还可以访问 Launchpad 构建农场,因此他们可以从源包构建二进制包。但您也可以在本地执行此操作。在打包某些东西时,您确实希望在本地进行测试构建,而不是等待 LP 构建您的包(LP 构建队列可能长达数小时)。

我需要用我的公钥或者其他东西来签名吗?

如果您想上传到 PPA,您需要使用您的私钥对您的源包进行签名。

一个 deb 包是否适用于所有基于 Debian 的发行版,还是我需要为每种版本构建一个单独的版本?

安全的答案是不行。但有时生成一个适用于所有当前 Debian 和 Ubuntu 版本的 deb 相当简单。这取决于您使用的软件包和工具链。

我建议:

答案2

InkBlend,在启动板上有一个实验项目,旨在使应用程序更容易实现这一点:

https://launchpad.net/pkgme

该项目的目标是让任何开发人员都能非常轻松地从源构建系统中已包含的元数据创建 Debian 源包。

有一个名为的旧程序dh_make,它应该包含在“ubuntu-dev-tools”包中,但它不能自动确定如何处理你的源代码。

最后,本指南非常棒,将解释包装的所有方面:

http://developer.ubuntu.com/packaging/html/

相关内容