さくらインターネットのVPS(1Gプラン)でUbuntu20.04から22.04にアップグレードしたら、sudo apt updateが使えなくなった。

以後、同じような症状に嵌まらないように解決した手順をメモしておく。

VPS(仮想専用サーバー)|さくらインターネット


最初にアップグレードした後の症状について記載しておくと、

$ sudo apt update
無視:1 http://security.ubuntu.com/ubuntu jammy-security InRelease
無視:2 http://jp.archive.ubuntu.com/ubuntu jammy InRelease # 途中省略 エラー:2 http://jp.archive.ubuntu.com/ubuntu jammy InRelease 'jp.archive.ubuntu.com' が一時的に解決できません # 最後まで省略

※ OSを日本語化対応しています。


sudo apt updateしたら、上記のようにリポジトリにアクセスすると虫され、エラーが返ってきた。

無視:2のリポジトリのURLのドメインがjp.archive.ubuntu.comだったので、/etc/apt/sources.list内のjp.archive.ubuntu.comの記述をarchive.ubuntu.comに変更して再びsudo apt updateをしてみたが解決せず。


VPSのネットワークが怪しいので、ping google.comをしてみたところ、

$ ping google.com
ping: google.com: 名前解決に一時的に失敗しました

の結果が返ってきた。


上記問題を解決するために、/etc/resolv.confを開き、

nameserver 127.0.0.53
search DOMAINS DOMAINS6

のところを

nameserver 8.8.8.8
search DOMAINS DOMAINS6

に変更してみたところ、sudo apt updateが動作するようになった。

nameserver 8.8.8.8はGoogle DNSになるが、元の記述のどこに誤りがあるか?がわからないので、Google DNSにお世話になることにしよう。

Domain Name System - Wikipedia


余談

さくらインターネットのVPS(2Gプラン)をもう一台借りていて、そちらはsudo apt updateできるので、resolv.confを見てみたら、

nameserver 127.0.0.53
options edns0 trust-ad
search .

になっていた。


2022年10月17日追記

Ubuntuでは/etc/resolve.confを直接編集してはいけないらしい。

OSを再起動すると、resolve.confの記述が初期化されてしまう。


代わりに/etc/systemd/resolved.confの方を変更する。

/etc/systemd/resolved.confの末尾に

DNS=8.8.8.8

を追記し、resolved.confの変更後に

$ sudo systemctl restart systemd-resolved

を行う。