Ubuntu 22.04 (WSL) で apt-key を使ってしまった後の対処方法

概要

これまで Docker のインストール時に apt-key を使っていましたが、Ubuntu 22.04 では非推奨の旨が表示されます。 これについての対処方法です。

事象

Ubuntu 20.04 (WSL) に Dockerをインストール の通り、Ubuntu 20.04 では下記のような手順で docker をインストールしていました。

$ sudo apt -y install apt-transport-https ca-certificates curl software-properties-common

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -a

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

$ sudo apt update
$ sudo apt -y install docker-ce
$ sudo usermod -a -G docker ${USER}

Ubuntu 22.04 では apt-key 実行時、OK とはなりますが、”Warning: apt-key is deprecated.” という警告が出ます。

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -a
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
OK

対処方法

信頼された鍵の表示

trusted keys を表示します。 Docker の key (9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88) が登録されています。

$ 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   rsa4096 2017-02-22 [SCEA]
      9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid           [ unknown] Docker Release (CE deb) <docker@docker.com>
sub   rsa4096 2017-02-22 [S]

/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>

信頼された鍵から削除

最後の8桁を指定します。

$ sudo apt-key del 0EBFCD88
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
OK

削除されたことを確認

$ 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.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>

etc/apt/keyrings が存在することを確認

$ ls -la /etc/apt/keyrings/
total 8
drwxr-xr-x 2 root root 4096 Apr  8  2022 .
drwxr-xr-x 8 root root 4096 Apr 30 16:07 ..

gpg コマンドで登録

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

パーミッションの変更

(実行しても変わらなかったので実行しなくてもよいかもしれない)

$ sudo chmod a+r /etc/apt/keyrings/docker.gpg
Copied title and URL