Assinei um pacote deb várias vezes, agora como posso remover uma assinatura?

Assinei um pacote deb várias vezes, agora como posso remover uma assinatura?

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 _gpgbuilderse 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 .debarquivo com file-rollere 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.dscarquivo 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.changesarquivo.

informação relacionada