apt upgrade時に401 Unauthorizedと表示されうまくいかない【Ubuntu】

July 21, 2024, 3:08 a.m. edited July 21, 2024, 3:17 a.m.

#Linux 

とある Ubuntu 20.04 を 22.04 に上げるため do-release-upgrade しようとしたが、その前に apt update および apt upgrade が必要である。そこで、それらを実行したところ、 apt update はうまくいったが、 apt upgrade のときに

Do you want to continue? [Y/n] Y
Get:1 http://nova.clouds.archive.ubuntu.com/ubuntu bionic-updates/main amd64 motd-news-config all 10.1ubuntu2.12 [4,440 B]
Get:2 http://nova.clouds.archive.ubuntu.com/ubuntu bionic-updates/main amd64 base-files amd64 10.1ubuntu2.12 [60.4 kB]
Err:3 https://esm.ubuntu.com/infra/ubuntu bionic-infra-security/main amd64 libc6-dbg amd64 2.27-3ubuntu1.6+esm3
  401  Unauthorized [IP: 2620:2d:4000:1::2f 443]
Err:4 https://esm.ubuntu.com/infra/ubuntu bionic-infra-security/main amd64 libc6 amd64 2.27-3ubuntu1.6+esm3
  401  Unauthorized [IP: 2620:2d:4000:1::2f 443]
...
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

などと表示され、まったく apt upgrade がうまくいかない。そこで調べたところ、 ESM 401 Unauthorized error on Ubuntu 16.04 が引っかかった。このうち、アクセプトされたアンサーについていたコメントを実行したところ apt upgrade が通るようになった。それは、

apt purge ubuntu-advantage-tools --autoremove

を実行するというもので、これによりおそらく authorized 判定などをしている ESM が消えるなどして解決されたのだろう(多分)。

その後、 do-release-upgrade も無事にできた。

なお、そもそもアップグレードした理由も紹介すると、 docker-compose での build が ERROR: missing signature key というエラーが出て通らなくなったためである。その理由が古い Docker を使っていたためらしかったので、この際に色々更新した(Ubuntu上げた後、Docker自体も古いのをアンインストールしてから新規インストールした)ということである。