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

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

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

執筆者:

関連記事

50代の白内障手術(その1: 手術前)

50代の白内障は別に珍しくないですが、かかったのだからしょうがない。 白内障手術することになったので、経緯やその他をまとめておこうと思います。 白内障の経緯 病気の経過は以下です。 2022/01 左 …

Go言語でtarアーカイブコマンド作成

今所属している会社で1バイナリでとりあえず済ませる簡単ツールはgo言語で書くことが多いようです。 私はそれほどgo言語が好きというわけでもありませんが、勉強がてら、ディレクトリからtarアーカイブする …

WSL2にOpenCV + Pythonをインストールする

お手軽にやろうと思ってやってみました。作業手順自体を見ると、お手軽ではないかもしれません。 環境 インストールする/した環境は以下の通りです。 WSL2Ubuntu 20.04.2 LTSPython …

fastapi + SQLAlchemy で CRUDアプリケーションを作ってみる

概要 勉強用に、PythonでPostgresqlを制御しようと思います。の続きです。 前回でPostgreSQLと、データベース/テーブルまでは用意したので、今回はAPIを作成しようと思います。 実 …

新規プロジェクト参入時に考えること

派遣における労働条件 就業予定時間(変形労働時間やフレックスタイム制の適用を含む)残業の有無と量就業場所(交通ルート、オフィスの配置等)業務の継続予定期間 制服の有無 (背広かどうか)福利厚生施設の有 …

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