Windows Subsystem for Linux(以下、WSL)では、LinuxディストリビューションをWSL環境内で実行するが、Ubuntuの新しいリリースであるUbuntu 18.04の配布が始まっている。今回は、これまで使われてきたUbuntu 16.04との違いなどを解説し、アップグレードすべきかどうかについて考える。
Ubuntuのリリースは原則、1年2回
長期サポート版は2年に1回
Ubuntuは年に2回、4月と10月に新しいリリースを公開している。リリースには「通常版」と「LTS(Long Term Support)版」がある。通常版のリリースは半年の1回で、サポート期間はリリースしてから9ヵ月。原則、新しいリリースが出るたびに更新していくことを想定している。これに対して、LTS版は、2年に1回リリースされ、サポート期間は5年となっている。なお、通常版とLTS版のリリースは連続しており、リリースは、リリース年と月を組みあわせたものが区別される。16.04とは「2016年4月リリース」という意味になる。
前回のLTS版が2016年4月のUbuntu 16.04 LTSであり、これがWSLに採用されている。なお、WSLでは、LTSのみを対象としている。WSL用のUbuntuには変更が加えられており、検証などを考えると半年サイクルは困難だからだろうと推察される。
Ubuntuのリリースには、すべてコード名が付けられており、パッケージファイルなどではコード名が使われることがある。Ubuntu 16.04 LTSのコード名は「Xenial Xerus」だ。なお、単に「Xenial」という表記になることもある。同様に「Ubuntu 18.04 LTS」のコード名は「Bionic Beaver」で単に「Bionic」とも呼ばれる。
またLTS版はリリース後に、一定期間ごとにアップデートを集めた「ポイントリリース」も用意される。16.04の場合、「16.04.01」(2016年7月)、「16.04.02」(2017年2月)、「16.04.03」(2017年8月)、「16.04.04」(2018年2月)があり、現在の最新版は「16.04.04」である。
WSL用のubuntuのリリース
現在、WSL用のLinuxディストリビューションは、Microsoftストアから入手することになっている。現時点でMicrosoftストアあるUbuntuには、
Ubuntu
Ubuntu 16.04
Ubuntu 18.04
の3つがある。
しかし、実際のディストリビューションとしては、「Ubuntu 16.04」と「Ubuntu 18.04」の2つで、リリース番号の付かない「Ubuntu」は現時点では「Ubuntu 16.04」に対応している。ただし、7月末にポイントリリースである「Ubuntu 18.04.01」が登場した段階で、これは「Ubuntu 18.04」に切り替わる予定だ。
UbuntuのLTSにおいても、Linux内からアップグレードが可能だが、LTSの場合、次のLTSリリースが出たあと最初のポイントリリースが登場した後でないと、アップグレードできないようになっている。
これは、LTSといえども障害が発生する可能性が否定できないからだ。通常版でも最初のリリースでは、特定のハードウェアでエラーなどが発生し、配布が一時的に中止になることがある。Windows 10でいえば、半期チャンネルの配布が半期チャンネル(対象指定)の4ヵ月後からになっているのと同じ理屈である。Windows 10もUbuntuを参考にした可能性がある。
WSLでのUbuntuリリースを考える
というわけで、WSLでUbuntuを使う場合、16.04がいいのか、18.04にすべきかという問題がある。また、すでにWSLを利用している場合、16.04から18.04へとアップグレードすべきかどうかという問題もある。
結論から言うと、Ubuntu 16.04を選択するのが、現時点では妥当と思われる。1つには、現在インターネットなどにある多くのWSLに関する記事や文書は、Ubuntu 16.04をWSLで使った場合のものだ。このため、18.04をインストールあるいはアップグレードした場合、インターネット検索で得られるWSL関連の情報が適合しない可能性がある。
もう1つは、Ubuntu 16.04は、2021年までサポートされているため、サポート対象外となる心配が当面はないことだ。Ubuntuのサポートでは、組み込んだパッケージの更新やセキュリティパッチなどが提供されるため、少なくとも16.04を2021年まで使い続けることができる。
また、LTSのアップグレードは、Ubuntu内のコマンドで実行できるが、ダウングレードは、現行のLTSをアンインストールして古いLTSをインストールする必要があるという点に注意すべきだ。つまり、リリースをあげるのは簡単だが、戻すのは面倒なのである。
16.04と18.04には、Linuxディストリビューションとして「同じ部分」と「違う部分」があり、利用したいアプリケーションや機能がどちらで動作するのかといった問題がある。しかし、Ubuntuで利用可能なパッケージを使う範囲では、個々のバージョンの違いが出ることはあっても、ほぼ同じプログラムが動作する(ただし、ディストリビューションとして廃止になる機能もある)。
これらのことを考えると、現時点では16.04で使い始め、必要が生じた時点で18.04にアップグレードするという経路が無難と考えられる。もちろん問題がなければ、サポート終了の時期まで16.04を使い続けてもかまわない。「オレはなんでも新しい方じゃないと満足できない」というのであれば、18.04でWSLを使い始めることを止めるつもりはない。どっちがいいのかと聞かれたら、16.04が無難、ただそれだけである。
Ubuntuのメンテナンス方法
ついでなので、Ubuntuを使う場合のインストールパッケージのアップデートやポイントリリースの導入、そしてLTSリリースの切り替え方法などについて簡単に説明しておく。
まずは、日常的に行うインストールパッケージのアップデートだ。これには、apt-getコマンドをsudoコマンドと併用して利用する。具体的には、以下の2つのコマンドを実行する。
sudo apt-get update
sudo apt-get -y upgrade
起動時にUbuntuが更新があった場合などにメッセージを表示することがあるので、適時実施する。
次にポイントリリースの導入だが、以下のコマンドを使う。なお、この場合、すでに導入されているパッケージも同時にアップデートされることがある。というのはシステム側のライブラリなどが変更になると、それに応じてアプリケーション側もアップデートが必要になることがあるからだ。
ポイントリリースは、その時点の最新パッケージを集めたものであり、Windowsでいえば「累積更新プログラム」に相当する。
sudo apt-get -y dist-upgrade
原理的には、「apt-get -y dist-upgrade」は、前述の「apt-get -y upgrade」と同等以上の効果があり、日常的なメンテナンスはサボっていても、最新のポイントリリースに変更し、インストールパッケージも最新版に更新される。
なお、ポイントリリースのバージョンを知りたい場合には、
lsb_release -a
とする。Descriptionのところに表示されるのがポイントリリースのバージョン表示である。
さて、LTSのリリースを上げたいといった場合だが、過去には、lxrunコマンドが利用できたが、現在では、利用できなくなっている。このため、アップグレードには大きく2つの方法がある。1つは、Microsoftストアアプリケーションである「Ubuntu」をアンインストールして、Ubuntu 18.04を新規インストールする方法である。ただし、この方法では16.04で使っていた環境を引き継げない。環境を引き継ぐには、WSLでubuntuを起動し、
sudo do-release-upgrade
を実行する。
この連載の記事
-
第460回
PC
Windowsでsftpを使う -
第459回
PC
WSL 2.4.4ではtar形式でのディストリビューションが配布でき、企業での利用が容易になってきた -
第458回
PC
Windows上でhostsファイルを活用する -
第457回
PC
IPv6アドレスは先頭を見ればどんな種類かわかる -
第456回
PC
あらためてIPv6基本のキ -
第455回
PC
Windowsで現在どのネットワークアダプタがインターネット接続に使われているかを調べる方法 -
第454回
PC
Windows 11 24H2では「デバイスの暗号化」の条件が変わり、より多くのPCでドライブが暗号化される -
第453回
PC
Windows 11 24H2の配布開始後もすぐにはやってこない Windows UpdateとSafeguard Holds -
第452回
PC
Windows 11 Ver.24H2が登場 Copilot+ PCとそうでないPCで実質Windowsが2つに分かれる -
第451回
PC
新しいWindowsサンドボックスではコマンドラインからの制御が可能に -
第450回
PC
ユニコードで文字数を数える方法 - この連載の一覧へ