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

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

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

執筆者:

関連記事

インフルエンザ予防接種受けてきた

おそらく、自分人生初。。 ほとんどインフルエンザにかかったことがなかったので、考えたこともなかったです。でも、2年連続でかかってるので、今年こそ予防摂取しようと思いました。 会社から補助が出る つまり …

Python3 – django-webtest

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

Go 言語で作る!単一バイナリで動くモダンな Web UI アプリケーション

はじめに Web アプリケーションを開発する際、アーキテクチャの選択は常に悩ましい問題です。「巨大なモノリスは開発が進むにつれて複雑化し、マイクロサービスは管理が煩雑になる…。」そんなジレンマを抱えて …

(小ネタ) Reflex (Python) にてタブ形式のlinkを設定する

小ネタですが書いておきます。 Reflex とは、は割愛 前回に書いたので割愛します。 使い始めてみた 感想は後日、ということで 本題、タブ形式のlinkメニュー たいていのUIコンポーネントにはタブ …

Pythonでの勘違い(if A:)

勘違い 小ネタです。 Pythonでは、以下のように書くことができます。 a = [] if a: print(“not empty!”) else: print(“empty!”) 結果は以下になり …

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