スクリプトのお勉強 技術 日記

WSL2のubuntu 22.04 LTSを24.04 LTSにアップデート

投稿日:2024年4月28日 更新日:

ゴールデンウイーク中暇なので、とりあえず感満載で、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

-スクリプトのお勉強, 技術, 日記

執筆者:

関連記事

Certbot(snap版)の起動が失敗した件

certbotの起動が失敗した 小ネタです。 なぜかSSL証明書が更新されず、Let’s Encrypt Expiry Botからたくさんメールが来るなーと思ったらcertbotの起動が失 …

Python3でMongoDBを使ってみる(MongoEngine)

仕事している過程で、ふと疑問に思うことがありました。非同期についてです。 非同期問題を解決する方法はたくさんあると思いますが、MongoDBで解決できるのかが気になったので試してみました。 非同期問題 …

Python3 – django-webtest

忙しいので断片だけ。。 DjangoでWebブラウザからアクセスする感じでテストする、やり方の一つです。以前にやったように、 Seleniumからやってもいいのすが、そこまでじゃない場合の単体テスト方 …

PythonでPKCS#12を使用して暗号/復号する

1. はじめに 仕事でVPN関係のシステム開発をすることになりました。まずは暗号機能の基本を思い出すため、Pythonで、PKCS#12の公開鍵で暗号、秘密鍵で復号するプログラムを作ってみようと思いま …

見守り用カメラを探したら意外とよかった

過去にこの記事のように実家とのビデオ通話を設定したことがあります。 が、実際には、1回しか使われませんでした。 使われない理由は、おそらく難しいから 設定も難しいですし、そもそも両親が使い始めるのも難 …

google オプトアウト Click here to opt-out.