RHEL8ではphp7.4などを入れるのにremiリポジトリが不要…じゃと!?

tux logo Linux

RHEL7(CentOS7)までは、ディストリビューションが提供してるパッケージからだと、phpは5.4のように、一個のバージョンしか指定できなかった。

php7を入れるためにRed Hat Software Collections Productみたいなリポジトリを用意するか、CentOSの場合、Remiリポジトリを追加してそこからphp7をインストールする必要があった。

だがしかし、RHEL8からはAppStreamというリポジトリが(全員)使える。RockyLinuxなどのディストリビューションでも利用可能。

 

RHEL 8 のコンテンツは、BaseOS と AppStream の 2 つのメインリポジトリーにより配布されます。

RHELヘルプ

AppStreamってなに?

RHEL 8 のコンテンツは、BaseOS  AppStream の 2 つのメインリポジトリーにより配布されます。

BaseOS
BaseOS リポジトリーのコンテンツは、すべてのインストールの基盤となる、基本的な OS 機能のコアセットを提供します。このコンテンツは RPM 形式で提供されており、以前のリリースの Red Hat Enterprise Linux と同様のサポート条件が適用されます。
AppStream
AppStream リポジトリーには、さまざまなワークロードとユースケースに対応するために、ユーザー空間アプリケーション、ランタイム言語、およびデータベースが同梱されます。AppStream のコンテンツ形式には、従来の RPM 形式と、RPM 形式の拡張 (モジュール と呼ばれます) の 2 つが利用できます。

RHEL8から追加された、新しい標準リポジトリ。

今までBaseOSだけだったところに、新たに追加された。

しかもこれ、moduleという概念を取り入れていて、インストールするバージョンが選択できる。

例)php7.2かphp7.4、好きな方を選んでインストールできる

AppStream からphp7.4をインストールする

 

module listで確認する

php7.4、本当にあるのかな…?確認。

# dnf module list php
Last metadata expiration check: 0:00:27 ago on Fri Dec 3 20:04:27 2021.
Rocky Linux 8 - AppStream
Name Stream Profiles Summary
php 7.2 [d] common [d], devel, minimal PHP scripting language
php 7.3 common [d], devel, minimal PHP scripting language
php 7.4 common [d], devel, minimal PHP scripting language

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

AppStreamに7.4がある…!本当やった…

 

バージョンを指定してインストールする

 

dnf module install php:7.4

「:」の右辺は、listで表示された際のStream 欄に記載されとるもの。じゃ。

 

php インストールされたか確認

 

# php -v
PHP 7.4.19 (cli) (built: May 4 2021 11:06:37) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

インストールされとる…じゃ…と?

php7.4、2029年までサポートが続く…じゃと!?

 

RHELのライフサイクルのページのスクショ

RHELライフサイクル(英語)

より。

AppStreamから配信してくれるphp7.4のサポートは、2029年の5月まで、RedHatがサポートしてくれるみたいじゃな。

 

パッケージとモジュールでインストールしたもの混在させるとどうなるか?

を、検証してqiitaにあげてくださっている記事があった。あとで読もうっと。

 

dnf module installしたパッケージのupdate方法(手順)

dnf module install したパッケージ(モジュール)をメンテナンスするとき(脆弱性やバグなどの対応で)のアップデート方法例は、以下。

dnf module update php:7.4

 

どうやってupdateするんやー。と思っていたが、

dnf --help

して、よく見たら下の方にも書かれてた。

<modular command> disable: disable a module with all its streams
enable: enable a module stream
info: print detailed information about a module
install: install a module profile including its packages
list: list all module streams, profiles and states
provides: list modular packages
remove: remove installed module profiles and their packages
repoquery: list packages belonging to a module
reset: reset a module
switch-to: switch a module to a stream and distrosync rpm packages
update: update packages associated with an active stream

 

コメント

タイトルとURLをコピーしました