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