古いパッケージがyumによってCentOSにインストールされるのはなぜですか?(特にPHP 5.1)修正方法


14

私は新しいCentOSサーバーで作業していますが、yumがUbuntuで「apt-get install」のようにスムーズかつ見事に動作しないことを知って非常にイライラしています。

LAMPスタックをインストールして、次を実行しました。

$ yum install php
$ yum install mysql

さらに:

$ yum install mysql-server
$ yum install mysql-devel
$ yum install php-mysql

現在実行中:

$ rpm -qa | grep php

...すべての種類のphp 5.1.6パッケージがインストールされており、5.2以上が必要であることを示しています。さらに、現在のリリースが5.5.20であっても、mysql 5.0.77がインストールされていることがわかります。しかし、うまくいけばmysql 5.0が動作するでしょう。PHP 5.1はサポートしません。

したがって、本当の質問は次のとおりです。

PHPを修正して最新の安定版リリース(PHP.netによると5.3.9)にするにはどうすればよいですか?CentOSマシンをUbuntuのように動作させるにはどうすればよいですか?これを再度処理する必要はありませんか?

どうもありがとう。

編集:CentOS 5.7は先週ホスティング会社によってインストールされたので、なぜ最新のものではなくCentOSの古いバージョンをインストールしたのかわかりません。少なくともPHP 3.2が必要なので、その方法についての提案に感謝します。私はパッケージとリポジトリにあまり詳しくありませんが、だれでもリポジトリを起動できるようですので、サーバーに感染する可能性のあるランダムなリポジトリからのものをインストールすることを心配しています。


1
UbuntuのLTSバージョンに固執している場合、Hardyはphp 5.2にあり、Lucidは少しばかり新調の5.3.2にあることを指摘できます。標準のUbuntu LTSリポジトリには、同様に「古い」バージョンのmysqlサーバーがあります。RHEL5はHardyの1年前にリリースされたため、PHP 5.1であることは驚くことではありません。RHELとUbuntu LTSは、パッケージの安定性のために構築されています。最新のものが必要な場合は、Fedoraまたは非LTS Ubuntuを使用してください。
cjc

ここで、PHPバージョンをPHP5.5 webtatic.com/packages/php55に
Mirza Selimovic

回答:


11

CentOSは非常に保守的なRed Hat Enterprise Linuxの派生物であるため、通常、パッケージの更新はRHELよりもさらに遅れます。どちらのディストリビューションのパッケージも少し古いものになります。

CentOS 5を実行している場合は、CentOS 6を試して、ニーズに合っているかどうかを確認する必要があります。

CentOS 6よりも少し最先端のものが必要な場合は、Fedoraを調べる必要があります。

フォローアップ:CentOSは「社内」に持ち込まれ、より緊密に統合されています。新しいCentOSリリースでは、リリースサイクルが短縮されるという利点がありますが、古いリリースではこの答えは引き続き当てはまります。


2
このスレッドの誤報の量は絶対に馬鹿げています。CentOS 5には1年以上PHP 5.3が含まれていますが、ABIの懸念があるため、デフォルトでインストールされるバージョンではありません。yum install php53あなたの方法であなたを取得します。
-jgoldschrafe

本当です。私は彼に魚を与えるのではなく、釣り方を教えることにしました。そして、実際にはわずかに陰気だったと思いますが、36時間で数時間睡眠をとりましたが、SPOFの停止により、今週末もあまり眠りません。
マゼラン

2
@jgoldschrafe-独自の回答を書くことをお勧めします-修正を加えてコメントするよりも生産的です。
EEAA

ホスティング会社の専用サーバーです。個人的に私たちの財産にサーバーを持ちたいと思っていたでしょうが、上司はこの方法でより安全だと感じました。ホスティング会社が最新ではなくCentOS 5.7をインストールするのはなぜだろうか。
バトルビュータス

4
私にとって質問である@jgoldschrafeは、特にphpバージョンに関するものではないようです。質問は保守的なリリースポリシーに関するものであったように思われます。このミス情報と呼ぶのは大事だと思います。
ゾレダチェ

6

それらは時代遅れではありません。CentOS 5のリポジトリにある最新のものです。

Red Hat(およびその点ではUbuntu)は、安定性のために、特定のOSバージョンのパッケージリポジトリにソフトウェアの新しいメジャーバージョンを決して公開しません。作業。

代わりに、OSがリリースされたときに「安定」していたソフトウェアのバージョンにセキュリティ修正と重要なバグ修正をバックポートし、新機能(およびそのバグ)の導入を回避します。

CentOS 5を使用しているため、公式リポジトリにはかなり古いバージョンのものがあります。しかし、心配しないでください。おそらく、必要なソフトウェアのバージョンを備えたサードパーティのリポジトリを簡単に見つけることができます。

または、6にアップグレードしてみませんか?


これは完全に真実ではありません-PHP 5.3はコアリポジトリにありますyum install php53
-jgoldschrafe

1
@jgoldschrafe良い電話。新しいMySQLにはサードパーティのレポジトリが必要なようです。
シェーンマッデン

「または、6にアップグレードしてみませんか?」より良い質問は、SingleHopがサーバー上で5.7を提供した理由です。@jgoldschrafeはインストールされたパッケージを置き換えますか、それとも手動で削除しますか?
バトルビュートス

