deb パッケージに複数回署名しましたが、署名を削除するにはどうすればよいでしょうか?

deb パッケージに複数回署名しましたが、署名を削除するにはどうすればよいでしょうか?

dpkg-sig によって gpg キーで署名された deb パッケージから署名を削除するにはどうすればよいですか?

私は特定の apt リポジトリを設定しており、調査とテストを通じて deb パッケージに手動で署名するようになりました。

パッケージでテストし、同じキーで複数回署名しました。これで、deb パッケージには 3 つの署名がラップされました。

パッケージに署名するために使用されたコマンドは次のとおりです。

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

答え1

もっと良い方法があるかどうかはわかりませんが、少なくとも次のようにして署名を「手動で」削除することはできますar

ar d "$yourpackage.deb" _gpgbuilder

_gpgbuilder(または、「ビルダー」以外のロール名を付けることで「3 つの署名」を実現した場合の追加事項)。

これが機能するのは、最外層にある .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ファイルに対して同様のアクションを実行できます。

関連情報