CentOS Linux 8のEOLと対応策の検討 (後編)

この記事は、2022年3月11日(金)に行われたオープンソースカンファレンス2022 Online/Springにおける発表を編集部にて記事化したものです。

はじめに

さくらインターネットの前佛と申します。「CentOS Linux 8のEOLと対応策の検討」というテーマで発表させていただきます。補足資料が下記のURLにあります。参考になると思いますので、併せてご覧ください。
https://bit.ly/osc22on-centos

前半のあらすじ

前半の記事では、CentOS 8が2021年末で終了したことと、CentOS 8の環境をとりあえず現在使えるディストリビューション(CentOS Stream/AlmaLinux/Rocky Linuxなど)に移行する方法をご紹介しました。

後半となるこちらの記事では、CentOSに何が起こったのかとか、AlmaLinuxやRocky Linuxはどういうディストリビューションなのかといった話をしていきます。

CentOSに何が起こったのか?

ここからは、そもそもCentOSに何が起こったのかっていう部分について、軽く経緯を振り返ってみたいと思います。CentOS Streamは初めてですという方もいらっしゃると思いますが、そのあたりも軽く説明させていただきたいと思っています。

Red Hat Linux黎明期

そもそもこの話をどこからたどる必要があるかと言いますと、たぶんRed Hat Linux 1.0の話をしなくちゃいけないのかなと思っています。Red Hat Linux 1.0は1994年の11月3日にリリースされたそうです。以降、現在のRed Hat Enterprise Linuxではない、普通のRed Hat Linuxとしては、バージョン9まで提供されていました。私もバージョン5から9の頃は学生時代にお世話になった記憶があります。

そして、たぶんこの話をするときに、Vine Linuxというディストリビューションがあった話もしなくちゃいけないのかなと思っています。Red Hat Linuxはオープンソースとしてすべて公開されていますので、公開されているものをもとにして、日本人が使いやすいように日本語の環境やフォント、ドキュメントなどを整備したディストリビューションがありました。それがVine Linuxです。似たものとして、TurboLinuxとかLaser5とかいろいろあったんですが、どれも自由に使えるオープンソースをもとに、そこからフォークしてさまざまなディストリビューションが生まれたといった背景がかつてはありました。

Red Hat Linux開発終了からCentOSの誕生

で、一応、この流れの中にRed Hat Linuxはずっとあったのですが、このRed Hat Linux 9が開発終了しますという宣言が出されました。その後、Fedora Legacyプロジェクトというものが生まれまして、いったんは2007年まで延命しますよっていう話にはなってたんですね。しかし、このプロジェクトがやはり2007年に終わるといったことが出てきまして、今後どのディストリビューションを使おうかといった問題が当時起こってました。

そこで注目を浴びたのがCentOSです。Community ENTerprise Operating Systemの略ですね。実は2004年から提供されて始めていまして、いわゆる今のRHELのバージョン2.1から派生した、CentOS 2.1というものが出てました。ですが、この頃は一瞬注目を浴びたものの、さほど注目されなかったと思っています。理由は、先ほど紹介したFedora Legacyプロジェクトがありましたので、ひとまずそれでRed Hat 9が使えるからいいやって話で、執行猶予といいますか、まあ大丈夫だよねっていったところがあったと思います。ところが、そのLegacyプロジェクトが終わったのでなんとかせにゃいかんということで注目を浴び始めたのが、CentOSが今に至る始まりかなと思っています。

ちょうど、このFedora Legacyプロジェクトが終わる頃から私もCentOSに注目していて、CentOS FAQの日本語版を自分で更新していました。これをたどっていただきますと当時の状況もわかるんじゃないかなと思います。

このときも、RHELを使い続けるかどうかもいろいろ議論があったのを覚えています。おそらくこのタイミングで、Ubuntuに移ろうかとかDebianに行こうかといった議論も結構見かけたような気がします。そうやって、このタイミングで日本国内でもCentOSが認識されて、今日に至るまでいろいろ使われてきたと思っています。

CentOS 8突然終了の衝撃

そして、どうしてこのCentOSの終了がこんなに騒がれたかといいますと、もともとCentOS 8はいつ終わる予定になっていたかというと、アップデート終了は2024年5月で、2029年まで使えるつもりだったと思うんですよね。私もそう思っていたんですけども、それが突然2020年の12月発表で、あと1年しかもちませんって言われたんですよね。それは頭抱えますよね。といったところで、じゃあ次どうしなくていけないかといったところで、結構忙しかった方も多かったんじゃないかと思います。これがなければ、どうしようかっていう議論は起こらなかったと思うんですけども、ひとまずこういった方針になりますという発表があったので、何らかの形でCentOS 8を別の環境に置き換えるとか、あるいは延長サポートを受け入れるような対策をする必要が出てきたのが現状でした。

