Windows Subsystem for Linux (WSL) では複数のディストリビューションをインストールできる。手元の PC を見たら、WSL 1 時代にインストールした Ubuntu 18 だけが入った状態だった。中に大事なファイルもないので、いったん消して作り直すことにした。
Microsoft Store からのインストール
Ubuntu
Microsoft Store には、Ubuntu LTS のバージョンごとに別アプリとして登録されている。その中でバージョン番号なしの "Ubuntu" として登録されているアプリは最新の LTS を指している。
僕の場合、似た名前の "Ubuntu on Windows" がインストールされていた。一度これのまま試してみたところ、ひとつ前の LTS が使われた。
Welcome to Ubuntu 20.04.4 LTS (GNU/Linux 5.15.90.1-microsoft-standard-WSL2 x86_64)
コマンドで調べてみても、
$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.6 LTS Release: 20.04 Codename: focal
そこで Microsoft Store から "Ubuntu" をインストールすることにした。
違いを忘れないなら "Ubuntu on Windows" を残しておいても問題ないけど、僕はわすれそうなのでそちらはアンインストールした。
Windows Subsystem for Linux
ディストリビューションとは別に、"Windows Subsystem for Linux" がアプリとして Microsoft Store に登録されている。WSL は、以前は OS のいち機能として提供されていた。今は最新版がストアから提供されるようになったことで、より柔軟に更新をリリースできるようになった、ということらしい。ということでこちらもインストール。
古い環境の削除
ググるとまず出てきたのが、
が、"Ubuntu" ではなく "Ubuntu on Windows" を使っていたせいなのか、これではうまく消えてくれなかった。
コマンドプロンプトか PowerShell で wsl -l -v
を実行すると、Ubuntu が消えずに残っていて、ステータスが "Stopped" と表示されていた。
wsl --unregister Ubuntu
を実行したら消えてくれた。
新しい環境の作成
環境を消すのは手間だけど、作成するのは簡単で、スタートメニューからディストリビューションを開くだけでいい。
初回に環境が自動で作成される。ユーザー名とパスワードもここで聞かれる。
Welcome to Ubuntu 22.04.2 LTS (GNU/Linux 5.15.90.1-microsoft-standard-WSL2 x86_64)
うん。今度は最新の LTS で環境を作れた。
$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.2 LTS Release: 22.04 Codename: jammy
Ubuntu 環境内のパッケージ更新
$ sudo apt update
$ apt list --upgradable
$ sudo apt upgrade
upgrade 中にエラーメッセージが出ていた。
snapd.snap-repair.service is a disabled or a static unit not running, not starting it. Failed to restart snapd.mounts-pre.target: Operation refused, unit snapd.mounts-pre.target may be requested by dependency only (it is configured to refuse manual start/stop). See system logs and 'systemctl status snapd.mounts-pre.target' for details. Could not execute systemctl: at /usr/bin/deb-systemd-invoke line 142.
パッケージ更新自体は行われたようなので「ヨシ!」かな?