![Centos 운영 체제에서 Berkeley DB rpm 업그레이드](https://linux55.com/image/47067/Centos%20%EC%9A%B4%EC%98%81%20%EC%B2%B4%EC%A0%9C%EC%97%90%EC%84%9C%20Berkeley%20DB%20rpm%20%EC%97%85%EA%B7%B8%EB%A0%88%EC%9D%B4%EB%93%9C.png)
Berkeley DB 4.5 이상이 필요한 소프트웨어가 있습니다.
하지만 내 CentOS 5.11 x86_64 서버에는 다음이 있습니다.
- 패키지 db4-4.3.29-10.el5_5.2.x86_64가 설치되어 있으며 최신 버전입니다.
- 패키지 db4-4.3.29-10.el5_5.2.i386이 설치되어 있으며 최신 버전입니다.
이 rpm을 최신 버전으로 업그레이드하는 방법은 무엇입니까? 다음과 같이 Centos 6.6rpm을 사용하여 업그레이드를 시도했습니다.
rpm -Uvh ftp://195.220.108.108/linux/centos/6.6/os/x86_64/Packages/db4-4.7.25-18.el6_4.i686.rpm
하지만 다음 오류가 발생합니다.
Retrieving ftp://195.220.108.108/linux/centos/6.6/os/x86_64/Packages/db4-4.7.25-18.el6_4.i686.rpm
warning: /var/tmp/rpm-xfer.IKWqHE: Header V3 RSA/SHA1 signature: NOKEY, key ID c105b9de
error: Failed dependencies:
rpmlib(FileDigests) <= 4.6.0-1 is needed by db4-4.7.25-18.el6_4.i686
rpmlib(PayloadIsXz) <= 5.2-1 is needed by db4-4.7.25-18.el6_4.i686
db4 >= 4.4.0 conflicts with pam-0.99.6.2-12.el5.i386
db4 >= 4.4.0 conflicts with pam-0.99.6.2-12.el5.x86_64
libdb-4.3.so is needed by (installed) subversion-1.6.11-12.el5_10.i386
libdb-4.3.so is needed by (installed) pam_ccreds-3-5.i386
libdb-4.3.so is needed by (installed) apr-util-1.2.7-11.el5_5.2.i386
libdb-4.3.so is needed by (installed) db4-devel-4.3.29-10.el5_5.2.i386
libdb_cxx-4.3.so is needed by (installed) db4-devel-4.3.29-10.el5_5.2.i386
또한 소스에서 컴파일을 시도했습니다 db-4.5.20.tar.gz
. 문제 없이 컴파일했지만 소프트웨어에는 여전히 rpm 패키지 db4-4.3.29에 사전 설치된 Berkley DB가 표시됩니다.
도움이 필요하세요?
답변1
여기서 다소 명확하지 않은 대답은 기존 버전과 병렬로 다른 버전의 Berekeley DB를 설치하는 것입니다. 그런 다음 빌드할 때 및 플래그를 사용하여 -I/usr/include/db-X.Y
새로 설치된 헤더/라이브러리에 대해 빌드합니다 -ldb-X.Y
.
빌드할 때 "시스템" 헤더(예: #include "db.h"
) 및 라이브러리(예: )를 방지하는 -ldb
가장 쉬운 방법은 패키지를 (일시적으로) 제거하여 빌드 중에 및 플래그를 db4-devel
사용하도록 하는 것입니다 . -I/usr/include/db-X.Y
그런 다음 -ldb-X.Y
다시 설치하십시오.db4-devel