![无需 yum 在 CentOS 6.4 上安装 PostgresSQL](https://linux22.com/image/1417586/%E6%97%A0%E9%9C%80%20yum%20%E5%9C%A8%20CentOS%206.4%20%E4%B8%8A%E5%AE%89%E8%A3%85%20PostgresSQL.png)
我有一台运行 CentOS 6.4 的公司服务器,我需要在该服务器上安装部署 webapp 所需的工具。其中一个工具是 PostgreSQL 服务器,但是公司 VPN 阻止了 yum,并且有人告诉我“配置 yum 通过公司代理太难了”,而我自己没有权限/能力来做这件事。因此,我基本上只能手动下载 rpm,通过 WinSCP 将它们传输到服务器,然后祈祷一切rpm -i
顺利。
我已经下载了 3 个 rpm:
postgresql193-9.3.5.1PGDG.rhel6.x86_64.rpm
postgresql193-libs-9.3.5.1PGDG.rhel6.x86_64.rpm
postgresql193-server-9.3.5.1PGDG.rhel6.x86_64.rpm
将它们转移到 /usr/local/pgsql 并运行rpm -iv posgresql193-*.rpm
并得到:
error: Failed dependencies:
libssl.so.10(libssl.so.10)(64bit) is needed by postgresql93-9.3.5-1PGDG.rhel6.x86_64
libcrypto.so.10(libcrypto.so.10)(64bit) is needed by postgresql93-libs-9.3.5-1PGDG.rhel6.x86_64
libssl.so.10(libssl.so.10)(64bit) is needed by postgresql93-libs-9.3.5-1PGDG.rhel6.x86_64
libcrypto.so.10(libcrypto.so.10)(64bit) is needed by postgresql93-server-9.3.5-1PGDG.rhel6.x86_64
libssl.so.10(libssl.so.10)(64bit) is needed by postgresql93-server-9.3.5-1PGDG.rhel6.x86_64
查看这些 deps 我发现它们属于 openssl,但是运行时rpm -qa openssl
我得到一个匹配项:openssl-1.0.0-27.el6.x86_64
那么这是怎么回事?OpenSSL 版本是否太低?我一直在寻找 rpm 格式的 OpenSSL 新 CentOS 版本,但没有找到任何实质性结果。希望我不必自己编译它。我该怎么办?
哦,顺便说一下,我是一个 centos/*nix 新手,所以对我宽容点。
答案1
PGDG RPM 不是独立的 - 可能需要从 PGDG repo 提供一些其他依赖项。
它们还需要当前的 RHEL 或 CentOS 版本据我所知 - 所以你会想要使用 6.5。当然,处理升级的常用方法是使用 yum...
你需要:
使用 或其他方式在本地镜像 PGDG yum repo
rsync
,然后指向yum
您的镜像;使用
yum
一个没有互联网连接的盒子来下载你需要的所有软件包,然后将它们复制过来;或者最好敲响你那些代理服务器的警钟;yum 只使用 HTTP,而且除非你拥有已知宇宙中最差的代理服务器,否则配置起来并不困难。
您可以通过调用 Security Spectre 来说服防火墙人员。“CentOS 6.5 中修复了以下严重、可怕的天哪安全漏洞,我们需要立即更新!唯一的办法就是 yum!”。
答案2
是openssl版本太低了。
我从以下位置下载了适用于 centos 的最新 openssl rpmLinux 软件包搜索,更新了 openssl 然后成功安装了 postgresql。