少なくとも先週までの段階では、Microsoftストアから「Ubuntu」をインストールするとUbuntu 16.04 LTSがインストールされていた。だが、現在のLTSの最新版はUbuntu 18.04 LTSだ。
Canonicalは2年ごとに、5年間の長期サポートが提供されるLTS(Long Term Support)版を公開している。そのため、「サポートがある限りはずるずると同じバージョンを使い続ける」というのも1つの手ではあるのだが、サーバを運用しているわけでなければ「新しいLTSが公開されたらアップグレードする」ほうが、新しいパッケージも使えるようになり、何かと便利だ。
今回はMicrosoftストアから「Ubuntu」をインストールした後で、ユーザーが自分でUbuntu 16.04 LTSからUbuntu 18.04.1 LTSへアップグレードする方法を紹介する。LTSのアップグレードは「x.xx.1」というポイントリリースが行われた後に実施するという習わしになっており、ちょうど先日、18.04.1がリリースされたので、このタイミングでの実施がタイムリーだ。
バージョンアップ前にパッケージをアップグレード
Ubuntu 16.04 LTSからUbuntu 18.04.1 LTSへアップグレードする前に、Ubuntu 16.04のパッケージを最新のものに更新しておく。次のように「sudo apt update」と「sudo apt upgrade」を実行すればよい。
この辺りは、いつものパッケージアップグレードの操作と同じだ。
Ubuntu 16.04 LTSからUbuntu 18.04.1 LTSへアップグレード
パッケージを最新の状態にアップグレードしてから、Ubuntu 16.04 LTSからUbuntu 18.04.1 LTSへアップグレード作業を行う。
アップグレードには次のように「do-release-upgrade」コマンドを実行する。
sudo do-release-upgrade -d
「do-release-upgrade」コマンドを実行すると、どのパッケージが削除され、どのパッケージがアップグレードされるかといった調査が実施される。この段階で、次のように「d」を入力するとその内容を確認できる。
特に、サポートされなくなるパッケージや削除されるパッケージなどをチェックしておく。
内容を確認したら、「y」と入力してアップグレード作業を実施する。環境にもよるが、大体30分から1時間くらいでアップグレード作業が完了する。
途中で次のように「/etc/ssh/sshd_config設定ファイルを上書きするか、編集するか、そのまま残すか」を尋ねられる。とりあえず「install the package maintainer’s version」を選択してデフォルトの設定ファイルを上書きし、必要があれば後から編集すればよいと思う。
続いて、非推奨となったパッケージを削除するかどうかを問われるので、「y」と入力して削除を実施する。もし非推奨となったパッケージを今後も使い続けたいなら、「n」と入力して削除せずに処理を進める。
次のメッセージまで来たらアップグレードに必要なインストール作業は完了である。WSLで動作するLinuxは再起動することができないので、ここでは「y」を入力しても「n」を入力しても同じだ。動作しているプロセスをクリアしたいので、ここで一旦、Windows 10を再起動する。
Windows 10を再起動し、Ubuntuを起動してバージョンを確認する。作業がうまくいっていれば「Ubuntu 18.04.1 LTS」になっていることを確認できる。
2年に1度のアップグレード
CanonicalはUbuntuを半年ごとにリリースしている。このリリースに合わせて利用しているユーザーにとってみれば、アップデート作業はいつものことになるが、LTS版を使っている場合には最短でも2年ごとに実行する作業になる。2年も経てば、どうやってアップグレードしていたのかなんて忘れてしまうだろう。
Ubuntuの場合は「do-release-update」でアップグレードできるので、2年経ったら「確か、『do-ナントカ』コマンドでアップグレードを実施したような……」程度の記憶が残っていれば大丈夫だ。アップグレードの方法は調べればすぐに出てくる。サーバとして使うなら5年間使い続けるのも手だが、WSLで使うケースでは、2年ごとにアップグレードしていく方法がよいのではないかと思う。