前提知識:OSのサポートとは具体的に何をしてくれるのか?
OS のサポート期間とは不具合を修正するプログラムや、セキュリティを強化するプログラムなどの更新プログラムを提供する期間のことをいう。
cf. https://pc-freedom.net/basic/%E4%BB%8A%E3%81%95%E3%82%89%E8%81%9E%E3%81%91%E3%81%AA%E3%81%84-linux-%E3%81%AE%E3%80%8C%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E6%9C%9F%E9%96%93%E3%80%8D%E3%81%A8%E3%81%AF%EF%BC%9F/
Linux OS = カーネル+周辺ソフトウェア(cf. https://wa3.i-3-i.info/word1961.html )であり、これがメンテナンスの対象となる。
具体的に何がアップデートされているのかというと、Amazon Linux2では https://aws.amazon.com/jp/amazon-linux-2/release-notes/ に記載されているような、kernel系のものとか、opensslとか、perlとか、pythonとか。。要は初期でパッケージ化されているものたち。
前提知識:Linuxディストリビューションは各々に独立しているわけではない
Fedora(RHELの開発版という位置付け) -> RedHat Enterprise Linux -> (RHELの複製) CentOS / Amazon Linux / Scientific Linux
CentOSはRed Hat Enterprise Linuxのクローン
RHELは有償ながら、ソースは公開されている。なぜなら、RHELもLinuxだからだ。GPLのオープンソースを使っている以上、ソースは公開しないといけない。
CentOSは、そのソースを利用して、RHELとの完全互換を目指したLinuxディストリビューションだ。Red Hatとはまったく関係のないグループが、勝手に作ったディストリビューションである。今でも、Red Hatが公開したコードを元にCentOSが作られ続けている。
cf. 今更聞けない!CentOSとRed Hatの違いとは?
https://eng-entrance.com/centos_redhat
パッケージ側でサポートが終了してもディストリビューションがサポートしてくれることもある
バックポート
PHP 本体のセキュリティサポートは、例えば PHP 5.4 だと 2015/09/14 で終了4しているが、ディストリビューション側が脆弱性の対応を独自に行っている。
https://qiita.com/bezeklik/items/0823b14789d96f847d09
AWS EC2 の amazon-linux-extras
amazon-linux-extras とは、Amazon Linux 2 インスタンスにある PHP、Python、Golang、MariaDB などのパッケージをより新しいバージョンで利用できるようマネジメント管理するコマンド。
パッケージを最新にアップグレードする時に使える便利なコマンドです。例えば、php のバージョンアップなどで活躍できます。
cf. https://hapicode.com/server/aws-amazon-linux-extras.html#extras-library-%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB
Extra Packages for Enterprise Linux (EPEL) のような位置づけで、通常はディストリビューション標準のパッケージを利用する一方で、特定のパケージではより新しいバージョンを試せます。
https://dev.classmethod.jp/articles/how-to-work-with-amazon-linux2-amazon-linux-extras/
ただし、amazon linux extrasで入れたソフトウェアについてはAWSは長期サポートはしないというポリシーっぽい。
Extrasトピックのコンテンツは、長期サポートとバイナリ互換性に関する Amazon Linux ポリシーの対象外でございます。[2]よって、Extrasトピックで提供されるPHP7.3のサポート期限は、アップストリームのライフサイクルに準じます。
参考:EPEL/remiリポジトリ
どちらもサードパーティーのリポジトリ。なおremiを使うにはEPELが依存関係にあるのでEPELも使うことになる。
remiリポジトリは、サードパーティリポジトリと呼ばれる、CentOSが標準で用意している以外のサードパーティが提供しているリポジトリの一種です。
PHPスタックの最新バージョン、フル機能、およびその他のソフトウェアを、FedoraおよびEnterprise Linux(RHEL、CentOS、Oracle、Scientific Linuxなど)のユーザーに提供します。
が挙げられるようです。最新のphpをインストールできるということですね。
remiが提供しているパッケージには、php以外にもApacheやMySQLも入っているので、remiのパッケージを使うことでLAMP環境を構築できます。remiの使用に際して注意点があります。最新のパッケージを入手できるものの、発見されてないセキュリティホールが残っていたりするので信頼性が不安です。また、remiはサードパーティリポジトリでCentOSのサポート対象外なので、利用は自己責任です。
https://www.geekfeed.co.jp/geekblog/centos-remi-epel-php
epelとは
rhelの公式リポジトリに無いパッケージをfedoraの有志が作ってる。パッケージの信頼性は担保されてないので要注意。
remiとは
RedHatの中の人である、remiさん(♂)が提供してくれているリポジトリ。目的はphpやその他のソフトウェアをできるだけそのまま(最新バージョン)で提供すること。様々なバージョンのphpが在る。インストールにはepelが先にインストールさている必要がある。
cf. https://it-afi.com/centos/post-1251/