PGP 키를 RPM으로 가져 왔는지 어떻게 확인할 수 있습니까?


13

다음을 사용하여 키를 가져올 수 있습니다.

rpm --import / path / to / key

그러나이 키를 이미 가져 왔는지 나중에 어떻게 알 수 있습니까? 다시 가져 오려고하면 오류가 발생하고 Puppet을 사용하여 키를 설치할 때이를 피하려고합니다.

답변:


10

를 사용하여 키를 이미 가져 왔는지 다시 확인할 수 있습니다 rpm -qi gpg-pubkey-<version>-<release>. 그것이 설치되어 있다면, rpm은 그것에 관한 모든 정보를 제공 할 것입니다 unless.

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
lsd

2
컷은 특정 레이아웃에 연결되어 있으며 RHEL6 테스트 시스템에서는 작동하지 않습니다. 그리고 gpg는 이제 pub 키뿐만 아니라 하위 키도 포함합니다. 그래서 나는KEYID=$(gpg --throw-keyids $KEYFILE | sed -n '/^pub/s|^[^/]*/\([[:alnum:]]*\) .*|\1|p' | tr [[:upper:]] [[:lower:]])
dannysauer


2

프로그래밍 방식으로이 정보를 처리하지 않고 키를 가져 왔는지 확인하려는 경우 다음과 같이 모든 키를 나열 할 수 있습니다.

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

또는 ID의 경우 :

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

이것은 많은 사람들에게 명백한 것처럼 보이지만 일부는 질문에 대한 직접적인 대답이라고 생각합니다 (적어도 제목).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.