Rpm

如何驗證 PGP 密鑰是否已導入 RPM?

  • December 16, 2020

可以通過以下方式導入密鑰:

rpm –import /path/to/key

但是你以後怎麼知道你是否已經導入了這個密鑰?嘗試重新導入它會失敗並出現錯誤,我正在嘗試避免這種情況,因為我正在使用 Puppet 安裝密鑰。

您可以使用 . 仔細檢查密鑰是否已導入rpm -qi gpg-pubkey-<version>-<release>。如果已安裝,rpm 將為您提供有關它的所有資訊,如果沒有,它將以返回值 1 退出,因此您可以在 puppet 配方中添加一個unless參數:

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

導入的每個密鑰都會添加一個 rpmdb 條目gpg-pubkey-<left(hex(fingerprint), 8)>-<encoded import date>。只需在 rpmdb 中檢查該名稱 ( gpg-pubkey) 和適當的版本(密鑰指紋的前 8 個字元,以十六進製表示)。

引用自:https://unix.stackexchange.com/questions/21226