你如何创建一个“签名”deb包

我想创建一些deb包,但我不知道“签名”包的工作原理。 所以我想知道如何创建一个签名的deb包。

在Ubuntu / Debian系统上进行包签名是相当混乱的。 理论上,签署deb软件包后,收到您的软件包的人可以在您签名后validation软件包是否未被修改。 实际上,签名validation非常难以设置,默认情况下是禁用的。 除非用户在本地进行大量设置,否则在安装软件包时,他们不会validation签名。

要签署包,您可以使用:debsigs或dpkg-sig。 签名彼此不兼容,因此您需要确保用户在接收端使用正确的工具来validation签名。

dpkg-sig更易于用户和用户使用,但debsigs是Ubuntu和Debian上内置支持(默认情况下禁用)的工具。

我写了一篇博客文章,其中包含签署和validation源包(.dsc文件),二进制包(.deb)和APT包存储库本身的所有技术细节: http : //blog.packagecloud.io/eng/2014/ 28分之10/ HOWTO-GPG-SIGN-validation-DEB-包-易于-库/

Debian / Ubuntu上的包签名通常通过.changes文件完成。 在构建程序包时,您最终会得到.changes文件,列出构建结果(源代码和/或二进制程序包)及其校验和,当您对程序包进行签名时,这通常是您签名的文件(从而允许validation通过其校验和的包完整性)。

签署.changes文件的最简单方法是使用debsign

 debsign hello_1.0_amd64.changes 

如果您在gnupg钥匙串中有主键,并且在没有-us-uc开关的情况下运行dpkg-buildpackagedebuild ,则会自动执行此操作。