CentOS 6は、ほんの数か月前に利用可能になりました。ボックスが昨年初めに注文された場合、それは5.7でした。CentOS 6でマシンのイメージを再作成するオプションがある場合は、確かにそれを行うことができます。
cjc

@cjc約2週間前に注文しました。私はすでに約80GBのFTPを使用しているので、このインストールを機能させる方が簡単だと思います。jgoldschrafeが推奨したものを使用しようとしています。yuminstall php53ですが、phpが既にインストールされているため機能しません。
バトルビュータス

4

使用したい場合は、CentOSをアンインストールしてUbuntuをインストールします。ただし、使用するCentOSの古いバージョンである必要があります。CentOS 6.2は、PHP 5.3およびMySQL 5.1を使用します。

Remiリポジトリを使用して、Apache / PHP / MySQLの新しいバージョンを取得できます。

また、CentOSマシン Ubuntu ではありません。Ubuntu ではないためです。「クライスラーのドライブをフォードのよ​​うにするにはどうすればいいか」というようなものです。


更新された応答:

私はこれについていくつかの採決を得たので、私の意図は誤解されていると思うので、それを修正してみましょう。

私たちの環境でVPSをセットアップし、パッケージをインストールしたので、あなたが今いる場所にいるはずです。

[root@centos5 /]# cat /etc/issue
CentOS release 5.7 (Final)
Kernel \r on an \m

[root@centos5 /]# rpm -qa |grep php
php-common-5.1.6-27.el5_7.4
php-mysql-5.1.6-27.el5_7.4
php-cli-5.1.6-27.el5_7.4
php-pdo-5.1.6-27.el5_7.4
php-5.1.6-27.el5_7.4

最初の応答では、最新のリリースが必要であると想定したため、上記のようにRemiリポジトリを使用する必要があります。ただし、centOS内のPHP 5.3バージョンが適切な場合(5.3.3)、読み進めてください。

php53をインストールしようとすると、このパッケージはPHP 5.1パッケージと同じものをカバーするため、競合があると文句を言います。これを解決するには、すべてのPHP関連パッケージを削除してから開始する必要があります。

[root@centos5 /]# yum remove php*
[root@centos5 /]# rpm -qa |grep php
[root@centos5 /]# 

次に、php53で同等のパッケージをインストールします。

[root@centos5 /]# yum install php53 php53-cli php53-mysql
[root@centos5 /]# rpm -qa |grep php
php53-common-5.3.3-1.el5_7.5
php53-cli-5.3.3-1.el5_7.5
php53-pdo-5.3.3-1.el5_7.5
php53-5.3.3-1.el5_7.5
php53-mysql-5.3.3-1.el5_7.5

したがって、PHPは非常に簡単でした。しかし、MySQLは別の話です。MySQL5.0はデフォルトのCentOSリポジトリにある唯一のMySQLです。64ビットバージョンのCentOSを実行していますが、32ビットに合うように以下を調整する必要がない場合は。

これを行う方法はいくつかありますが、私はRemiリポジトリを使用します。それは何年も前から存在しており、単純なRPMファイルを使用するよりもレポを使用すると保守が簡単です。

RemiにはEPELリポジトリが必要なため、以下をインストールすることから始めます

[root@centos5 /]# rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
Retrieving http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
warning: /var/tmp/rpm-xfer.lvLBMJ: Header V3 DSA signature: NOKEY, key ID 217521f6
Preparing...                ########################################### [100%]
   1:epel-release           ########################################### [100%]

次に、Remi repo RPMをインストールします

[root@centos5 /]# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
Retrieving http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
warning: /var/tmp/rpm-xfer.ztjinG: Header V3 DSA signature: NOKEY, key ID 00f97f56
Preparing...                ########################################### [100%]
   1:remi-release           ########################################### [100%]

次は、現在のMySQLサーバ(新しいものをインストールしようとしたときそうしないと、競合を取得します)。..削除注意!データベースがそこにある場合、これを行う前にバックアップを作成してください!

[root@centos5 /]# yum remove mysql*

次に、RemiリポジトリからMySQLをインストールできます。

[root@centos5 /]# yum --enablerepo=remi install mysql.x86_64 mysql-server.x86_64

さて、MySQLを起動しようとすると、古いmysqlが何かを残したために失敗する可能性があります。ここでの私のケースでは、機能させるためにいくつかのものを削除する必要がありました。これらは私のためにそれをしました:

# rm -rf /usr/share/mysql
# rm -rf /var/lib/mysql
# yum --enablerepo=remi reinstall mysql-libs
# /usr/libexec/mysqld --skip-grant &
# mysql_install_db
# /etc/init.d/mysqld stop
# /etc/init.d/mysqld start

1
Welp、それは基本的に、古いパッケージではなく最新のパッケージを取得する方法があるかどうかの問題です。
バトルビュータス

@ButtleButkus更新時に通知されるかどうかわからないので、確認するためにコメントを書いています:)
Frands Hansen

あなたの更新を見ました。私は問題を解決しましたが、あなたの答えは、私がやったことと一致するようです。ただし、メモを再確認する必要があります。
バトルビュータス

1
最新のrpmには、さらに2つのソースがあります。Rackspace IUS iuscommunity.org/pages/About.htmlおよびwebtatic webtatic.com/projects/yum-repository
txyoji
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.