デスクトップ向けUbuntu LTS(長期サポートリリース)のカーネルサポート方式を押さえる!

2018年12月4日火曜日

ubuntu base Ubuntu_サポート


昨今、Ubuntu 18.04 LTSのサポート期間を10年にするといったニュースがながれましたが、今回はこれに関する投稿ではなく・・

現行のデスクトップ向けUbuntu LTS(長期サポートリリース/サポート期間5年)のカーネルサポート方式を押さえる・・という内容を整理して投稿します。具体的には、Ubuntu LTSのHWEに関する事項です。

実は、昔から、より新しいプラットフォーム/ハードウエアサポートを実現するためのHWE(HardWare Enablement)の枠組みはUbuntuにあったのですが、Ubuntu 16.04 LTSからその枠組みが変更されています。これは無論、Ubuntu 18.04 LTSに対しても踏襲されます。

HWEによって引き上げられる対象は、カーネルと、Xスタック(表示機能を提供するX(ディスプレイサーバー)やグラフィックスドライバー等)となります。これらを適用する事によってLTSのサポート期間中に新しいハードウエアが出現しても、これらハードウエア上でLTSの動作を可能とする仕組みを提供しています。

Ubuntu LTSにはポイントリリースが計5回あります。Ubuntu 16.04 LTSで言えば、Ubuntu 16.04.1、Ubuntu 16.04.2、Ubuntu 16.04.3、Ubuntu 16.04.4、最後がUbuntu 16.04.5となります。

HWEが提供開始となるのは、ポイントリリースの2回目からであり、5回目までの各リリースに対して継続提供されます。すなわち2回目~5回目に対してそれぞれ新しいバージョンのカーネルとXスタックがHWEとして提供されるという事を意味します。

尚1回目以降のポイントリリースのリリースインターバルは6か月となっています。6か月単位で次のポイントリリースが出てくるという事です。

Ubuntu 16.04 LTSを例にとって各カーネルバージョンとXスタック(いわゆるHWE)、及びそのサポート期間について解説します。

①Ubuntu 16.04 LTS/Ubuntu 16.04.1
 カーネル4.4.x+Xスタック⇒サポート期間:LTSリリース後5年間

②新規インストールしたUbuntu 16.04.2
   カーネル4.8.x+New Xスタック⇒サポート期間:6か月
 (Ubuntu 16.10のカーネルバージョン、Xスタックを採用)

③新規インストールしたUbuntu 16.04.3
   カーネル4.10.x+New Xスタック⇒サポート期間:6か月
 (Ubuntu 17.04のカーネルバージョン、Xスタックを採用)

④新規インストールしたUbuntu 16.04.4
   カーネル4.13.x+New Xスタック⇒サポート期間:6か月
   (Ubuntu 17.10のカーネルバージョン、Xスタックを採用)

⑤新規インストールしたUbuntu 16.04.5
   カーネル4.15.x+New Xスタック⇒サポート期間:2年9か月
 (Ubuntu 18.04 LTSのカーネルバージョン、Xスタックを採用)

各ポイントリリースへは、セキュリティパッチと同様なメカニズムでアップグレードしていくわけですが、1回目のHWE(新カーネルとXスタック)適用に関しては手動でコマンドを使い実施する方式をとります。

またUbuntu 16.04.2~Ubuntu 16.04.4を新規にインストールした場合は、次回のポイントリリースがリリースされた際、HWE(新カーネルとXスタック)は強制アップグレード対象となります。

(ここでいう強制アップグレードは、HWEアップグレードの案内が出て、これに答えてアップグレードする方式であり、サイレントで自動的にアップグレードするという意味ではありません。ただし、セキュリティアップデートが提供されない以上、ユーザにとって強制力のあるアップグレードとなります。以降文章に出てくる強制アップグレードは同じ意味です。)

加えてUbuntu 16.04.1から上位のポイントリリースへのアップグレードのケースで、HWEを一旦手動で適用しても同じ状況となります。

例えば、Ubuntu 16.04.2まで、カーネルとXスタック(HWE)を手動適用せずにバージョンを維持し(ただし、セキュリティパッチ等で同一バージョン内のエディション等は上がっていきます)、Ubuntu 16.04.3の段階で、新しいハードウエアサポートのため、HWE(カーネル4.10.x+New Xスタック)を手動適用した場合、必然的にUbuntu 16.04.4アップグレードの段階で、16.04.4のHWE(新しいバージョンのカーネルとXスタック(カーネル4.13.xとNew Xスタック))へ強制アップグレードされる・・という事を意味しています。

最終的にUbuntu 16.04.5の段階で、Ubuntu 18.04 LTSと同じバージョンのカーネル及びXスタックを採用し、Ubuntu 18.04 LTSへのアップグレードを容易にする流れとはなっていますが、上述したポイントリリース2~4までのHWE(カーネル、Xスタック)のサポート期間は押さえておく必要があります。

ただし、ポイントリリース2~5までのHWEに対しては"edge"という仕組みで、ユーザに対しHWE(新カーネル及びXスタック)のearly accessを可能としていますので、これを使ってユーザは、次回ポイントリリースで提供されるHWEの準備をするという流れとなります。

さて、Ubuntu 18.04.2は現時点の予定で2019年2月にリリースされます。この際のHWE(カーネルバージョンとXスタック)は、Ubuntu 18.10と同じカーネル4.18.xとXスタックとなる・・という事がわかります。

考え方は、Ubuntu 16.04 LTSと一緒です。。。

ここで、”18.04.1から18.04.2へのアップグレード”+”18.04.2のHWEを手動で適用”した場合、18.04.3~18.04.5ポイントリリースへのアップグレード時点で、HWE(Newカーネル+Xスタック)も強制適用というサイクルになる・・という点は注意が必要でしょう。

逆に、18.04.1から18.04.2へのアップグレードは、セキュリティパッチ等と同じメカニズムで行われ、この中には、HWEは含まれません。したがって、HWEの手動適用を1度もしない限りは、カーネルバージョンや、Xスタックは5年間維持できるという意味になります(セキュリティパッチ等で同一バージョン内のエディション等は変わります)。