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などのアップグレードであれば結構情報があるのですが、マイナーアップデートの情報がなかなか見つからず・・)

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

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/05/31 11:43:09
  • 終了:2012/05/31 14:01:09

ベストアンサー

id:JULY No.2

JULY回答回数966ベストアンサー獲得回数2472012/05/31 12:09:18

・この表記の後ろに付いている「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 以外のパッケージングもしていて、その人がパッケージングした別のパッケージも使わなきゃいけない、ということもあります。

id:n_maco2

ご回答ありがとうございます。

> yum update をすることで、セキュリティ上の脆弱性、及び、クリティカルな問題は解決済みのものがインストールされている状態になります。

なるほど、phpのバージョン値はそのままでも、実質的にはセキュリティなどのクリティカルな問題は解消されている状態になるのですね。大変参考になりました。
では、yum updateをきちんとしていけばとりあえずは安心、という考えで問題なさそうに思えます。

諸々丁寧にお教えいただきましてありがとうございました!大変勉強になりました!

2012/05/31 12:19:05

その他の回答(1件)

id:iwaim No.1

iwaim回答回数215ベストアンサー獲得回数192012/05/31 11:59:43

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

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

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

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

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

他1件のコメントを見る
id:iwaim

CentOS(というかベースのRed Hat Enterprise Linux)の場合、脆弱性対応はパッチをあてて対応しています。だから、最新のRPMパッケージを使えば脆弱性対応はできているという認識でよいと思います。(もちろん、CentOSが対応したRPMパッケージをリリースする前に脆弱性に対する攻撃を受ける場合もありますが、それは自分でソースコードでインストールした場合も同じ)

運用としては、使っているバージョンのCentOSとベースのRed Hat Enterprise LinuxのRPMパッケージのアップデートの情報を日常的に見つつ、必要に応じて yum update などを実施していればまずはいいんじゃないかと。

2012/05/31 12:22:57
id:n_maco2

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

2012/05/31 12:43:29
id:JULY No.2

JULY回答回数966ベストアンサー獲得回数2472012/05/31 12:09:18ここでベストアンサー

・この表記の後ろに付いている「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 以外のパッケージングもしていて、その人がパッケージングした別のパッケージも使わなきゃいけない、ということもあります。

id:n_maco2

ご回答ありがとうございます。

> yum update をすることで、セキュリティ上の脆弱性、及び、クリティカルな問題は解決済みのものがインストールされている状態になります。

なるほど、phpのバージョン値はそのままでも、実質的にはセキュリティなどのクリティカルな問題は解消されている状態になるのですね。大変参考になりました。
では、yum updateをきちんとしていけばとりあえずは安心、という考えで問題なさそうに思えます。

諸々丁寧にお教えいただきましてありがとうございました!大変勉強になりました!

2012/05/31 12:19:05

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません