[WSL2 Ubuntu22.04] sudo apt update時のエラー

# 実行環境
Ubuntu22.04LTS(WSL2)

# エラー内容
```zsh:zsh(ubuntu)
$ sudo apt update
Ign:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Ign:2 http://security.ubuntu.com/ubuntu jammy-security InRelease
Ign:3 https://download.docker.com/linux/ubuntu jammy InRelease
Ign:4 http://archive.ubuntu.com/ubuntu jammy-updates InRelease
Ign:5 http://archive.ubuntu.com/ubuntu jammy-backports InRelease
Ign:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Ign:2 http://security.ubuntu.com/ubuntu jammy-security InRelease
Ign:3 https://download.docker.com/linux/ubuntu jammy InRelease
Ign:4 http://archive.ubuntu.com/ubuntu jammy-updates InRelease
Ign:5 http://archive.ubuntu.com/ubuntu jammy-backports InRelease
Ign:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Ign:2 http://security.ubuntu.com/ubuntu jammy-security InRelease
Ign:3 https://download.docker.com/linux/ubuntu jammy InRelease
Ign:4 http://archive.ubuntu.com/ubuntu jammy-updates InRelease
Ign:5 http://archive.ubuntu.com/ubuntu jammy-backports InRelease
Err:1 http://archive.ubuntu.com/ubuntu jammy InRelease
  Temporary failure resolving 'archive.ubuntu.com'
Err:2 http://security.ubuntu.com/ubuntu jammy-security InRelease
  Temporary failure resolving 'security.ubuntu.com'
Err:3 https://download.docker.com/linux/ubuntu jammy InRelease
  Temporary failure resolving 'download.docker.com'
Err:4 http://archive.ubuntu.com/ubuntu jammy-updates InRelease
  Temporary failure resolving 'archive.ubuntu.com'
Err:5 http://archive.ubuntu.com/ubuntu jammy-backports InRelease
  Temporary failure resolving 'archive.ubuntu.com'
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/jammy/InRelease  Temporary failure resolving 'archive.ubuntu.com'
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/jammy-updates/InRelease  Temporary failure resolving 'archive.ubuntu.com'
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/jammy-backports/InRelease  Temporary failure resolving 'archive.ubuntu.com'
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/jammy-security/InRelease  Temporary failure resolving 'security.ubuntu.com'
W: Failed to fetch https://download.docker.com/linux/ubuntu/dists/jammy/InRelease  Temporary failure resolving 'download.docker.com'
W: Some index files failed to download. They have been ignored, or old ones used instead.
```
![error_message](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1695646/a7116253-7a81-4ec0-7da1-1710d13cab7b.png)

# やったこと

