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

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

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

執筆者:

関連記事

(小ネタ) Python3 で読み出すのが一番早いデータフォーマットは?

仕事のネタで、Python3(Django)の設定ファイルをreloadしたい、というのがあります。 つまり設定ファイルをちょこちょこ変更するが、その変更のたびにサービスをリスタートするのではなく設定 …

SimpleHTTPSAuthUploadServer というPython用モジュールを書いた

書いた動機 リモート開発になっているので、遠くのホストにあるファイルをお手軽に見たい、取ってきたいor編集したい、というニーズが、私の中であります。ftpなんか使わず、全部ブラウザでやりたいわけです。 …

最近の故障/修正物 part 3 (ダイエット編)

最近の故障物の最大物は新型コロナウイルスの影響で、家から出ないための自分の体重。。ということで、それらを修正するために買ったモノを書いてみます。 ニンテンドースイッチ 買ったというか、ゲオで抽選に応募 …

CentOS7 + Django2.2 + uwsgi + nginx 連携方法

Djangoとnginx連携方法 以前はApache経由で連携しましたが、今回はnginxと連携する方法を記述します。 環境 設定した環境は以下です。 OS: CentOS7Python3.6.8 ( …

Reflex(Python) をSQLite + ログイン機能付きで使ってみる

2024年現在のWebアプリ作成方法の一つとして、「PythonだけでWebアプリを完結する」作り方があります。 その一つとしてReflexというのがあります。 Reflexとは PythonのWeb …

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