
Как удалить подписи из 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
файлом.