Ubuntu on WSL を 20.04 から 22.04 にアップグレードする備忘録です.
Ubuntu 24.04 がリリースされましたが,22.04 からのアップデートはまだ有効化されていません.有効化はポイントリリース 24.04.1 が出てからになります.
の Upgrade the System の節をご覧ください(2024/5/1 追記)
2022年4月25日に Ubuntu の長期サポート版22.04 がリリースされたましたので,さっそく手元の Ubuntu on WSL をアップデートしてみました.
なお,Ubuntu on WSL の公式サイトである Microsoft Store の
には sudo do-release-upgrade で最新安定板にできると書かれていますが,実際にはこれだけではちょっと足りません.sudo do-release-upgrade -d としないとダメみたいですね.
アップデート手順
アップデートの手順は以下の英語の記事
そのままですが,途中の画面イメージを含めて改めて以下に示します.
まず,事前に 20.02 を最新版にしてから sudo do-release-upgrade -d とします.
$ sudo apt update;sudo apt upgrade;sudo apt autoremove $ sudo apt dist-upgrade $ sudo apt install update-manager-core # 念のため $ sudo vi /etc/update-manager/release-upgrades # Prompt=lts を確認 $ sudo do-release-upgrade -d # -d If using the latest supported release, upgrade to the development release
すると,アップグレードの開始前に以下の通り表示されました.私の場合は約5GBのファイルがアップデートされるようです.コマンドラインで使うものしかないんですが,結構多いです.続行するため y を入力して ENTER を押します.
アップグレードを開始しますか? 1 個のインストール済みパッケージは Canonical によってサポートされなくなりました。ただしコミュニティからのサポートは受けることができます。 10 個のパッケージが削除されます。 374 個の新規パッケージがインストールされます。 1463 個のパッケージがアップグレードされます。 合計 4,802 M をダウンロードする必要があります。 このダウンロードは約 22 分 かかります。 アップグレードをインストールするのに数時間かかることがあります。ダウンロードが完了してしまうと、処理はキャンセルできません。 続行する[yN] 詳細 [d]
途中で sudoer の設定ファイルの更新をどうするのかを尋ねられました.特に sudoer の内容カスタマイズしたことないので,今回は設定ファイルごとアップデートしてしまうことにします.Y を入力して ENTER で続行です.
sudo (1.9.9-1ubuntu2) を設定しています ... 新バージョンの設定ファイル /etc/pam.d/sudo をインストールしています ... 設定ファイル '/etc/sudoers' ==> これはインストールしてから (あなたかスクリプトによって) 変更されています。 ==> パッケージ配布元が更新版を提供しています。 どうしますか? 以下の選択肢があります: Y か I : パッケージメンテナのバージョンをインストールする N か O : 現在インストールされている自分のバージョンを残す D : 両バージョンの差異を表示する Z : 状況を調査するためにシェルを開始する デフォルトでは現在使っている自分のバージョンを残します。 *** sudoers (Y/I/N/O/D/Z) [デフォルト=N] ?Y
次はパッケージの削除確認です.「数時間かかることがある」との警告がありますが,私の場合はあっという間に終わりました.
パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 古いソフトウェアを検索しています 状態情報を読み取っています... 完了 サポートが中止された(あるいはリポジトリに存在しない)パッケージを削除しますか? 136 個のパッケージが削除されます。 パッケージの削除に数時間かかることがあります。 続行する[yN] 詳細 [d]
最後に再起動確認です.もちろん Y を入力して ENTER を押し続行します.なお,実際に再起動はできません.エラーが出て停止しますが,これは WSL の場合正常な動きです.
パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 古いソフトウェアを検索しています 状態情報を読み取っています... 完了 サポートが中止された(あるいはリポジトリに存在しない)パッケージを削除しますか? 136 個のパッケージが削除されます。 パッケージの削除に数時間かかることがあります。 続行する[yN] 詳細 [d]
実際,terminal を再起動して,アップグレードできたか確認すると,以下の通り 22.02 にアップデートできていることが分かります.
$ cat /etc/os-release PRETTY_NAME="Ubuntu 22.04 LTS" NAME="Ubuntu" VERSION_ID="22.04" VERSION="22.04 (Jammy Jellyfish)" VERSION_CODENAME=jammy ID=ubuntu ID_LIKE=debian HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" UBUNTU_CODENAME=jammy
利用雑感
いまのところ,少なくとも私が使う範囲では特に何も問題は起きていませんし,なんとなく terminal の再起動後にプロンプトが表示されるのが速くなったような気がします.以前の環境を保存したままアップデートできるのはやはり手間がかからず嬉しいですね.
なお,重要な環境の場合はアップデート失敗したときのことを考えもちろんバックアップしてからアップデートするべきでしょう.もしくは Ubuntu 22.04 を Ubuntu と同居させるかです.
以上!