我收到以下错误yum 安装 postgresql90-server:
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)
这谷歌上的第一个结果表明 postgresql 9+ 需要openssl 1.0.1
.
透露yum info openssl
我有 openssl 1.0.0。 Ayum 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
但现在我不知道如何让 yum 意识到我拥有正确的 openssl。结果yum install postgresql90-server
与上面相同的错误消息。
我想如果我能将 yum 与我的新版本 openssl 同步,那就太好了。
答案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
。
您可以抓住其中之一Fedora 的 Koji 构建服务上提供 openssl 软件包, 例如,这个。您需要下载该.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 的 shell
您可以查阅此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!