Ubuntu 14.04 LTS + Jenkins 운영 중 발생한 GPG error 발생에 대한 처리.
Jenkins Server 설치 후 마음먹고 version update 시도 했으나, error message 부터 만났다.
[ Error case ]
$ sudo apt-get update
.....
W: GPG error: https://pkg.jenkins.io binary/ Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY FCEF32E745F2C3D5
[ Resolve ]
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys FCEF32E745F2C3D5
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.FjsBEAHsJi --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv-keys FCEF32E745F2C3D5
gpg: requesting key 45F2C3D5 from hkp server keyserver.ubuntu.com
gpg: key 45F2C3D5: public key "Jenkins Project <jenkinsci-board@googlegroups.com>" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
$ sudo apt-get update
.....
Fetched 833 B in 20s (41 B/s)
Reading package lists... Done
Error case는 간단한 명령어 한줄로 해결되었으니..
명령어의 의미가 궁금해졌다.
--------------------------------------------
$ apt-key -help
"apt-key는 apt가 패키지를 인증하는데 사용하는 키 리스트를 관리하는데 사용하는 유틸" 이라고 설명하고 있다. (http://manpages.ubuntu.com/manpages/bionic/man8/apt-key.8.html)
그럼 apt는?? (평소에 아무런 의심없이 사용해왔던 명령어(?기능) 들에 대한 정의를 모르고 있었다. 반성하자..ㅜ.ㅜ )
apt는 패키지 관리를 위한 high-level command line 인터페이스라고 정의가 되어 있다.
(http://manpages.ubuntu.com/manpages/hirsute/en/man8/apt.8.html)
처음으로 돌아가서.. 명령어에 대한 의미에 대한 정리를 해보자.
"sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys [Key]"
"gpg(GunPG, the GNU Privacy Guard)명령을 통해 keyserver.ubuntu.com에서 [Key] 에 대한 public key를 apt가 패키지를 인증하는데 사용하는 key list에서 추가한다." 의 의미가 된다.
ubuntu man page에는 --keyserver option 이 나오지 않는다.
gnupg.org(https://www.gnupg.org/documentation/manuals/gnupg/GPG-Configuration-Options.html) GPG Opitons page 에 deprecated 되었다고 나온다. ( 옵션 리스트에 나오지 않는 이유가 있었다.)
dirmngr.conf 사용에 대한 방법은 다시 정리를 해 봐야겠다.
--keyserver name
This option is deprecated - please use the --keyserver in dirmngr.conf instead.
Use name as your keyserver. This is the server that --receive-keys, --send-keys, and --search-keys will communicate with to receive keys from, send keys to, and search for keys on. The format of the name is a URI: ‘scheme:[//]keyservername[:port]’ The scheme is the type of keyserver: "hkp" for the HTTP (or compatible) keyservers, "ldap" for the LDAP keyservers, or "mailto" for the Graff email keyserver. Note that your particular installation of GnuPG may have other keyserver types available as well. Keyserver schemes are case-insensitive. After the keyserver name, optional keyserver configuration options may be provided. These are the same as the global --keyserver-options from below, but apply only to this particular keyserver.
댓글 없음:
댓글 쓰기