ゴールデンウイーク中暇なので、とりあえず感満載で、WSL2のubuntu 22.04を24.04 LTSにアップデートしようと思います。
方針
バージョンアップは以下の手順で行いました。軽くやってみるとLTS->LTSからよりこちらほうが簡単だったからです。
- 22.04 LTSから23.10
- 23.10から 24.04 LTS
22.04 LTSから23.10
まずは22.04から23.10にアップデートします。
$ sudo apt update && sudo apt full-upgrade
$ sudo vi /etc/update-manager/release-upgrades
### ltsからnormalに書き換える
set Prompt=normal
$ sudo do-release-upgrade -d
いろいろと不要なdebパッケージを消す
アップデートしようとすると、色々とエラーになるので、まずは不要そうなのをapt removeしました。
不要そうなdebパッケージを消したら、do-release-upgrade自体も消えてしまったので、以下のように再インストールします。
$ sudo apt install ubuntu-release-upgrader-core
WSL2を再起動する
アップデートできた感じだったので、以下でWSL2を再起動します。”Ubuntu-20.04″はインストールしたディストリビューション名です。
PS C:\Users\kanoh> wsl -l
Linux 用 Windows サブシステム ディストリビューション:
Ubuntu-20.04 (既定)
CentOS8Stream
PS C:\Users\kanoh> wsl -t Ubuntu-20.04
23.10にしたときに、インターネットが不通になる
23.10にしたら、外部通信ができなくなりました。
というのもWSL2はsystemdではないので、/etc/resolv.confがsystemd配下になってるためです。
仕方ないので/etc/resolv.confを強引に移動してファイルを再作成しました。
106.XXX.XX.XXXは、Windows上のipconfig /allで表示したDNSサーバを指定してます。
$ sudo mv /etc/resolv.conf /etc/resolv.conf.org
$ sudo vi /etc/resolv.conf
nameserver 106.XXX.XX.XXX
23.10から24.04 LTSにアップデート
23.10から24.04 LTSも以下のように同じコマンドです。
どうでもいいことですが、do-release-upgradeには”-d”つけないと駄目でした。
$ sudo apt update && sudo apt full-upgrade
$ sudo vi /etc/update-manager/release-upgrades
### ltsからnormalに書き換える
set Prompt=normal
$ sudo do-release-upgrade -d
再起動も同様です。
PS C:\Users\kanoh> wsl -t Ubuntu-20.04
かかった時間
それぞれ1時間かかるので、時間の余裕があるときにするといいかと。
終わりに
特に問題なく終わりました。時間だけはかかりましたが。
参考
- set Prompt=normal in /etc/update-manager/release-upgrades
https://askubuntu.com/questions/1511584/cant-update-to-ubuntu-24-04-lts-on-wsl2