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

1

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 eu configurei, o qual através 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 há 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
    
por naisanza 15.04.2015 / 23:12

2 respostas

3

Não tenho certeza se existe uma maneira melhor, mas pelo menos você pode remover a assinatura "manualmente" com ar :

ar d "$yourpackage.deb" _gpgbuilder

(ou coisas adicionais além de _gpgbuilder se você tiver "três assinaturas", dando nomes de papéis diferentes de "construtor").

Isso funciona porque os arquivos .deb, na camada mais externa, são essencialmente apenas arquivos "ar" e os sigs deb embutidos são armazenados nessa camada mais externa. Existe uma pequena diferença entre os arquivos .debs criados com o dpkg e aqueles criados com o ar, então normalmente é uma boa idéia manter as ferramentas do dpkg ao manipular os arquivos deb, mas todas as ferramentas modernas (afaik) podem manipular ambas bem.

    
por the paul 16.04.2015 / 06:50
0

Para assinaturas incorporadas, você pode abrir o arquivo .deb com file-roller e remover o arquivo de assinatura incorporado. Você também pode usar ar com ar d package.deb _gpgbuilder .

Para assinaturas desanexadas, basta abrir o arquivo xul-ext-ubufox_3.0-0ubuntu0.14.10.1.dsc em um editor de texto e remover os blocos extras de assinatura da parte inferior do arquivo.

Se você fez o mesmo com o pacote de origem, poderá executar uma ação semelhante no arquivo _source.changes .

    
por dobey 15.04.2015 / 23:41