CentOS Streamとは

そして、CentOSのプロジェクトから提示された方法としては、これからはCentOS Streamを出しますので、そちらの方に移行してくださいという話が出ています。ただ、これまでとやり方が違うのは、あくまでも従来のCentOSは、RHELの公開されているソースを再構築してCentOSとして出していたんですけども、今後はそうじゃなくて、ローリングアップデート方式のテストベッドとしてのCentOS Streamですという方針に変えることになったのが大きな違いです。

一言で言いますと、これまでのCentOS 8系であれば、CentOS 8.3, 8.4, 8.5のように明確なバージョンがありましたが、CentOS Streamの場合にはそれはありません。常に日々新しいパッケージが流れ込んでくるといった状態です。ですので、従来のCentOSのように特定のバージョンの環境をずっと使い続けるというよりは、大きな流れ(Stream)としてのCentOS 8系の中のものを常に維持し続けるような形になります。ですので、RHELと1対1で対応するようなCentOS Streamではないという点に注意が必要になります。

私たちに残された選択肢

とはいえ、そういったCentOSの方針もわかるんですけど、なんでCentOSを使っていたかというと、やっぱりRHELと1対1の対応をされるのがいいよねという声がたぶん皆さんの中にもあるんじゃないかと思います。同じような考えを持った人がいらっしゃいまして、そういった方々が、従来のCentOSと同じような方式による派生ディストリビューションを作り始めています。それが下記のスライドにおける第3の選択肢として掲げている、RHEL派生ディストリビューションを使うという方法ですね。

そのうちの1つがAlmaLinuxやRocky Linuxといった、いわゆるコミュニティ系と呼ばれるものを使う方法です。もしくはちゃんと商用サポートのついている、MIRACLE LINUX, Oracle Linux, VzLinuxといったものを使う方法になるのかなと思います。

ここまでがだいたいの大きな流れです。ポイントとしては、もうCentOS 8が終わっちゃったので、CentOSコミュニティが推奨するやり方としてのCentOS Stream 8に移行するのが1つの方法で、そうでなくコミュニティ系のOSという選択肢として、AlmaLinuxやRocky Linuxを使うといった道もあるのかなといったのが現状です。

そしてこのあとは、このAlmaLinuxとRocky Linuxが注目されてるところかなと思いますので、この2つを紹介していきます。

Rocky Linuxとは何か?

まずはRocky Linuxですね。こちらは完全にコミュニティをベースにした開発運用を目指してます。もともとのCentOSのプロジェクトを作った人が参画しているもので、体制的にはがっちりしてるといいますか、プロジェクトとしてしっかりしているというのが個人的な印象です。

逆に言うと、体制がしっかりしてますので、比較的慎重といいますか、ちゃんとしたオープンソースとしてのプロダクトを出すという意図があると思うんですけども、コミュニティ的な合意手続きを経た上でちゃんとしたものを作って出していきましょうといった、従来のCentOSの手続き的なところを重視しているように見えます。

このRocky Linux、当初はこのあと紹介するAlmaLinuxよりも出遅れたり、それからセキュアブートに対応していないという課題があったんですけれども、今はそのあたりの課題は特になくて、雑に使う分にはひとまず問題ないんじゃないかなと思います(個人の感想です)。日本語でも最近徐々に情報が出てきますので、ひとまずRocky Linuxを使うっていうのは1つの選択肢になると思います。

AlmaLinuxとは何か?

AlmaLinuxの方は、先ほどのRocky Linuxよりは先行してまして、CentOS 8が終わるよという先ほどのブログの投稿が出た後に、真っ先に名乗りを上げたのがこのAlmaLinuxです。もともとCloudLinuxといいまして、他のCentOS派生ディストリビューションと似たような位置付けのものを作っていたんですけども、CentOSがRHELに1対1対応する方針がなくなりましたので、それに対抗する手段として、新たにAlmaLinuxというものを出すというアナウンスをしました。もともとProject Lenixというものを作っていましたが、最終的には今のAlmaLinuxという名前になっています。

