Bir PGP anahtarının RPM'ye aktarıldığını nasıl doğrulayabilirim?


13

Aşağıdakileri içeren bir anahtar alınabilir:

rpm - ithalat / yol / hedef / anahtar

Ancak, daha sonra bu anahtarı içe aktarıp almadığınızı nasıl anlarsınız? Yeniden içe aktarmaya çalışırken bir hata ile başarısız olur ve anahtarı yüklemek için Kukla kullandığım için bunu önlemek için çalışıyorum.

Yanıtlar:


10

Kullanarak bir anahtarın içe aktarılıp aktarılmadığını iki kez kontrol edebilirsiniz rpm -qi gpg-pubkey-<version>-<release>. Yüklü ise, rpm size tüm bilgileri verecektir, eğer değilse, sadece 1 dönüş değeri ile çıkacaktır, böylece kukla tarifinize bir unlessparametre ekleyebilirsiniz :

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

2
KEYFILE=/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release; KEYID=$(echo $(gpg --throw-keyids < $KEYFILE)|cut -c11-18|tr [A-Z] [a-z]); rpm -q gpg-pubkey-$KEYID
Buldum

2
Kesim, RHEL6 test sistemimde çalışmayan belirli bir düzene bağlar. Ve gpg artık alt anahtarların yanı sıra pub anahtarını da içeriyor. Böylece, benKEYID=$(gpg --throw-keyids $KEYFILE | sed -n '/^pub/s|^[^/]*/\([[:alnum:]]*\) .*|\1|p' | tr [[:upper:]] [[:lower:]])
dannysauer


2

Sadece anahtarın içe aktarıldığını doğrulamak istiyorsanız (bu bilgiyi programlı olarak işlemeden) aşağıdaki gibi tüm anahtarları listeleyebilirsiniz:

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

veya kimlikler için:

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

Bu birçok kişi için oldukça açık görünebilir, ancak bazıları için sorunun (en azından başlığı) daha doğrudan bir cevap olduğunu düşünüyorum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.