人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

phpのマイナーアップデートに関してご相談させてください。

現在サーバー上にphp5.3.3がインストールされております。(OSはCentOS5.5)
phpは初期構築時にyumにてインストール作業を行なっているのですが、本日時点でphp5.3.13まで最新バージョンが上がっていることもあり、phpをバージョンアップしたいと考えております。
なお、5.4系統へは搭載しているコンテンツの都合もありアップグレードするつもりはありません。

そのため、
yum update php53
をしたのですが、成功と表示されはしたものの、yum listで見てみると
php53.x86_64 5.3.3-1.el5_7.3
と元々表示されていたものが、
php53.x86_64 5.3.3-7.el5_8
となっただけでした。
どうもphpのバージョンは変化していないように見えます。

そこで質問なのですが
・この表記の後ろに付いている「1.el5_7.3 」というものは何を表しているのでしょうか
・php5.3.3をphp5.3.13にアップグレードするにはどうすればいいでしょうか(5.3から5.4などのアップグレードであれば結構情報があるのですが、マイナーアップデートの情報がなかなか見つからず・・)

お手数ですがご存知の方お教えいただけますと幸いです。
よろしくお願いいたします。

●質問者: n_maco2
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● iwaim

「1.el5_7.3」の部分は、CentOSでのそのパッケージの識別子となっています。CentOSのベースとなっているRed Hat Enterprise Linuxでは基本的にソフトウェアのバージョンアップは実施していません。そのため、CentOSでもソフトウェアのバージョンアップは基本的に行われません。(これは互換性のための施策)

どーしてもPHP 5.3系の最新版が使いたい場合は次のような手順になります。

  1. php53とそれに依存するRPMパッケージをすべてアンインストールする
  2. PHP 5.3系最新版を自分でソースコードからインストールする

(知識があれば自分でRPMパッケージを作成するという手もあります)

もちろん、自分でソースコードからインストールしたり、RPMパッケージを作成してインストールすれば、今後のセキュリティフィックスなどの際にも、同じような手順で自分で対応する必要があります。(そこまでやるコストと、最新版を使うメリットとの比較をした方がいいですね)


n_maco2さんのコメント
なるほど、yumではマイナーアップデートは対応できないのですね・・ 勉強になります。 > そこまでやるコストと、最新版を使うメリットとの比較をした方がいいですね こういうソフトウェアは脆弱性対応などがあるので、5.4へのアップデートとかとは違い、5.3系統内での最新版へのアップデートは無条件にやるべきだと思っていたのですが、そうでもないのでしょうか。(よくわからないのでこれまで放置していたのですが・・) そのあたりの運用方針などを参考までにお教えいただけませんでしょうか。 ご回答ありがとうございます。

iwaimさんのコメント
CentOS(というかベースのRed Hat Enterprise Linux)の場合、脆弱性対応はパッチをあてて対応しています。だから、最新のRPMパッケージを使えば脆弱性対応はできているという認識でよいと思います。(もちろん、CentOSが対応したRPMパッケージをリリースする前に脆弱性に対する攻撃を受ける場合もありますが、それは自分でソースコードでインストールした場合も同じ) 運用としては、使っているバージョンのCentOSとベースのRed Hat Enterprise LinuxのRPMパッケージのアップデートの情報を日常的に見つつ、必要に応じて yum update などを実施していればまずはいいんじゃないかと。

n_maco2さんのコメント
phpのバージョンが上がらなくても脆弱性対応はされているというのは、まったく知りませんでした。運用のアドバイスもありがとうございます。おっしゃるとおり今後はyum updateを定期的に実施するように心がけようと思います。 大変参考になりました、ありがとうございます!

2 ● JULY
ベストアンサー

・この表記の後ろに付いている「1.el5_7.3」というものは何を表しているのでしょうか

ディストリビューションとして、パッケージを作った際のバージョン番号で、付け方はディストリビューション次第です。

「el5」は Red Hat Enterprise Linux Ver.5 の「Enterprise Linux Ver.5」を略したもので、Ver.6 向けだと、el6 となっています。また、Red Hat の版権の問題から、CentOS 側で修正した場合には、バージョン番号の中に「.centos.」という文字列が含まれています。

・php5.3.3をphp5.3.13にアップグレードするにはどうすればいいでしょうか(5.3から5.4などのアップグレードであれば結構情報があるのですが、マイナーアップデートの情報がなかなか見つからず・・)

前述のディストリビューションが付加するバージョン番号以外の部分は変えずに、オリジナルのリリースで修正された部分を抽出して適用し、付加するバージョン番号だけを更新する、という事は多いです。

なので、ディストリビューションで最初にパッケージングした時の php-5.3.3 をベースに、php-5.3.13 までの変更点のうち、ディストリビューションが修正が必要だと判断した、セキュリティ上のバグやクリティカルなバグに関する修正が施されたものになっています。

php-5.3.3 から php-5.3.13 の変更で、「この変更点が必要」というものが特に無ければ、yum update をすることで、セキュリティ上の脆弱性、及び、クリティカルな問題は解決済みのものがインストールされている状態になります。

パッケージングした時の変更履歴は、rpm コマンドで表示できます。

$ rpm -q --changelog php53
 * 金 5月 04 2012 Joe Orton <jorton@redhat.com> - 5.3.3-7
- correct detection of = in CVE-2012-1823 fix (#818607)

 * 金 5月 04 2012 Joe Orton <jorton@redhat.com> - 5.3.3-6
- add security fix for CVE-2012-1823 (#818607)

 * 金 2月 03 2012 Joe Orton <jorton@redhat.com> - 5.3.3-5
- add security fix for CVE-2012-0830 (#786758)

 * 木 1月 05 2012 Vojtech Vitek (V-Teq) <vvitek@redhat.com> - 5.3.3-4
- remove extra php.ini-prod/devel files caused by %patch -b
....

どうしても、php-5.3.13 としたければ、自前で rpm パッケージを作るしかないです。もしくは、誰かがパッケージングしているかを探すとか。ただ、誰かがパッケージングした物は、そのパッケージングした人が信用できるか、という問題もありますし、php 以外のパッケージングもしていて、その人がパッケージングした別のパッケージも使わなきゃいけない、ということもあります。


n_maco2さんのコメント
ご回答ありがとうございます。 > yum update をすることで、セキュリティ上の脆弱性、及び、クリティカルな問題は解決済みのものがインストールされている状態になります。 なるほど、phpのバージョン値はそのままでも、実質的にはセキュリティなどのクリティカルな問題は解消されている状態になるのですね。大変参考になりました。 では、yum updateをきちんとしていけばとりあえずは安心、という考えで問題なさそうに思えます。 諸々丁寧にお教えいただきましてありがとうございました!大変勉強になりました!
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