RHEL 6.4에 PostgreSQL 9.0 설치(소스에서 빌드한 OpenSSL 버전을 Yum에 포함시키는 방법)

RHEL 6.4에 PostgreSQL 9.0 설치(소스에서 빌드한 OpenSSL 버전을 Yum에 포함시키는 방법)

다음 오류가 발생합니다.냠 설치 postgresql90-서버:

Error: Package: postgresql90-9.0.15-1PGDG.rhel6.x86_64 (pgdg90)
       Requires: libssl.so.10(libssl.so.10)(64bit)
Error: Package: postgresql90-server-9.0.15-1PGDG.rhel6.x86_64 (pgdg90)
       Requires: libssl.so.10(libssl.so.10)(64bit)
Error: Package: postgresql90-libs-9.0.15-1PGDG.rhel6.x86_64 (pgdg90)
       Requires: libcrypto.so.10(libcrypto.so.10)(64bit)
Error: Package: postgresql90-server-9.0.15-1PGDG.rhel6.x86_64 (pgdg90)
       Requires: libcrypto.so.10(libcrypto.so.10)(64bit)
Error: Package: postgresql90-libs-9.0.15-1PGDG.rhel6.x86_64 (pgdg90)
       Requires: libssl.so.10(libssl.so.10)(64bit)

이것Google의 첫 번째 결과postgresql 9+에 필요함을 나타냅니다 openssl 1.0.1.

yum info opensslopenssl 1.0.0이 있음 이 밝혀졌습니다 . A는 yum update openssl내가 최신 버전으로 업그레이드했다고 나에게 말했다.

그래서 저는 1.0.1을 빌드해야겠다고 생각했습니다.

wget http://www.openssl.org/source/openssl-1.0.1e.tar.gz
tar -xvf openssl-1.0.1e.tar.gz
cd openssl-1.0.1e
./config
make
make test
make install

하지만 이제는 올바른 openssl이 있다는 것을 yum이 인식하게 만드는 방법을 모르겠습니다. yum install postgresql90-server위와 동일한 오류 메시지가 나타납니다 .

나는 새로운 버전의 openssl과 yum을 동기화할 수 있다면 좋을 것이라고 생각했습니다.

답변1

하지 않을 것이다. yum으로 새 소프트웨어를 처리하려면 3가지 옵션이 있습니다.

옵션 #1 - 치명적인 힘 사용

.rpm설치하려는 파일을 다운로드 하고 rpm설치를 요청하세요. 원하는 효과를 얻으려면 스위치 1개 또는 스위치 2개를 조합하여 이 작업을 수행할 수 있습니다.

  --nodeps                         do not verify package dependencies
  --force                          short hand for --replacepkgs --replacefiles

$ rpm -ivh --nodeps <rpmfile1> <rpmfile2> ...

노트:난 이러지 않을 거야!

옵션 #2 - 재포장.

특히 를 사용할 때 이런 문제가 자주 발생합니다 openssl. 소스 rpm( src.rpm) 파일을 다운로드한 다음 개발 영역에 설치하여 RPM을 빌드합니다.

노트:없는 경우 이 도구를 사용하여 rpmdev-setuptree만들 수 있습니다. 그것은 패키지에 있습니다 rpmdevtools.

이 중 하나를 잡을 수 있습니다Openssl 패키지는 Fedora의 Koji 빌드 서비스에서 사용할 수 있습니다., 예를 들어,이것. .src.rpm패키지를 다운로드하여 개발 영역( $HOME/rpmbuild) 에 설치 해야 합니다 .

$ rpm -ivh http://kojipkgs.fedoraproject.org/packages/openssl/1.0.1e/34.fc21/src/openssl-1.0.1e-34.fc21.src.rpm

일단 설치되면 패키지 버전의 다양한 부분의 골격을 갖게 됩니다 openssl. 나는 종종 SPEC/openssl.spec파일을 편집하고 내 자신의 openssl-latest.tar.gz.

이 가방을 다 완성하고 나면 다시 만들 수 있습니다.

$ rpmbuild -tb SPEC/openssl.spec

대안으로, .src.rpm최신 수준이고 다시 빌드하려는 경우 다음을 수행하십시오.

$ rpmbuild --rebuild openssl..src.rpm

두 방법 중 하나를 사용하여 다시 빌드한 후 생성된 RPM 파일은 다음과 같습니다.

$ $HOME/rpmbuild/RPMS/x86_64/openssl-...rpm

옵션 #3 - yum의 쉘 사용

yum혼합 패키지가 있는 시스템을 처리하는 방법에 대한 팁은 이 페이지를 참조하세요 . 이 방법은 단일 명령줄보다 더 복잡한 작업을 수행하기 위해 yum을 사용해야 하는 경우에 더 적합합니다.

이것은 당신에게도 도움이 될 수 있습니다.

답변2

나는 당신과 똑같은 RPM을 설치하는 것과 매우 비슷한 문제를 겪었습니다.

강제로 시도했지만 postgres는 일단 설치되면 작동하지 않습니다. 올바른 libssl이 있음에도 불구하고 실행을 거부합니다.