## 古いレポジトリが`update`時に参照されるリストに残留していないか確認
[この質問](https://askubuntu.com/questions/1423498/impish-security-release-error-on-ubuntu-22-04-lts-while-running-sudo-apt-update)を参考に

```zsh:zsh(Ubuntu)
$ grep -nvr "^#" /etc/apt/ | grep impish
grep: /etc/apt/trusted.gpg.d/ubuntu-keyring-2018-archive.gpg: binary file matches
grep: /etc/apt/trusted.gpg.d/ubuntu-keyring-2012-cdimage.gpg: binary file matches
grep: /etc/apt/keyrings/docker.gpg: binary file matches

$ grep -nvr "^#" /etc/apt/ | grep archive.ubuntu.com
grep: /etc/apt/trusted.gpg.d/ubuntu-keyring-2018-archive.gpg: binary file matches
grep: /etc/apt/trusted.gpg.d/ubuntu-keyring-2012-cdimage.gpg: binary file matches
grep: /etc/apt/keyrings/docker.gpg: binary file matches
/etc/apt/sources.list:3:deb http://archive.ubuntu.com/ubuntu/ jammy main restricted
/etc/apt/sources.list:8:deb http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted
/etc/apt/sources.list:14:deb http://archive.ubuntu.com/ubuntu/ jammy universe
/etc/apt/sources.list:16:deb http://archive.ubuntu.com/ubuntu/ jammy-updates universe
/etc/apt/sources.list:24:deb http://archive.ubuntu.com/ubuntu/ jammy multiverse
/etc/apt/sources.list:26:deb http://archive.ubuntu.com/ubuntu/ jammy-updates multiverse
/etc/apt/sources.list:34:deb http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse
```

こんな感じでgrep検索をかけてみたものの、元の質問と自分のエラーは原因が違いそうだと思い何も変更せず。

**エラーに表示されているURLのドメインが`http://in.archive.ubuntu.com/`となっている場合、`sources.list`で`http://archive.ubuntu.com/ubuntu`と変更すると治る場合があるらしい**([参考](https://askubuntu.com/questions/1423498/impish-security-release-error-on-ubuntu-22-04-lts-while-running-sudo-apt-update))が、自分の場合は元々`http://archive.ubuntu.com/`であったため関係なかった。

## wslのdateが正しく設定されていることを確認
[この記事](https://knkomko.hatenablog.com/entry/2022/05/04/191406)を参考にUbuntuの日時がWindowsと一致していることを確認した。

```zsh:zsh(Ubuntu)
$ date
# 出力が現在の日時と一致していることを確認、一致していなければ
```

自分の環境では一致していたため何も操作は必要なかったが、日時のズレがあった場合[この記事](https://knkomko.hatenablog.com/entry/2022/05/04/191406)を参考に進めると解決するかもしれない。

## `/etc/wsl.conf`の書き換え
Google検索した際に出てきた複数の記事を参考に、`/etc/wsl.conf`に
```conf:/etc/wsl.conf
[network]
generateResolvConf = false
```

このように書き足してみたが、効果はなかった。
改めて書くほどのことではないが、編集する時は
```zsh:zsh(Ubuntu)
# vimを使う場合
vim /etc/wsl.conf
# nanoを使う場合
nano /etc/wsl.conf
```
など任意のエディターで編集できる。

# 解決策
```zsh:zsh(Ubuntu)
$ echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null
$ sudo apt update
Hit:1 https://download.docker.com/linux/ubuntu jammy InRelease
Hit:2 http://archive.ubuntu.com/ubuntu jammy InRelease
Get:3 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Get:4 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [114 kB]
Get:5 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [99.8 kB]
Fetched 324 kB in 1s (221 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
```
これで、GoogleのDNSサーバー(8.8.8.8)を`/etc/resolv.conf`で指定する。
実際に下のように内容を確認すると、正しく指定されていることがわかる。
```zsh:zsh(Ubuntu)
$ cat /etc/resolv.conf
nameserver 8.8.8.8
```

# それでも治らない場合
自分の環境ではこれで解決したが、8.8.8.8(GoogleのDNSサーバー)では解決しない場合があるようである。
その場合は[WSLにてapt update時の『Temporary failure resolving ~』を解決する方法](https://qiita.com/ryosukeYamazaki/items/c04ec3ff78aac6eb8d26#%E5%95%8F%E9%A1%8C)も参照するといいかもしれない。

# 参考にしたサイト
- [apt-get update fails to fetch files, “Temporary failure resolving …” error](https://askubuntu.com/questions/91543/apt-get-update-fails-to-fetch-files-temporary-failure-resolving-error)
- [impish security release error on Ubuntu 22.04 LTS while running sudo apt update](https://askubuntu.com/questions/1423498/impish-security-release-error-on-ubuntu-22-04-lts-while-running-sudo-apt-update)
- [Ubuntu 22.04 apt update でエラー "jammy-security/InRelease is not valid yet" の解決方法](https://knkomko.hatenablog.com/entry/2022/05/04/191406)
- [WSLにてapt update時の『Temporary failure resolving ~』を解決する方法](https://qiita.com/ryosukeYamazaki/items/c04ec3ff78aac6eb8d26)