Como posso verificar se uma chave PGP é importada para o RPM?

12

Pode-se importar uma chave com:

rpm --import /path/to/key

Mas como você pode saber mais tarde se já importou essa chave? Tentar reimportá-lo falhará com um erro e estou tentando evitar isso, pois estou usando o Puppet para instalar a chave.

    
por Matthew Scharley 22.09.2011 / 03:22

3 respostas

10

Você pode verificar novamente se uma chave já foi importada usando rpm -qi gpg-pubkey-<version>-<release> . Se ele estiver instalado, o rpm fornecerá todas as informações sobre ele, caso contrário, ele sairá com um valor de retorno igual a 1, portanto, você poderá adicionar à sua receita de fantoches um parâmetro unless :

exec { "rpm --import /path/to/package":
  # ...
  unless => "rpm -qi gpg-pubkey-<version>-<release> > /dev/null 2>&1"
}
    
por 22.09.2011 / 04:05
5

Cada chave importada adiciona uma entrada rpmdb de gpg-pubkey-<left(hex(fingerprint), 8)>-<encoded import date> . Basta verificar esse nome ( gpg-pubkey ) e a versão apropriada (os primeiros 8 caracteres da impressão digital da chave em hexadecimal) no rpmdb.

    
por 22.09.2011 / 03:46
1

Se você quiser apenas verificar se a chave é importada (sem processar essas informações programaticamente), é possível listar todas as chaves assim:

rpm -qi gpg-pubkey-\* | grep -E ^Packager

ou para os IDs:

rpm -qi gpg-pubkey-\* | grep -E "^Version  "

Isso pode parecer óbvio para muitos, mas suponho que para alguns é uma resposta mais direta (pelo menos a manchete da) questão.

    
por 25.05.2017 / 10:57

Tags