【CentOS7】PHP5.6 をインストールしたくて enablerepo=remi-php56 を指定しているのにbaseからしか取得してくれない【yum】

yum! yum! yum!

ゆむ!やむ!やん!便利ですよね。こんな便利で幸せなものが存在する事になろうとは、1x 年前の大学時代には考えられなかったですぞ!

だがしかし、yumさまの機嫌が悪く、夜中に思い切りハマった、そして夜中には解決しなかった…ので以下備忘録

開発用サーバのCentOS7にPHP5.6を入れたい。ただそれだけやってん。

スムーズにいくと思われた通常の手順(普通はこれでいける、CentOS6 のVPSとかはイケた)

  1. リポジトリに remi-php56 を追加
  2. yum -y install –enablerepo=remi-php56 php
  3. 完成!

と思いますやん?

うちの環境ではなんべんやってもこうなりました…

2016-02-16_15h33_25

5.4…お前が入ってくるんじゃねえ(´д`)

remi-php56 リポジトリ指定してんのに、yumさまが取得しようとしてるのは base から。
※baseではphp5.4が標準提供されています。

ググりまくったら、パッケージ名をphp56-php にすればいい とのこと。

簡単じゃん( ´▽`)

yum install –enablerepo=remi-php56 php56-php

にすると、ちゃんと入ってくれました。わーい。

だが…

喜び勇んでバージョン確認!

php -v

コマンドが見つかりませんでした
( ´▽`)

…..もしやとおもって

php56 -v

PHP 5.6.18 (cli) (built: Feb  3 2016 13:07:14)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

そう来ましたか( ´▽`)

こうなったら、ソースからコンパイル?rpmパッケージを直接ダウンロードして入れる…?

それは避けたい!というかこんな一般的なパッケージでyum様のパーフェクトでマーベラスな依存管理から抜け出すのは愚の骨頂!!

yumさまが吐いてる以下のメッセージにピンときて

*** packages excluded due to repository priority protections

試行錯誤のあげく、たどり着いた解答が

remi.repo の[remi-php56]の欄に priority=1 を設定する

でした。

# vi /etc/yum/repos.d/remi.repo

2016-02-16_15h34_26

2016-02-16_15h34_43

その状態で、再度 yum っちゃうよ!

 

# yum -y install –enablerepo=remi-php56 php

2016-02-16_15h35_23

うおおおおおおおおおおおおおおおおおお!やったぜ!我が勝利( ´▽`)

インストールが済んだら、priority下げるなり、削除するなりしておきましょう。

冷静に考えると、同じパッケージ名 だと、優先度が高い方から取ってくる…至極あたりまえな動きだとは思うけれど…。

–enablerepo=の設定はそこからだけ取ってくる と勘違い(思い込み)してたのですが、そういうものでもない?ようです。 まだまだ鯖管と呼ばれるには程遠い…。精進が必要ですね。

 

2016-02-17追記:

yum のオプションに、「リポジトリを無効にする」というのがあることに気づく…

2016-02-17_10h29_56

# yum -y install –disablerepo=* –enablerepo=remi-php56 php

もう入れちゃったので実験はしないけど、こんな感じ↑でやれば良かったっぽい(´д`)

※ただ、依存性の解消がうまくいかないかもしれない?

 

コメントを残す

メールアドレスが公開されることはありません。