Я подписал deb-пакет несколько раз. Как мне теперь удалить подпись?

Я подписал deb-пакет несколько раз. Как мне теперь удалить подпись?

Как удалить подписи из deb-пакета, подписанного ключом gpg с помощью dpkg-sig?

У меня есть специальный репозиторий 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-сигнатуры хранятся на этом самом внешнем уровне. Существует небольшая разница между .deb, созданными с помощью dpkg, и теми, которые созданы с помощью ar, поэтому обычно лучше придерживаться настоящих инструментов dpkg при работе с deb-файлами, но все современные инструменты (насколько мне известно) прекрасно справляются с обоими.

решение2

Для встроенных подписей вы можете открыть .debфайл с помощью file-rollerи удалить встроенный файл подписи. Вы также можете использовать ar с ar d package.deb _gpgbuilder.

Для отсоединенных подписей вы можете просто открыть xul-ext-ubufox_3.0-0ubuntu0.14.10.1.dscфайл в текстовом редакторе и удалить лишние блоки подписи в нижней части файла.

Если вы проделали то же самое с исходным пакетом, вы можете выполнить аналогичное действие с _source.changesфайлом.

Связанный контент