
Wie kann ich Signaturen aus einem Deb-Paket entfernen, das mit einem GPG-Schlüssel von dpkg-sig signiert wurde?
Ich habe ein bestimmtes Apt-Repository eingerichtet, das mich nach Recherche und Tests dazu veranlasst hat, meine Deb-Pakete manuell zu signieren.
Ich habe es an einem Paket getestet und es mehrmals mit demselben Schlüssel signiert. Jetzt sind drei Signaturen um das Deb-Paket gewickelt.
Der zum Signieren des Pakets verwendete Befehl war:
dpkg-sig -k ######## --sign bulder xul-ext-ubufox_3.0-0ubuntu0.14.10.1_all.deb
Antwort1
Ich bin nicht sicher, ob es einen besseren Weg gibt, aber Sie könnten die Signatur zumindest „manuell“ entfernen mit ar
:
ar d "$yourpackage.deb" _gpgbuilder
(oder außerdem zusätzliche Dinge, _gpgbuilder
wenn Sie „drei Signaturen“ erreicht haben, indem Sie andere Rollennamen als „Builder“ angegeben haben).
Dies funktioniert, weil .deb-Dateien auf der äußersten Ebene im Wesentlichen nur „ar“-Archive sind und eingebettete Deb-Signaturen in dieser äußersten Ebene gespeichert werden. Es gibt einen kleinen Unterschied zwischen mit dpkg erstellten und mit ar erstellten .debs, daher ist es normalerweise eine gute Idee, beim Bearbeiten von Deb-Dateien bei echten dpkg-Tools zu bleiben, aber alle modernen Tools (soweit ich weiß) können beide problemlos verarbeiten.
Antwort2
Bei eingebetteten Signaturen können Sie die .deb
Datei mit öffnen file-roller
und die eingebettete Signaturdatei entfernen. Sie können auch ar mit verwenden ar d package.deb _gpgbuilder
.
Bei getrennten Signaturen können Sie die xul-ext-ubufox_3.0-0ubuntu0.14.10.1.dsc
Datei einfach in einem Texteditor öffnen und sollten in der Lage sein, die zusätzlichen Signaturblöcke vom Ende der Datei zu entfernen.
Wenn Sie dasselbe auch für das Quellpaket getan haben, können Sie eine ähnliche Aktion für die _source.changes
Datei ausführen.