
如何從 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
。