AlmaLinuxはRocky Linuxと立場の違いがありまして、今は基本的にコミュニティ主導という立場になってますが、当初は商用プロダクトの一環として出していました。AlmaLinuxはYouTubeとかでも情報を出していて私は個人的に好きなんですけども、開発者が結構ぶっちゃけトークをやってるんですね。自分たちが有名になりたいから作りましたとか、彼らが出しているLinuxの商用環境があるので、それをいい感じにメンテナンスしていきたいのでAlmaLinuxを作っているといった言い方をしています。あと、当初は2029年まで使えますよといったアピールをしたりとか、利用実績がもうすでにかなりありますよとか、あとCloudLinuxのために取得していたセキュアブート用の証明書をAlmaLinuxに転用して「うちはもう対応しちゃいましたよ」とか言ってたんですけども、今となってはAlmaLinuxもRocky Linuxもコミュニティ的な使い方ができる選択肢になっているんじゃないかと思います。

どれを使うのがよいか

というわけで、いわゆるCentOS的な使い方をされるのであれば、おそらく今後の流れとしては、CentOS Stream 8に行くか、もしくはこのRocky LinuxやAlmaLinuxのようなコミュニティ系に移っていくのかなと思います。仕事で使ってる場合は、RHELのライセンスを買うとか、あるいはサイバートラストがやっている延長サポートのようなものとか、そういったものを使う系統に分かれていくのかなと思います。

個人的には、まだ迷ってます。AlmaLinuxとRocky Linuxは結構お互いやり合っていて、傍から見てると面白いんですけど、立場が大きく異なりますので、今は両方様子を見ながら使っていくことになるのかなと思っています。

簡単な背景を説明しますと、Rocky Linuxの場合は、いわゆる正当なCentOSの後継者の立場を明確にしてるんですけども、AlmaLinuxの方はですね、ぶっちゃけチャラいんですよね。先ほども言いましたが有名になりたいから作りましたっていう立場ですとか、あとやっぱり彼らはビジネスのためにやってるっていう位置づけが強く、当初はCloudLinux社が主導していましたので意思決定は早かったといった利点があったと思います。ですが、そのような体制はオープンではないだろうという指摘を受け、もともとAlmaLinuxを引っ張る立場にあったCloudLinux社の人がその座を降りて運営をコミュニティに引き渡すという体制に現在はなっています。

一応、個人的な方針としましては、開発環境についてはCentOS Streamの方に寄せてます。しばらく安定的な運用をさせたいなというものはAlmaLinuxとRocky Linuxを使い分けて様子を見ているってのが現状です。

第3の道:コンテナの利用

そして、第3の道としてさらっと書いてるのは、いわゆるコンテナといいますか、クラウドネイティブに対応するといったやり方です。今日はこのコンテナ化がメインの内容ではないのでサクッと説明しようと思うんですけども、そうは言ってもこれまでと考え方が違いますので、単純にディストリビューションを変えるよりもいろいろと勉強するところはあると思います。

というのも、単純に移行できないんですよね。これまでのセットアップをするときであれば、yumコマンドを使うとか、Ansibleのような構成管理ツールを使うという方法があるんですけども、Dockerの場合にはアプリケーションやサービスごとにコンテナを使うことになりますので、そもそものサービスなりシステムのアーキテクチャを考え直すといったところからスタートします。ですので、今すぐOSを入れ替えたいといった場合の選択肢にはまず入らないと思います。ただし、今後の技術選択肢の一つとして勉強するのであれば、今がちょうどいいタイミングかなあとも個人的には思います。

振り返り

というわけで簡単に振り返りです。

今日のポイントとしましては、まずCentOS 8は終わりました。7につきましては当初の予定通り2024年まで使えますが、8は2021年末で終了になってます。そして、同じようなCentOS Streamという名前のものがあるんですけども、リリースモデルが全然異なりますので、同じ名前ではありますが、従来のようには使えませんというのが大きなポイントです。

ではもし従来のように使いたいのであればどうするかと言いますと、仕事で使うのであればRHELを使うか、あるいはサポートサービスを受けるか、あるいは自分で責任を持ってやるのであれば、ご紹介しましたようにAlmaLinuxやRockyLinuxを使うといったところがひとつの手かと思います。あるいは他のLinuxディストリビューションを使うのも一つかと思いますし、あとはいわゆるコンテナ化ですね。イバラの道だと思いますけども、そういったものも選択肢の一つかと思います。

最近このあたりの情報があまり出ていませんので、もし皆さんも気になることがありましたら、ブログを書いていただくなり、Twitterとかで書くといいんじゃないかなと思います。できるだけ私もいろいろな形でアウトプットしたいと思いますので、皆さんも頑張っていきましょう。

というわけで私からの発表は以上です。皆さんありがとうございました。