[メモ][Linux] CentOS 5.4に外部リポジトリを追加

CentOSは保守的?なパッケージ構成なので、新しいバージョンがほしい時には標準リポジトリから取得できないものが多い。セキュリティ系の修正はバックポートで反映されてると、知識ベースで知ってるものの機能がほしい場合もある。

例えば、PHP。2012/1/11に確認したら次のような反応。

$ yum info php
・・・
Available Packages
Name       : php
Arch       : i386
Version    : 5.1.6
Release    : 27.el5_5.3
Size       : 2.3 M
Repo       : base
・・・

ネット見てると、5.3系なれば別パッケージであるとか。見てみたらあった。

$ yum info php53
Loaded plugins: fastestmirror
Available Packages
Name       : php53
Arch       : i386
Version    : 5.3.3
Release    : 1.el5_7.3
Size       : 1.3 M
Repo       : updates
Summary    : PHP scripting language for creating dynamic web sites


WordPress 3.3.1では5.2.4以降がいるとの事。phpパッケージでいくか、php53に切り替えるか。

php53に切り替えた場合は、Apacheとかの設定も変更する必要がありそう。phpのアップグレードにしても、依存関係のライブラリとかの更新があるだろうから影響範囲は変わらないかな?今後、このサーバーのアップグレードポリシーを考える方が大事か。

外部リポジトリを追加

外部リポジトリphpパッケージを見てみる。外部リポジトリは多種多様に存在するよう。

こちらを参考に作業する。

使ってるCentOSが5.3なので、各リポジトリは 5 -> 4 にして実行。

$ sudo rpm -Uvh http://download.fedora.redhat.com/pub/epel/4/i386/epel-release-5-4.noarch.rpm
$ sudo rpm -Uvh http://remi-mirror.dedipower.com/enterprise/remi-release-5.rpm

次のフォルダに、repoファイルが3つ作成された。それぞれのファイルに、パッケージの取得先などの情報がある。

  • /etc/yum.repos.d/
    • epel-testing.repo
    • epel.repo
    • remi.repo

外部リポジトリのパッケージ確認

epel

$ yum info --enablerepo=epel php

Available Packages
Name       : php
Arch       : i386
Version    : 5.1.6
Release    : 27.el5_5.3
Size       : 2.3 M
Repo       : base
Summary    : PHP HTML 埋め込みのスクリプト言語 (PHP: Hypertext Preprocessor)
URL        : http://www.php.net/
・・・

$ yum info --enablerepo=epel php53
Loaded plugins: fastestmirror
Available Packages
Name       : php53
Arch       : i386
Version    : 5.3.3
Release    : 1.el5_7.3
Size       : 1.3 M
Repo       : updates
Summary    : PHP scripting language for creating dynamic web sites
URL        : http://www.php.net/
・・・

remi

$ yum info --enablerepo=remi php

Available Packages
Name       : php
Arch       : i386
Version    : 5.3.9
Release    : 1.el4.remi
Size       : 2.6 M
Repo       : remi
Summary    : PHP scripting language for creating dynamic web sites
URL        : http://www.php.net/
・・・


remiを使えば、phpパッケージのまま5.3系になる事までは把握。リリースされたばかりの 5.3.9 が!あとは、方針決めだなぁ。


# めずらしくLinuxネタだった。

外部リポジトリを追加(2)

php53でいいかなと思って作業を継続したけど、すんなりもいかないよう。

  • php53-mcrypt が updates では提供されてない

それで調べたら、次のような方法もあった。

IUS Community Project というところが提供しているリポジトリで利用が可能。

導入は、次の通り。2行目は、すでにepel導入済みだったら不要と思われます。

$ sudo rpm -Uvh http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/i386/ius-release-1.0-8.ius.el5.noarch.rpm
$ sudo rpm -Uvh http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/i386/epel-release-5-4.ius.el5.noarch.rpm
  • /etc/yum.repos.d/
    • epel-testing.repo
    • epel.repo
    • remi.repo

もう一つ、php53-mcryptは、epelリポジトリでは提供があった。こうなると選択肢は次の3つ。

  1. php53路線:CentOSの標準リポ + epelリポ
  2. php路線:remiリポ
  3. php53u路線:iusリポ


さあ、どれにしよう。