Ubuntu 20.04 on Windows Subsystem for Linux 移行備忘録です.
Ubuntu 20.04 LTS が出ましたので,特に 18.04 LTS で困っているという訳ではないのですが,Windows 10 の WSL 上で使っているものをアップデートしてみることにしました.
アップデートは何故か失敗
なんと,アップデートが失敗する理由は glibc 2.31 が WSL1 が非対応のシステムコールを使うようになったからのようです.
glibc 2.31 がダメだと言うことはいろいろ動かない可能性があるということなので,現状ではWSL1 で Ubuntu 20.04 は非推奨のようですね.ただし,なぜかクリーンインストールだと動いてます.何故なんだろう…….
最初はアップグレードしようかと思っていました.実際,Microsoft Store の Ubuntu の主な特徴のところを見てみると do-release-upgrade でアップグレードをやれと書いてあります.
と言うことで,Ubuntu on WSL をターミナル(念のためいつも使っている wsltty からではなく,コマンドプロンプトから開いた)で開き,
$ sudo do-release-upgrade ... Checking for a new Ubuntu release There is no development version of an LTS available. To upgrade to the latest non-LTS develoment release set Prompt=normal in /etc/update-manager/release-upgrades. ...
とやってみたのですが,20.04 LTS が出たばかりのせいかアップデートできません.仕方ないので,
$ sudo do-release-upgrade -d ...
としてみたのですが,libc6 のところで依存関係の解決ができない云々のエラーが出て,にっちもさっちもいかなくなってしまいましたので,仕方ないのでゼロから入れ直しました.
入れ直しについて
何も考えずに Ubuntu をアンインストールして再度 Microsoft Store からインストールするだけです.まだ出たばかりだからなのだと思いますが,Ubuntu.ja リポジトリがまだ利用できないこと以外,前回の
の場合と全く同じようにインストールできました.
前回と異なるのは,オレオレルート証明を,
$ sudo mkdir /usr/local/share/ca-certificates/extra $ sudo cp hyt-CA.crt /usr/local/share/ca-certificates/extra/ $ sudo update-ca-certificates
の手順で入れたことくらいでしょうか.
アップデートこそ失敗しましたが,手間をあまりかけずに 20.04 LTS へ移行することができました.
基本的に CUI で使える基本的なものしか Ubuntu on WSL では使ってないですしね.結果論ですが,環境がいったんリセットされて綺麗になったので,まぁ,悪くはなかったかなと思っています.
以上!