我已经多次签名了 deb 包,现在如何删除签名?

我已经多次签名了 deb 包,现在如何删除签名?

如何从使用 dpkg-sig 的 gpg 密钥签名的 deb 包中删除签名?

我有一个特定的 apt 存储库,通过研究和测试,我可以手动签署我的 deb 包。

我在一个软件包上测试了它,并用同一个密钥对其进行了多次签名。现在 deb 软件包上有三个签名。

用于签署包的命令是:

dpkg-sig -k ######## --sign bulder xul-ext-ubufox_3.0-0ubuntu0.14.10.1_all.deb

答案1

我不确定是否有更好的方法,但至少你可以使用以下命令“手动”删除签名ar

ar d "$yourpackage.deb" _gpgbuilder

(或者除此之外,_gpgbuilder如果您通过提供“建造者”以外的角色名称来实现“三个签名”,则可以添加其他内容)。

这是可行的,因为最外层的 .deb 文件本质上只是“ar”档案,而嵌入的 deb 签名存储在最外层。使用 dpkg 创建的 .deb 和使用 ar 创建的 .deb 之间有一点不同,因此在操作 deb 文件时,通常最好坚持使用真正的 dpkg 工具,但所有现代工具(据我所知)都可以很好地处理这两种文件。

答案2

对于嵌入式签名,您可以.deb使用 打开文件file-roller,然后删除嵌入式签名文件。您也可以将 ar 与 一起使用ar d package.deb _gpgbuilder

对于分离的签名,您只需xul-ext-ubufox_3.0-0ubuntu0.14.10.1.dsc在文本编辑器中打开文件,然后就可以从文件底部删除多余的签名块。

如果您对源包也执行了相同的操作,则可以对文件执行类似的操作_source.changes

相关内容