
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
ファイルに対して同様のアクションを実行できます。