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

2つの方法のいずれかを使用して再構築した後に生成された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!

関連情報