반응형
우분투 패키지 관리자에서 GPG 키 관련 오류 해결
GPG 키 관련 문제가 발생하면 apt-keyring을 사용하여 오류를 해결합니다.
$ sudo apt-get update
Hit:1 https://mirror.kakao.com/ubuntu jammy InRelease
...
Fetched 2,857 kB in 2s (1,337 kB/s)
Reading package lists... Done
W: https://nginx.org/packages/ubuntu/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
1. apt-key 삭제
현재 시스템에 등록된 모든 키를 확인하고 삭제합니다.
sudo apt-key list
$ sudo apt-key list
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
/etc/apt/trusted.gpg
--------------------
pub rsa2048 2011-08-19 [SC] [expires: 2024-06-14]
573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62
uid [ unknown] nginx signing key <signing-key@nginx.com>
/etc/apt/trusted.gpg.d/ubuntu-keyring-2012-cdimage.gpg
------------------------------------------------------
pub rsa4096 2012-05-11 [SC]
8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092
uid [ unknown] Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com>
/etc/apt/trusted.gpg.d/ubuntu-keyring-2018-archive.gpg
------------------------------------------------------
pub rsa4096 2018-09-17 [SC]
F6EC B376 2474 EDA9 D21B 7022 8719 20D1 991B C93C
uid [ unknown] Ubuntu Archive Automatic Signing Key (2018) <ftpmaster@ubuntu.com>
목록에서 nginx와 관련된 키를 찾아서 삭제합니다.
sudo apt-key del KEY_ID
echo "573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62" | tr -d ' '
$ echo "573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62" | tr -d ' '
573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
sudo apt-key del 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
$ sudo apt-key del 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
OK
728x90
2. apt-keyring 설치
최신 버전의 Ubuntu에서는 apt-keyring 패키지를 통해 GPG 키를 관리합니다.
sudo apt-get update
sudo apt-get install -y gnupg
3. GPG 키 추가
GPG 키를 직접 추가합니다.
wget https://nginx.org/keys/nginx_signing.key
$ wget https://nginx.org/keys/nginx_signing.key
--2023-11-18 00:13:25-- https://nginx.org/keys/nginx_signing.key
Resolving nginx.org (nginx.org)... 52.58.199.22, 3.125.197.172, 2a05:d014:edb:5704::6, ...
....
nginx_signing.key 100%[======================================>] 1.52K --.-KB/s in 0s
2023-11-18 00:13:26 (1.19 GB/s) - ‘nginx_signing.key’ saved [1561/1561]
gpg --dearmor -o /usr/share/keyrings/nginx-archive-keyring.gpg nginx_signing.key
4. apt 소스 업데이트
sources.list 파일을 열어서 기존의 apt-key 관련 설정을 수정하고, 새로운 GPG 키를 사용하도록 업데이트합니다.
vim /etc/apt/sources.list
파일 내용 중 기존의 deb 라인을 수정하여 아래와 같이 변경합니다.
deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] https://nginx.org/packages/ubuntu/ jammy nginx
파일을 저장한 후에 다음 명령어를 실행하여 업데이트합니다.
sudo apt-get update
$ sudo apt-get update
Hit:1 https://mirror.kakao.com/ubuntu jammy InRelease
Hit:2 https://mirror.kakao.com/ubuntu jammy-updates InRelease
Hit:3 https://mirror.kakao.com/ubuntu jammy-backports InRelease
Hit:4 https://mirror.kakao.com/ubuntu jammy-security InRelease
Hit:5 https://deb.nodesource.com/node_18.x nodistro InRelease
Hit:6 https://ppa.launchpadcontent.net/ansible/ansible/ubuntu jammy InRelease
Hit:7 https://nginx.org/packages/ubuntu jammy InRelease
Reading package lists... Done
이제 위의 단계를 따르면 GPG 키를 올바르게 관리하고, 더 이상 apt-key를 사용하지 않도록 설정할 수 있습니다.
더보기
---
sudo apt-key list
sudo apt-key del 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
wget https://nginx.org/keys/nginx_signing.key -O /etc/apt/trusted.gpg.d/nginx_signing.key
vim /etc/apt/sources.list.d/nginx_org_packages_ubuntu.list
deb [signed-by=/etc/apt/trusted.gpg.d/nginx_signing.key] https://nginx.org/packages/ubuntu/ jammy nginx
sudo apt-get update
$ sudo apt-get update
Hit:1 https://mirror.kakao.com/ubuntu jammy InRelease
Hit:2 https://mirror.kakao.com/ubuntu jammy-updates InRelease
Hit:3 https://mirror.kakao.com/ubuntu jammy-backports InRelease
Hit:4 https://mirror.kakao.com/ubuntu jammy-security InRelease
Hit:5 https://nginx.org/packages/ubuntu jammy InRelease
Reading package lists... Done
---
728x90
반응형
'리눅스' 카테고리의 다른 글
CentOS 7에서 Gradle을 설치하는 방법 (0) | 2023.11.20 |
---|---|
CentOS 7에서 JDK 17(JAVA)을 설치하는 방법 (0) | 2023.11.20 |
ngrep 명령어 (0) | 2023.11.16 |
procps와 procps-ng의 주요 차이점 (0) | 2023.11.15 |
ps 명령어 (0) | 2023.11.15 |