apt-key deprecation warning when updating system

Debian / Ubuntu 계열에서 apt 관련 작업시 아래와 같은 경고가 발생하는 경우

W: https://downloads.plex.tv/repo/deb/dists/public/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
W: https://packages.microsoft.com/repos/edge/dists/stable/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
W: https://download.sublimetext.com/apt/stable/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
W: https://repo.whale.naver.com/stable/deb/dists/stable/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.

위와같은 오류가 발생하는 이유는

Debian 12 / Ubuntu 22 이상 버전에서부터는 GPG 인증서 키를 apt-key로 직접 등록해서 /etc/apt/trusted.gpg에 포함시켜 사용하는것을 권장하지 않기 때문이다.

root@plex:~# 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   rsa4096 2015-03-22 [SC]
      CD66 5CBA 0E2F 88B7 373F  7CB9 9720 3C7B 3ADC A79D
uid           [ unknown] Plex Inc.
sub   rsa4096 2015-03-22 [E]

/etc/apt/trusted.gpg.d/debian-archive-bookworm-automatic.asc
------------------------------------------------------------
pub   rsa4096 2023-01-21 [SC] [expires: 2031-01-19]
      B8B8 0B5B 623E AB6A D877  5C45 B7C5 D7D6 3509 47F8
uid           [ unknown] Debian Archive Automatic Signing Key (12/bookworm) <ftpmaster@debian.org>
sub   rsa4096 2023-01-21 [S] [expires: 2031-01-19]

/etc/apt/trusted.gpg.d/debian-archive-bookworm-automatic.gpg
------------------------------------------------------------
pub   rsa4096 2023-01-21 [SC] [expires: 2031-01-19]
      B8B8 0B5B 623E AB6A D877  5C45 B7C5 D7D6 3509 47F8
uid           [ unknown] Debian Archive Automatic Signing Key (12/boo

위와같이 apt-key list명령어로 확인해보면 아래처럼 Plex관련 GPG key가 포함되어있는것을 확인할수 있다. 이제는 이것을 여기에 포함시키면 안되고 별도의 파일로 만들어 /etc/apt/trusted.gpg.d/ 디렉토리에 넣어서 사용해야 한다.

pub   rsa4096 2015-03-22 [SC]
      CD66 5CBA 0E2F 88B7 373F  7CB9 9720 3C7B 3ADC A79D
uid           [ unknown] Plex Inc.
sub   rsa4096 2015-03-22 [E]

아래 명령어로 해당 GPG Key를 추출하여 /etc/apt/trusted.gpg.d/ 디렉토리에 넣어준다.
키의 ID값은 맨 뒤 8글자를 입력하면 된다.

root@host:~# apt-key export 3ADCA79D | gpg --dearmour -o /etc/apt/trusted.gpg.d/plex.gpg

# 그리고 기존에 trusted.gpg에 포함되어있던 키는 삭제해준다.

root@host:~# apt-key del 3ADCA79D
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
OK

참조링크