私が制御できない理由から、CentOS 7.4でPHP用rpmを直接リリースする必要がありました。私はPHP 7.2.5用のrpmsを構築し、ローカルリポジトリにインストールしました。yum install php
ローカルバージョンを選択し、/usr/localにパッケージをインストールします。私の問題はphp-pearにあります。私のバージョンのバージョン番号が高いにもかかわらず、何らかの理由でyumは私のバージョンではなくphp-pearのデフォルトバージョンを選択しようとします。
# yum --showduplicates list php-pear
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Available Packages
php-pear.noarch 1.10.5-1.el7.centos nci-f
php-pear.noarch 1:1.9.4-21.el7 base
php-pear.noarch 1:1.9.4-21.el7 base
php-pear.noarch 1:1.9.4-21.el7 base
# yum install php-pear
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package php-pear.noarch 1:1.9.4-21.el7 will be installed
--> Processing Dependency: php-bz2 for package: 1:php-pear-1.9.4-21.el7.noarch
--> Processing Dependency: php-tokenizer for package: 1:php-pear-1.9.4-21.el7.noarch
--> Processing Dependency: php-xml for package: 1:php-pear-1.9.4-21.el7.noarch
--> Processing Dependency: php-cli for package: 1:php-pear-1.9.4-21.el7.noarch
--> Processing Dependency: php-zlib for package: 1:php-pear-1.9.4-21.el7.noarch
--> Processing Dependency: php-posix for package: 1:php-pear-1.9.4-21.el7.noarch
--> Processing Dependency: php-ftp for package: 1:php-pear-1.9.4-21.el7.noarch
--> Processing Dependency: php-pcre for package: 1:php-pear-1.9.4-21.el7.noarch
--> Running transaction check
...
nci -fリポジトリの優先順位を1に設定しましたが、効果はありません。これを使用して特定のパッケージをインストールできることを知っていますが、yum install php-pear-7.2.5-1.el7.centos
より簡単なコマンド(400を超えるサーバーで)を使用して、今後のアップデートが機能するかどうかを確認したいと思います。
また、php-pearパッケージの.specファイルには次の行があります。
Obsoletes: php-pear <= 1:1.9.4
Yumがより低いバージョンのパッケージを選択する理由は何ですか?私のパッケージを好むようにするにはどうすればよいですか?
答え1
(基本)epochパッケージをオーバーライドするepoch(1
in)を見てください。1:1.9.4-21
0
Epochは、以前のバージョン番号を正確に「修正」できるようにrpmパッケージに導入されました。そして使用厳しい警告する
さらに、RHEL/Centos パッケージには多くのローカル修正/調整が含まれる場合があります。公式のソースパッケージから始めて、それを調整して、必要に応じてソースを最新バージョンに置き換えることをお勧めします。