
Como posso remover assinaturas de um pacote deb assinado com uma chave gpg pelo dpkg-sig?
Eu tenho um repositório apt específico que configurei, que por meio de pesquisas e testes me levou a assinar manualmente meus pacotes deb.
Eu testei em um pacote e assinei várias vezes com a mesma chave. Agora existem três assinaturas envolvidas no pacote deb.
O comando usado para assinar o pacote foi:
dpkg-sig -k ######## --sign bulder xul-ext-ubufox_3.0-0ubuntu0.14.10.1_all.deb
Responder1
Não tenho certeza se existe uma maneira melhor, mas pelo menos você poderia remover a assinatura "manualmente" com ar
:
ar d "$yourpackage.deb" _gpgbuilder
(ou outras coisas além de _gpgbuilder
se você conseguiu ter "três assinaturas" fornecendo nomes de funções diferentes de "construtor").
Isso funciona porque os arquivos .deb, na camada mais externa, são essencialmente apenas arquivos "ar", e os deb sigs incorporados são armazenados nessa camada mais externa. Há uma pequena diferença entre .debs criados com dpkg e aqueles criados com ar, então normalmente é uma boa ideia usar ferramentas reais do dpkg ao manipular arquivos deb, mas todas as ferramentas modernas (afaik) podem lidar com ambos perfeitamente.
Responder2
Para assinaturas incorporadas, você pode abrir o .deb
arquivo com file-roller
e remover o arquivo de assinatura incorporada. Você também pode usar ar com ar d package.deb _gpgbuilder
.
Para assinaturas desanexadas, você pode simplesmente abrir o xul-ext-ubufox_3.0-0ubuntu0.14.10.1.dsc
arquivo em um editor de texto e remover os blocos extras de assinatura da parte inferior do arquivo.
Se você fez o mesmo para o pacote fonte, poderá executar uma ação semelhante no _source.changes
arquivo.