최신 버전의 종속 소프트웨어가 존재하는 경우 YUM 종속성 검사를 재정의합니다.

StackOverflow https://stackoverflow.com/questions/660398

  •  20-08-2019
  •  | 
  •  

문제

Centos 5.1에서 yum을 사용하고 있습니다 - 소스에서 PHP 5.2.8을 수동으로 컴파일했지만 yum을 사용하여 다른 패키지를 설치했습니다. PECL을 통해 PHP 확장을 설치해야하며 PHPIZE도 설치해야합니다. 그러나 다음을 수행하면 종속성 오류가 발생합니다.

Sudo Yum 설치 PHP-Devel

오류 : 종속성 누락 : PHP = 5.1.6-20.EL5_2.1 패키지 PHP-DEVEL이 필요합니다.

실제로 새로운 버전의 PHP가 이미 설치되어 있기 때문에 Yum을 어떻게 무시하도록 강요 할 수 있습니까? 소스에서 pecl/phpize를 직접 컴파일해야합니까? 나는 전에는 문제가 없었습니다. 컴퓨터와 yum 설치의 콤보 때문인 것 같습니다.

이견있는 사람?

고마워, 카일

도움이 되었습니까?

해결책

일반적으로 시스템에 하나의 패키지 관리를하는 것이 좋습니다. 따라서 RPM에 모든 것을 포장하고 YUM을 통해 관리하는 것이 좋습니다. 장기적으로 많은 시간을 절약 할 수 있습니다.

손으로 소스에서 무언가 (FE PHP) 컴파일러를 원한다면 Stow/CheckInstall/... 또는 소스 컴파일 된 물건에 대한 초보적 인 패키지 관리를 수행 할 수있는 다른 솔루션을 사용하십시오.

질문을 다시 말하면 필요한 패키지의 RPM을 다운로드하여 "rpm -i -force file.rpm"을 수행하여 강제 설치에 대한 옵션이 없기 때문에 종속성 검사를 무시할 수 있습니다.

다른 팁

일반적으로 :

직접 구축하면 들어갑니다 /usr/local, 다른 것들에만 접근 할 수 있습니다 /usr/local.

rpm/yum에서 설치하면 /usr, 접근 가능합니다 /usr 그리고 /usr/local.

따라서 가정 컴파일 된 PHP를 사용하여 PHP 도구를 설치하려면 설치하십시오. /usr/local 또한 : 일반적으로 GNU 유형 소프트웨어를 사용하면 다음과 같습니다.

   ./configure --prefix=/usr/local && make && sudo make install

또는

   make prefix=/usr/local all && sudo make prefix=/usr/local install

…하지만 대부분 소프트웨어는 기본값으로되어야합니다 /usr/local 접두사 설정을 무시하지 않는 한.

RPM을 기반으로 한 "손으로 건축"하려면 사용할 수 있습니다.

   yumdownloader --source WHATEVER-PACKAGE
   rpm -i WHATEVER-PACKAGE.rpm
   rpmbuild -bp ~/rpm/SPECS/WHATEVER-PACKAGE.spec

(귀하의 경로는 동등합니다 ~/rpm 다를 수 있습니다; rpmbuild --showrc 어디에 있는지 알려줄 것입니다)

이것은 다운로드합니다 .src.rpm 업스트림 (원본 저자) 소스 (일반적으로 타르볼)와 OS 특이 적 패치가 포함 된 패키지; 소스를 설치합니다 ~/rpm (또는 RPMBuild 접두사); 그런 다음 소스를 풀고 패치를 ~/rpm/BUILD/WHATEVER-PACKAGE/

거기에서 당신은 /usr/local 접두사

물론 RPM에서 설치하는 것만으로는 훨씬 쉽습니다 :-)

yum 손으로 컴파일 된 PHP 버전에 대해 아무것도 모릅니다. 패키지를 사용하여 RPM의 종속성 해상도를 우회 할 수 있습니다. rpm --nodeps 그리고 그것이 효과가 있기를 바랍니다.

또는 다른 디렉토리에 자신을 컴파일 한 PHP 버전을 설치하여 yum의 이전 버전과 공존 할 수 있으므로 모든 사람이 행복합니다 (가능한지 확실하지 않으면 앱이 PHP에 대한 하드 코드 경로를 사용하는지 여부에 따라 다릅니다). .

또는 운이 좋으면 제 3 자 저장소와 같은 Epel 또는 rpmforge 최신 PHP 패키지가있을 수 있으므로 직접 컴파일 할 필요가 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top