RPM을 직접 설치하는 것이 좋지만 버전 9.0.14에서는 9.0.15 RPM이 깨졌습니다. 이것은 나에게 효과적입니다.

답변3

CentOS 6.x의 Postgres 9.0 - 9.3에서 PGDG를 설치할 때도 동일한 문제가 발생했습니다. 이것이 우리가 해결한 방법입니다:

먼저 원하는 Postgres 버전을 다운로드하여 설치했습니다.

yum install http://yum.postgresql.org/9.2/redhat/rhel-6-x86_64/pgdg-redhat92-9.2-7.noarch.rpm

postgresql92 패키지를 설치하려고 할 때 동일한 오류가 발생했습니다.

Error: Package: postgresql92-9.2.9-1PGDG.rhel6.x86_64 (pgdg92)
 Requires: libssl.so.10(libssl.so.10)(64bit) Error: Package: postgresql92-server-9.2.9-1PGDG.rhel6.x86_64 (pgdg92)
 Requires: libcrypto.so.10(libcrypto.so.10)(64bit) Error: Package: postgresql92-contrib-9.2.9-1PGDG.rhel6.x86_64 (pgdg92)
 Requires: libcrypto.so.10(libcrypto.so.10)(64bit) Error: Package: postgresql92-libs-9.2.9-1PGDG.rhel6.x86_64 (pgdg92)
 Requires: libcrypto.so.10(libcrypto.so.10)(64bit) Error: Package: postgresql92-server-9.2.9-1PGDG.rhel6.x86_64 (pgdg92)
 Requires: libssl.so.10(libssl.so.10)(64bit) Error: Package: postgresql92-contrib-9.2.9-1PGDG.rhel6.x86_64 (pgdg92)
 Requires: libssl.so.10(libssl.so.10)(64bit) Error: Package: postgresql92-libs-9.2.9-1PGDG.rhel6.x86_64 (pgdg92)
 Requires: libssl.so.10(libssl.so.10)(64bit)

해결하려면 (어떤 거울이든 사용할 수 있습니다. 패키지를 찾았습니다.http://rpm.pbone.net/index.php3/stat/4/idpl/25381551/dir/centos_6/com/openssl-1.0.1e-16.el6_5.4.x86_64.rpm.html):

yum install ftp://ftp.muug.mb.ca/mirror/centos/6.5/updates/x86_64/Packages/openssl-1.0.1e-16.el6_5.4.x86_64.rpm
yum install ftp://ftp.muug.mb.ca/mirror/centos/6.5/updates/x86_64/Packages/openssl-devel-1.0.1e-16.el6_5.4.x86_64.rpm
yum install ftp://ftp.muug.mb.ca/mirror/centos/6.5/updates/x86_64/Packages/openssl-static-1.0.1e-16.el6_5.4.x86_64.rpm

마지막으로 원하는 postgres 패키지를 설치합니다(확인하기 위해 모든 것을 설치했습니다).

yum install postgresql92*

...

Installed:   postgresql92.x86_64 0:9.2.9-1PGDG.rhel6                  
postgresql92-contrib.x86_64 0:9.2.9-1PGDG.rhel6                      
postgresql92-debuginfo.x86_64 0:9.2.9-1PGDG.rhel6                
postgresql92-devel.x86_64 0:9.2.9-1PGDG.rhel6                        
postgresql92-docs.x86_64 0:9.2.9-1PGDG.rhel6                     
postgresql92-jdbc.x86_64 0:9.2.1002-1PGDG.rhel6                      
postgresql92-jdbc-debuginfo.x86_64 0:9.2.1002-1PGDG.rhel6        
postgresql92-libs.x86_64 0:9.2.9-1PGDG.rhel6                         
postgresql92-odbc.x86_64 0:09.02.0100-1PGDG.rhel6                
postgresql92-odbc-debuginfo.x86_64 0:09.02.0100-1PGDG.rhel6          
postgresql92-plperl.x86_64 0:9.2.9-1PGDG.rhel6                   
postgresql92-plpython.x86_64 0:9.2.9-1PGDG.rhel6                     
postgresql92-pltcl.x86_64 0:9.2.9-1PGDG.rhel6                    
postgresql92-server.x86_64 0:9.2.9-1PGDG.rhel6                       
postgresql92-tcl.x86_64 0:2.0.0-1.rhel6                          
postgresql92-tcl-debuginfo.x86_64 0:2.0.0-1.rhel6                    
postgresql92-test.x86_64 0:9.2.9-1PGDG.rhel6                     

Dependency Installed:   java-1.5.0-gcj.x86_64 0:1.5.0.0-29.1.el6      
java_cup.x86_64 1:0.10k-5.el6         jpackage-utils.noarch
0:1.7.5-3.12.el6           libart_lgpl.x86_64 0:2.3.20-5.1.el6        
libgcj.x86_64 0:4.4.7-3.el6           libtool-ltdl.x86_64
0:2.2.6-15.5.el6             libxslt.x86_64 0:1.1.26-2.el6_3.1        
sinjdoc.x86_64 0:0.5-9.1.el6          unixODBC.x86_64
0:2.2.14-12.el6_3                uuid.x86_64 0:1.6.1-10.el6           

Complete!

관련 정보