remi リポジトリは理解して使おう

古都の老兵
2023-02-17
2023-02-17

はじめに

CentOSやAlumaLinuxなどのRedHat系のOSで悩ましいのがPHP等のバージョンが少々古い事。RedHat EL8からはAppStreamによって比較的新しいバージョンが使えるようにはなりましたが、それでも1つか2つバージョンが古い。
そこで最新のPHP等をインストールしたい時によく紹介されているのはremiリポジトリを使ったインストール方法だ。確かに簡単に最新のミドルウェアをインストールできるのだが、remiリポジトリを理解していないと後々困る事もあるので注意が必要だ。

remi リポジトリの本質

ネットでよく紹介されている通り、最新のミドルウェアを導入する為のリポジトリである事がremiリポジトリの本質ではないだろうか。remiには常に最新のミドルウェアのパッケージがアップされ、古いバージョンは削除されていく。
例えば2023年2月時点でのPHPの最新バージョンは8.2.2となっているが、remiでは既に8.2.0は無くなっている。

例えば開発時にPHP8.2.0をインストールしていたとして、同一環境を作ろうとしても既にパッケージがなく、PHP8.2.0をインストールした時と同じコマンドを実行しても同じ環境は構築できない。
もちろん、バグや脆弱性等を考えると常に最新バージョンを使う方が良い訳だが、開発会社には完全に同じでなければ動作保証出来ないと言われる場合もありえる。また、本番上でソフトウェアのバグ等を検証する為に同じ環境が必要になる事もあるだろう。
どうしても同じ環境を作れるようにしておきたい場合には、インストール前にパッケージをダウンロードしておく事をお勧めしておく。

最後に

開発時は最新を使いたい開発者、でも開発が一旦終わってしまえばそのままの状態で長く使いたい利用者との間のジレンマ。ASPサービスをしているような会社であれば常に開発が継続するので、ミドルウェアのバージョンアップもサービス継続に含まれる作業ではあるが、自社のサイト作成を外注しているような場合は、バージョンアップに伴う検証作業費用等が掛かる為なかなか難しい。
特にPHPはサポート期間が2年と短い為厄介だ。
PHPも長期サポート版とか出してくれないだろうか?