Err:4 https://download.docker.com/linux/ubuntu focal InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 7EA0A9C3F273FCD8
Hit:7 http://security.ubuntu.com/ubuntu focal-security InRelease
Reading package lists... Done
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://download.docker.com/linux/ubuntu focal InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 7EA0A9C3F273FCD8
W: Failed to fetch https://download.docker.com/linux/ubuntu/dists/focal/InRelease The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 7EA0A9C3F273FCD8
W: Some index files failed to download. They have been ignored, or old ones used instead.
sudo apt-get update
도중 위와 같은 에러가 발생했다. 구글링을 통해 여러 방법을 시도해봤지만 에러가 해결되지 않았다. 그러던 중 같은 형식의 다른 에러를 발견했고, 그 방법을 내 에러에 적용하니 해결이 되었다.
하루종일 구글링을 통해서도 이 방법을 발견하지 못했었으니, 나와 같은 에러를 겪고 있는 분들을 위해 글을 남기기로 했다.
에러를 보면 PUBKEY가 없다고 뜨니 해당 PUBKEY를 추가해주면 된다.
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <PUBKEY>
<PUBKEY>
에는 에러로그에 없다고 한 key를 넣어주면 된다. 나의 경우에는 7EA0A9C3F273FCD8를 넣어주면 된다.
-> 실패
현재 다운받아져 있는 파일의 버전이 ubuntu 버전과 맞지 않아 발생하는 문제일 수도 있다.
cd /etc/apt
sudo vi sources.list
sources.list 파일 안에 들어가서 deb [arch=amd64] https://download.docker.com/linux/ubuntu
로 시작하는 줄을 모두 주석(#)처리하고 deb [arch=amd64] https://download.docker.com/linux/ubuntu eoan stable
를 추가했다.
참고로 나는 ubuntu 20.04 버전이다.
-> 실패
이 글은 PUBKEY 7EA0A9C3F273FCD8
만을 위한 방법은 아니다. 실제로 나는 하나의 에러만 난 것이 아니라 여러 군데에서 에러가 났기 때문에 이 방법을 사용했다. 파일을 지웠다가 다시 만드는 과정이기 때문에 이 방법은 넘기고 다음 방법으로 넘어가도 좋다.
참고 : https://serverfault.com/questions/851724/apt-key-add-on-debian-stretch-no-valid-openpgp-data-found
위 답변 글에서 하는 말을 보면 /etc/apt/trusted.gpg
파일이 손상되어서 그럴 수도 있다고 한다.
그래서 이 파일 안을 보았더니 엄청 복잡한 글자로 이루어져 있다. ㅋㅋ.. 분석할 생각은 접고 일단 저 글을 따라했다.
sudo su
gpg --keyserver keyring.debian.org --recv-keys 8B48AD6246925553
cd /etc/apt
rm trusted.gpg
gpg --export 8B48AD646925553 >> trusted.gpg
-> 실패
진짜 이 방법은 어느 블로그나 질문글을 찾아봐도 없던 방법이다.... 잘했어 나 자신
가장 간단한 방법..
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
위 코드를 실행 후 sudo apt-get update
를 해보면 제대로 동작되는 것을 볼 수 있다.
나는 docker에서 에러가 났기때문에 위 코드를 쳤고, 다른 곳에서 에러가 발생하는 경우는 그에 맞는 key 추가 방법을 찾으면 된다.
-> 성공!
끝! 이제 모두 즐코딩을 하러 가자!