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

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

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

執筆者:

関連記事

Markdown to HTML(grip)

1.はじめに 最近の文書はほとんどMarkdownで書くのですが、それをHTMLに変換する方法を調べました。 ただし、私がMarkdownと思っている文法は「github-flavored-markd …

[続報]アキレス腱付着部症

まだ痛い。。 先週ぐらいから痛み出した足首。まだ痛いです。。でもだいぶ楽にはなってきました。 対処: ちょっとやってみた 以下の対処をしてみました。 靴に中敷き + ハンカチ筋トレ(腹筋) 靴にハンカ …

CentOS7 + Django2.2でSQlite3を使用する方法

そのままだとエラーになる 素のCentOS7で、SQLite3を使用して、Djangoアプリを起動すると以下のエラーになります。 File “/opt/webapps/django_upload/.v …

(小ネタ) python3 date_range + step付き

ちょっと前に同じような感じのネタを。。 したような気がするのだが、まぉおいておこう。。 素のPython3で、日付にてfor文を回す方法 日付で分割して処理をしたいと思うときがあります。例えば、202 …

Nuxt.js + Element + Responderでのtableサンプル作成

1. はじめに 最近、Webアプリケーションを作成する仕事が、少しずつですがあります。その際に使用するのは、殆どの場合「テーブル」です。 素のtableタグを駆使して作成した場合、テーブル内のセルにも …

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