RedHat Enterprise Linux 7(RHEL7)で、yum updateしようとした際に次のようなメッセージが表示され、php5.4のアップデートに失敗する場合があります。
# yum update
読み込んだプラグイン:langpacks, product-id, search-disabled-repos, subscription-manager
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ php.x86_64 0:5.4.16-46.el7 を 更新
---> パッケージ php.x86_64 0:5.4.16-46.1.el7_7 を アップデート
---> パッケージ php-cli.x86_64 0:5.4.16-46.el7 を 更新
--> 依存性の処理をしています: php-cli(x86-64) = 5.4.16-46.el7 のパッケージ: php-devel-5.4.16-46.el7.x86_64
---> パッケージ php-cli.x86_64 0:5.4.16-46.1.el7_7 を アップデート
---> パッケージ php-common.x86_64 0:5.4.16-46.el7 を 更新
--> 依存性の処理をしています: php-common(x86-64) = 5.4.16-46.el7 のパッケージ: php-mbstring-5.4.16-46.el7.x86_64
---> パッケージ php-common.x86_64 0:5.4.16-46.1.el7_7 を アップデート
---> パッケージ php-gd.x86_64 0:5.4.16-46.el7 を 更新
---> パッケージ php-gd.x86_64 0:5.4.16-46.1.el7_7 を アップデート
---> パッケージ php-mysql.x86_64 0:5.4.16-46.el7 を 更新
---> パッケージ php-mysql.x86_64 0:5.4.16-46.1.el7_7 を アップデート
---> パッケージ php-pdo.x86_64 0:5.4.16-46.el7 を 更新
---> パッケージ php-pdo.x86_64 0:5.4.16-46.1.el7_7 を アップデート
---> パッケージ php-process.x86_64 0:5.4.16-46.el7 を 更新
---> パッケージ php-process.x86_64 0:5.4.16-46.1.el7_7 を アップデート
---> パッケージ php-xml.x86_64 0:5.4.16-46.el7 を 更新
---> パッケージ php-xml.x86_64 0:5.4.16-46.1.el7_7 を アップデート
---> パッケージ php-xmlrpc.x86_64 0:5.4.16-46.el7 を 更新
---> パッケージ php-xmlrpc.x86_64 0:5.4.16-46.1.el7_7 を アップデート
--> 依存性解決を終了しました。
エラー: パッケージ: php-devel-5.4.16-46.el7.x86_64 (@rhel-7-server-optional-rpms)
要求: php-cli(x86-64) = 5.4.16-46.el7
削除中: php-cli-5.4.16-46.el7.x86_64 (@rhel-7-server-rpms)
php-cli(x86-64) = 5.4.16-46.el7
次のものにより更新された: : php-cli-5.4.16-46.1.el7_7.x86_64 (rhel-7-server-rpms)
php-cli(x86-64) = 5.4.16-46.1.el7_7
利用可能: php-cli-5.4.16-21.el7.x86_64 (rhel-7-server-rpms)
php-cli(x86-64) = 5.4.16-21.el7
利用可能: php-cli-5.4.16-23.el7_0.x86_64 (rhel-7-server-rpms)
php-cli(x86-64) = 5.4.16-23.el7_0
利用可能: php-cli-5.4.16-23.el7_0.1.x86_64 (rhel-7-server-rpms)
php-cli(x86-64) = 5.4.16-23.el7_0.1
利用可能: php-cli-5.4.16-23.el7_0.3.x86_64 (rhel-7-server-rpms)
php-cli(x86-64) = 5.4.16-23.el7_0.3
利用可能: php-cli-5.4.16-36.el7_1.x86_64 (rhel-7-server-rpms)
php-cli(x86-64) = 5.4.16-36.el7_1
利用可能: php-cli-5.4.16-36.1.el7_2.1.x86_64 (rhel-7-server-rpms)
php-cli(x86-64) = 5.4.16-36.1.el7_2.1
利用可能: php-cli-5.4.16-36.3.el7_2.x86_64 (rhel-7-server-rpms)
php-cli(x86-64) = 5.4.16-36.3.el7_2
利用可能: php-cli-5.4.16-42.el7.x86_64 (rhel-7-server-rpms)
php-cli(x86-64) = 5.4.16-42.el7
利用可能: php-cli-5.4.16-43.el7_4.x86_64 (rhel-7-server-rpms)
php-cli(x86-64) = 5.4.16-43.el7_4
利用可能: php-cli-5.4.16-43.el7_4.1.x86_64 (rhel-7-server-rpms)
php-cli(x86-64) = 5.4.16-43.el7_4.1
利用可能: php-cli-5.4.16-45.el7.x86_64 (rhel-7-server-rpms)
php-cli(x86-64) = 5.4.16-45.el7
エラー: パッケージ: php-mbstring-5.4.16-46.el7.x86_64 (@rhel-7-server-optional-rpms)
要求: php-common(x86-64) = 5.4.16-46.el7
削除中: php-common-5.4.16-46.el7.x86_64 (@rhel-7-server-rpms)
php-common(x86-64) = 5.4.16-46.el7
次のものにより更新された: : php-common-5.4.16-46.1.el7_7.x86_64 (rhel-7-server-rpms)
php-common(x86-64) = 5.4.16-46.1.el7_7
利用可能: php-common-5.4.16-21.el7.x86_64 (rhel-7-server-rpms)
php-common(x86-64) = 5.4.16-21.el7
利用可能: php-common-5.4.16-23.el7_0.x86_64 (rhel-7-server-rpms)
php-common(x86-64) = 5.4.16-23.el7_0
利用可能: php-common-5.4.16-23.el7_0.1.x86_64 (rhel-7-server-rpms)
php-common(x86-64) = 5.4.16-23.el7_0.1
利用可能: php-common-5.4.16-23.el7_0.3.x86_64 (rhel-7-server-rpms)
php-common(x86-64) = 5.4.16-23.el7_0.3
利用可能: php-common-5.4.16-36.el7_1.x86_64 (rhel-7-server-rpms)
php-common(x86-64) = 5.4.16-36.el7_1
利用可能: php-common-5.4.16-36.1.el7_2.1.x86_64 (rhel-7-server-rpms)
php-common(x86-64) = 5.4.16-36.1.el7_2.1
利用可能: php-common-5.4.16-36.3.el7_2.x86_64 (rhel-7-server-rpms)
php-common(x86-64) = 5.4.16-36.3.el7_2
利用可能: php-common-5.4.16-42.el7.x86_64 (rhel-7-server-rpms)
php-common(x86-64) = 5.4.16-42.el7
利用可能: php-common-5.4.16-43.el7_4.x86_64 (rhel-7-server-rpms)
php-common(x86-64) = 5.4.16-43.el7_4
利用可能: php-common-5.4.16-43.el7_4.1.x86_64 (rhel-7-server-rpms)
php-common(x86-64) = 5.4.16-43.el7_4.1
利用可能: php-common-5.4.16-45.el7.x86_64 (rhel-7-server-rpms)
php-common(x86-64) = 5.4.16-45.el7
**********************************************************************
yum can be configured to try to resolve such errors by temporarily enabling
disabled repos and searching for missing dependencies.
To enable this functionality please set 'notify_only=0' in /etc/yum/pluginconf.d/search-disabled-repos.conf
**********************************************************************
--> トランザクションの確認を実行しています。
---> パッケージ kernel.x86_64 0:3.10.0-693.5.2.el7 を 削除
---> パッケージ kernel-devel.x86_64 0:3.10.0-693.5.2.el7 を 削除
---> パッケージ php-cli.x86_64 0:5.4.16-46.el7 を 更新
--> 依存性の処理をしています: php-cli(x86-64) = 5.4.16-46.el7 のパッケージ: php-devel-5.4.16-46.el7.x86_64
---> パッケージ php-common.x86_64 0:5.4.16-46.el7 を 更新
--> 依存性の処理をしています: php-common(x86-64) = 5.4.16-46.el7 のパッケージ: php-mbstring-5.4.16-46.el7.x86_64
--> 依存性解決を終了しました。
エラー: パッケージ: php-devel-5.4.16-46.el7.x86_64 (@rhel-7-server-optional-rpms)
要求: php-cli(x86-64) = 5.4.16-46.el7
削除中: php-cli-5.4.16-46.el7.x86_64 (@rhel-7-server-rpms)
php-cli(x86-64) = 5.4.16-46.el7
次のものにより更新された: : php-cli-5.4.16-46.1.el7_7.x86_64 (rhel-7-server-rpms)
php-cli(x86-64) = 5.4.16-46.1.el7_7
利用可能: php-cli-5.4.16-21.el7.x86_64 (rhel-7-server-rpms)
php-cli(x86-64) = 5.4.16-21.el7
利用可能: php-cli-5.4.16-23.el7_0.x86_64 (rhel-7-server-rpms)
php-cli(x86-64) = 5.4.16-23.el7_0
利用可能: php-cli-5.4.16-23.el7_0.1.x86_64 (rhel-7-server-rpms)
php-cli(x86-64) = 5.4.16-23.el7_0.1
利用可能: php-cli-5.4.16-23.el7_0.3.x86_64 (rhel-7-server-rpms)
php-cli(x86-64) = 5.4.16-23.el7_0.3
利用可能: php-cli-5.4.16-36.el7_1.x86_64 (rhel-7-server-rpms)
php-cli(x86-64) = 5.4.16-36.el7_1
利用可能: php-cli-5.4.16-36.1.el7_2.1.x86_64 (rhel-7-server-rpms)
php-cli(x86-64) = 5.4.16-36.1.el7_2.1
利用可能: php-cli-5.4.16-36.3.el7_2.x86_64 (rhel-7-server-rpms)
php-cli(x86-64) = 5.4.16-36.3.el7_2
利用可能: php-cli-5.4.16-42.el7.x86_64 (rhel-7-server-rpms)
php-cli(x86-64) = 5.4.16-42.el7
利用可能: php-cli-5.4.16-43.el7_4.x86_64 (rhel-7-server-rpms)
php-cli(x86-64) = 5.4.16-43.el7_4
利用可能: php-cli-5.4.16-43.el7_4.1.x86_64 (rhel-7-server-rpms)
php-cli(x86-64) = 5.4.16-43.el7_4.1
利用可能: php-cli-5.4.16-45.el7.x86_64 (rhel-7-server-rpms)
php-cli(x86-64) = 5.4.16-45.el7
エラー: パッケージ: php-mbstring-5.4.16-46.el7.x86_64 (@rhel-7-server-optional-rpms)
要求: php-common(x86-64) = 5.4.16-46.el7
削除中: php-common-5.4.16-46.el7.x86_64 (@rhel-7-server-rpms)
php-common(x86-64) = 5.4.16-46.el7
次のものにより更新された: : php-common-5.4.16-46.1.el7_7.x86_64 (rhel-7-server-rpms)
php-common(x86-64) = 5.4.16-46.1.el7_7
利用可能: php-common-5.4.16-21.el7.x86_64 (rhel-7-server-rpms)
php-common(x86-64) = 5.4.16-21.el7
利用可能: php-common-5.4.16-23.el7_0.x86_64 (rhel-7-server-rpms)
php-common(x86-64) = 5.4.16-23.el7_0
利用可能: php-common-5.4.16-23.el7_0.1.x86_64 (rhel-7-server-rpms)
php-common(x86-64) = 5.4.16-23.el7_0.1
利用可能: php-common-5.4.16-23.el7_0.3.x86_64 (rhel-7-server-rpms)
php-common(x86-64) = 5.4.16-23.el7_0.3
利用可能: php-common-5.4.16-36.el7_1.x86_64 (rhel-7-server-rpms)
php-common(x86-64) = 5.4.16-36.el7_1
利用可能: php-common-5.4.16-36.1.el7_2.1.x86_64 (rhel-7-server-rpms)
php-common(x86-64) = 5.4.16-36.1.el7_2.1
利用可能: php-common-5.4.16-36.3.el7_2.x86_64 (rhel-7-server-rpms)
php-common(x86-64) = 5.4.16-36.3.el7_2
利用可能: php-common-5.4.16-42.el7.x86_64 (rhel-7-server-rpms)
php-common(x86-64) = 5.4.16-42.el7
利用可能: php-common-5.4.16-43.el7_4.x86_64 (rhel-7-server-rpms)
php-common(x86-64) = 5.4.16-43.el7_4
利用可能: php-common-5.4.16-43.el7_4.1.x86_64 (rhel-7-server-rpms)
php-common(x86-64) = 5.4.16-43.el7_4.1
利用可能: php-common-5.4.16-45.el7.x86_64 (rhel-7-server-rpms)
php-common(x86-64) = 5.4.16-45.el7
問題を回避するために --skip-broken を用いることができます。
これらを試行できます: rpm -Va --nofiles --nodigest
原因
rhel-7-server-optional-rpms リポジトリ(チャンネル)がenableでないと、当該事象が発生します。
上記リポジトリがenableであるかどうかは、yum repolistコマンドで確認することができます。
以下のような状態である(rhel-7-server-optional-rpmsがenableである)場合は、当該事象は発生しません。
rhel-7-server-optional-rpmsが結果に表示されない場合は、当該事象が発生する可能性があります。
# yum repolist
読み込んだプラグイン:langpacks, product-id, search-disabled-repos, subscription-manager
リポジトリー ID リポジトリー名 状態
rhel-7-server-optional-rpms/7Server/x86_64 Red Hat Enterprise Linux 7 Server - Optional (RPMs) 19,656
rhel-7-server-rpms/7Server/x86_64 Red Hat Enterprise Linux 7 Server (RPMs) 27,011
対応
以下のコマンドを実行し、rhel-7-server-optional-rpmsリポジトリを追加します。
subscription-manager repos --enable rhel-7-server-optional-rpms
注意点
optionalリポジトリは、RHELのサポート対象ではない(RedHatのグローバルサポートサービスを受けられない)ため、導入に際しては注意が必要です。
https://access.redhat.com/ja/solutions/4387631
Red Hat では、Red Hat/Red Hat JBoss 製品の機能に加えて、お客様の利便性を向上させるソフトウェアパッケージ (RPM) を追加で提供しています。これらのソフトウェアパッケージには、オープンソースライセンスのソフトウェア (「Optional」Red Hat Network チャンネル) および商用ライセンスのソフトウェア (「Supplementary」Red Hat Network チャンネル) があります。Optional および Supplementary チャンネルのソフトウェアパッケージはサポート対象ではなく、ABI の保証も適用されません。
RHELでoptionalリポジトリに属するPHPパッケージは次のとおりです。
- php-bcmath
- php-devel
- php-embedded
- php-enchant
- php-dba
- php-fpm
- php-intl
- php-mbstring
- php-mysqlnd
- php-pspell
- php-snmp