タグ別アーカイブ: CentOS 8

RHELのApplication Streamsは一部が長期サポートらしい

表題の通りなんですが、RedHat Enterprise Linux のApplication Streamsで提供される一部のパッケージで長期サポートが提供されているようです。Application Streamsで提供されるパッケージはOSと同じサポート期間ではない短いサポート期間になる代わりに随時新しいバージョンにも対応していく形式ですが、特定のバージョンに限っては長きにわたっての利用が可能になります。

Red Hat Enterprise Linux 8 Application Streams Life Cycle – Red Hat Customer Portal

Application StreamRelease DateRetirement DateRelease
php 7.4Nov 2020May 20298.3
postgresql 12Feb 2020May 20298.1.1
git 2May 2019May 20298.0.0
httpd 2.4May 2019May 20298.0.0
mariadb 10.3May 2019May 20298.0.0
ruby 2.5May 2019May 20298.0.0
引用。2020年12月03日時点の内容。

一部のバージョンでサポート期間が公式をはるかに超え長くなっている事が分かります。例えばRHEL8.3と共にリリースされたPHP 7.4では2029年中頃までサポートされるようです。

そもそもApplication Streamsとはなんぞやという方は過去記事を参照の事。


CentOS 8のサポート期間の考え方は6や7とは異なります

CentOS 8.x (クローン元であるRHEL 8も含む)では CentOS 6 や 7 までとはいくつかサポート期間(サポート期限)の扱いが異なっています。

BaseOSリポジトリとAppStreamリポジトリ

CentOS 8 ではOSとしての機能を提供する「BaseOS」リポジトリと、開発言語やデータベースサーバー等を提供するアプリケーションストリームのリポジトリである「AppStream」リポジトリの2つのリポジトリで構成されます。また、パッケージ管理を行うdnf(これまでと同様にyumコマンドを実行した場合もdnfが呼ばれる)にはモジュールという仕組みが有り、モジュールの切り替えという概念が追加されています。

BaseOS リポジトリ:
CentOS 8 のOSとその周辺機能が提供されます。
サポート期限は2029年5月末まで。

About/Product – CentOS Wiki
https://wiki.centos.org/About/Product

OSとその周辺機能は10年間のサポートが提供されます。この期間はCentOS 7と同様です。

AppStream(アプリケーションストリーム)リポジトリ:
各種開発言語やRDBMS、サーバーアプリケーションやその他の各種ツール類等が提供されます。
サポート期限はアプリごとのストリームにより異なります。

Red Hat Enterprise Linux 8 Application Streams Life Cycle – Red Hat Customer Portal
https://access.redhat.com/support/policy/updates/rhel8-app-streams-life-cycle

主な内容とそれぞれのサポート期限は上記リンクを参照してください。RHELでの情報ですがクローンであるCentOSも同じ扱いになるかと思います。AppStreamでは例えばWebサーバーのApache、Nginx、ソフトウェア開発関連ではPHP、Ruby、Python、Perl、OpenJDK、データベースサーバーとしてはMySQL、MariaDB、PostgreSQL、Redisなどが提供されています。

アプリケーションによっては複数バージョンから選択して導入する事が出来るようになっており、どのバージョンを導入するかはモジュールの有効化・無効化で選択する事が可能です。モジュールはPHPであればCentOS 8.0 1905時点では7.2のみの提供でしたがCentOS 8.1 1911でPHP 7.3のモジュールが選択できるようになり、同様にNodeJSでは10に加え12が、Rubyでは2.5に加え2.6が選択出来るようになるなど、ある程度新しいバージョンをキャッチアップしていく事が可能なようです。

現在利用可能なモジュールは
dnf module list (yum module listでも可)
を実行する事で表示されます。また、
dnf module list –enabled
を実行する事で現在有効なモジュールのみが一覧表示されます。

なお、AppStreamで提供されているすべてがモジュールになっている訳ではなく、例えばgitコマンドなど複数バージョンから選択して導入するという要素が薄いようなものはモジュールの選択は有りません(上記のリンク先に掲載されていないアプリ・ツール類が多く存在します) (*1) 。

変化していくCentOSの立ち位置

つまりCentOS はCentOS 7までの

・サポート期間が開発言語やRDB、Webサーバー等含めディストリビューション全体で長大で、本家でサポート期間が終了していてるソフトウェアでもある程度のセキュリティフィックスが提供される。
・そのサポート期間を目的にする場合は化石のようなバージョンを使い続ける必要が有る(例えばCentOS 7ではPHPは5.4、Rubyは2.0.0が導入される)。それが困るので有れば別途リポジトリを追加するなりコンパイルするなりして導入する。

というディストリビューションからCentOS 8では

・OSとその周辺機能のサポート期間は10年確保しつつ、開発言語やRDBMS等の各種アプリケーションのサポート期間はそれよりも短い期間。
・各種アプリケーションは比較的新しいバージョンに能追従可能(追従していく必要が有る、とも言う)で、公式リポジトリのみでバージョンの切り替えができる。

というディストリビューションに変化します。

「化石バージョンでいいなら全てが長期間サポートされる一枚岩のLinuxディストリビューション」ではなくなったので、利用ソフトウェアの運用方針に注意しましょう。

Using AppStream :: CentOS Docs Site
https://docs.centos.org/en-US/8-docs/managing-userspace-components/assembly_using-appstream/

Managing versions of Application Stream content :: CentOS Docs Site
https://docs.centos.org/en-US/8-docs/managing-userspace-components/assembly_managing-versions-of-appstream-content/

※1: メール関連ではPostfixはBaseOSリポジトリで提供される一方でDovecotはAppStreamリポジトリ内に含まれています。何とも言えない基準。

2020年12月10日追記

詳細は公式の情報等を参考にして頂きたいですが、「RHELの該当バージョンに対応する無償版ディストリビューション」としてのCentOS 8は2021年で終了となる事が発表されたようです。今後はRHELよりも上流、RHELの先行テスト版のような立ち位置になる「CentOS Stream」に注力されている事になります。今後もCentOS Streamが維持されますが、立ち位置やリリース方法などが従来のナンバリングCentOSとは異なりますので諸々情報を確認したうえで、利用可能か判断が必要です。

CentOS Project shifts focus to CentOS Stream