CentOS에서 yum이 오래된 패키지를 설치하는 이유는 무엇입니까? (특히 PHP 5.1) 수정하는 방법?


14

나는 새로운 CentOS 서버에서 일하고 있으며 yum이 우분투에서 "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.net에 따라 5.3.9)로 PHP를 수정하려면 어떻게해야합니까? CentOS 머신을 우분투처럼 작동하게하려면 어떻게해야합니까?

매우 감사합니다.

편집 : 지난 주에 호스팅 회사가 CentOS 5.7을 설치했기 때문에 최신 버전이 아닌 이전 버전의 CentOS를 설치 한 이유를 모르겠습니다. 적어도 PHP 3.2가 필요하므로 그렇게하는 방법에 대한 제안에 감사드립니다. 패키지와 리포지토리에 익숙하지는 않지만 누구나 리포지토리를 시작할 수 있으므로 서버를 감염시킬 수있는 임의의 리포지토리에서 항목을 설치하는 것이 중요합니다.


1
우분투의 LTS 버전을 고수하고 있다면 Hardy는 PHP 5.2에 있고 Lucid는 약간 불완전한 새로운 5.3.2에 있다고 지적 할 수 있습니다. 표준 Ubuntu LTS 저장소에는 비슷한 "이전"버전의 mysql 서버가 있습니다. RHEL5는 Hardy 1 년 전에 출시되었으므로 PHP 5.1에 있다는 것은 놀라운 일이 아닙니다. RHEL 및 Ubuntu LTS는 패키지 안정성을 위해 제작되었습니다. 최신 정보를 원한다면 Fedora 또는 LTS가 아닌 우분투를 사용하십시오.
cjc

다음은 PHP 버전을 PHP5.5 webtatic.com/packages/php55로
Mirza

답변:


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

진실. 나는 그에게 물고기를주는 대신 낚시하는 법을 가르치기로 결정했습니다. 그리고 나는 그것이 약간 코를 sup다고 생각하지만, 나는 36시에 두 시간의 잠을 잤으며 SPOF 중단으로 인해 이번 주말에는 많이 자지 않을 것입니다.
마젤란

2
@jgoldschrafe-나는 당신 자신의 답변을 쓰는 ​​것이 좋습니다-그것은 단지 정정으로 논평하는 것보다 생산적입니다.
EEAA

호스팅 회사의 전용 서버입니다. 개인적으로 서버에 서버를 설치하고 싶었지만, 상사는 이런 식으로 안전하다고 느꼈습니다. 호스팅 회사가 최신 대신 CentOS 5.7을 설치하는 이유가 궁금합니다.
Buttle Butkus

4
@jgoldschrafe, 나에게 질문은 PHP 버전에 관한 것이 아닌 것 같습니다. 문제는 보수적 인 릴리스 정책에 관한 것 같습니다. 포스트가 대답하려고합니다. 이 미스 정보라고 부르는 것이 현명하다고 생각합니다.
Zoredache

6

그들은 구식이 아닙니다. CentOS 5가 리포지토리에있는 최신 버전입니다.

Red Hat (및 그 문제에 대한 Ubuntu)은 안정성을 위해 주어진 OS 버전의 패키지 리포지토리에 새로운 주요 버전의 소프트웨어를 게시하지 않습니다. 작업.

대신, OS가 출시 될 때 '안정된'소프트웨어 버전으로 보안 수정 및 중요 버그 수정을 백 포트하여 새로운 기능 (및 버그)의 도입을 피합니다.

CentOS 5를 사용하고 있기 때문에 공식 저장소에는 상당히 오래된 버전이 있습니다. 그러나 걱정하지 마십시오. 필요한 소프트웨어 버전으로 타사 저장소를 쉽게 찾을 수 있습니다.

아니면 6으로 업그레이드하지 않겠습니까?


이것은 완전히 사실이 아닙니다-PHP 5.3이 핵심 저장소에 있으며 당신은 단지 필요합니다 yum install php53.
jgoldschrafe

1
@jgoldschrafe 좋은 전화. 새로운 MySQL에는 타사 저장소가 여전히 필요하지만 여전히 필요할 수 있습니다.
Shane Madden

"또는 6으로 업그레이드하지 않겠습니까?" 더 나은 질문은 왜 SingleHop이 서버에서 5.7을 제공 했습니까? @jgoldschrafe는 설치된 패키지를 대체합니까, 아니면 수동으로 제거합니까?
Buttle Butkus

CentOS 6은 몇 달 전에 출시되었습니다. 작년 초에 주문한 상자는 5.7입니다. CentOS 6으로 머신을 재 이미징 할 수있는 옵션이 있다면 그렇게 할 수 있습니다.
cjc

@cjc 약 2 주 전에 주문되었습니다. 이미 약 80GB의 FTP를 사용하고 있으므로이 설치 작업을보다 쉽게 ​​수행 할 수 있다고 생각합니다. jgoldschrafe가 권장하는 것을 사용하려고합니다 : yum install php53, php가 이미 설치되어 있기 때문에 작동하지 않습니다.
Buttle Butkus 2012 년

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은 또 다른 이야기입니다. MySQL 5.0은 기본 CentOS 리포지토리에서 유일한 MySQL이기 때문입니다. CentOS의 64 비트 버전을 실행합니다. 대신 32 비트에 맞게 다음을 조정할 필요가 없습니다.

여러 가지 방법이 있지만 Remi 저장소와 함께 갈 것입니다. 몇 년 동안 사용되어 왔으며 일반 RPM 파일을 사용하는 것보다 repo로 유지 관리가 더 쉽습니다.

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, 기본적으로 오래된 패키지가 아닌 최신 패키지를 얻는 방법이 있는지 여부에 대한 질문입니다.
Buttle Butkus

@ButtleButkus 업데이트 할 때 알림을받을 수 있을지 모르겠습니다. 다음과 같이하십시오 :)
Frands Hansen

방금 업데이트를 봤습니다. 나는 문제를 해결했고 당신의 대답은 내가 한 일과 일치하는 것처럼 보입니다. 그래도 내 노트를 다시 확인해야합니다.
Buttle Butkus

1
최신 rpm을위한 몇 가지 소스가 더 있습니다. Rackspace IUS iuscommunity.org/pages/About.html 및 webtatic webtatic.com/projects/yum-repository
txyoji
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.