我已經對 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 創建的.debs 和使用ar 創建的.debs 之間存在細微差別,因此通常在操作deb 檔案時堅持使用真正的dpkg 工具是個好主意,但所有現代工具(據我所知)都可以很好地處理這兩種情況。

答案2

對於嵌入的簽名,您可以.deb使用 開啟文件file-roller,然後刪除嵌入的簽名文件。您也可以將 ar 與 一起使用ar d package.deb _gpgbuilder

對於分離的簽名,您只需xul-ext-ubufox_3.0-0ubuntu0.14.10.1.dsc在文字編輯器中開啟文件,並且應該能夠從文件底部刪除額外的簽名區塊。

如果您也對來源套件執行了相同的操作,則可以對檔案執行類似的操作_source.changes

相關內容