当我尝试奔跑
yum install postgresql
我收到以下错误消息:
Transaction Check Error:
file /usr/lib64/libecpg.so.6.1 from install of postgresql-libs-8.4.4-2PGDG.el5.x86_64 conflicts with file from package postgresql84-libs-8.4.7-1.el5_6.1.x86_64
file /usr/lib64/libecpg_compat.so.3.1 from install of postgresql-libs-8.4.4-2PGDG.el5.x86_64 conflicts with file from package postgresql84-libs-8.4.7-1.el5_6.1.x86_64
file /usr/lib64/libpgtypes.so.3.1 from install of postgresql-libs-8.4.4-2PGDG.el5.x86_64 conflicts with file from package postgresql84-libs-8.4.7-1.el5_6.1.x86_64
file /usr/lib64/libpq.so.5.2 from install of postgresql-libs-8.4.4-2PGDG.el5.x86_64 conflicts with file from package postgresql84-libs-8.4.7-1.el5_6.1.x86_64
file /usr/share/locale/de/LC_MESSAGES/libpq5-8.4.mo from install of postgresql-libs-8.4.4-2PGDG.el5.x86_64 conflicts with file from package postgresql84-libs-8.4.7-1.el5_6.1.x86_64
file /usr/share/locale/es/LC_MESSAGES/libpq5-8.4.mo from install of postgresql-libs-8.4.4-2PGDG.el5.x86_64 conflicts with file from package postgresql84-libs-8.4.7-1.el5_6.1.x86_64
file /usr/share/locale/fr/LC_MESSAGES/libpq5-8.4.mo from install of postgresql-libs-8.4.4-2PGDG.el5.x86_64 conflicts with file from package postgresql84-libs-8.4.7-1.el5_6.1.x86_64
file /usr/share/locale/ko/LC_MESSAGES/libpq5-8.4.mo from install of postgresql-libs-8.4.4-2PGDG.el5.x86_64 conflicts with file from package postgresql84-libs-8.4.7-1.el5_6.1.x86_64
file /usr/share/locale/pt_BR/LC_MESSAGES/libpq5-8.4.mo from install of postgresql-libs-8.4.4-2PGDG.el5.x86_64 conflicts with file from package postgresql84-libs-8.4.7-1.el5_6.1.x86_64
file /usr/share/locale/zh_CN/LC_MESSAGES/libpq5-8.4.mo from install of postgresql-libs-8.4.4-2PGDG.el5.x86_64 conflicts with file from package postgresql84-libs-8.4.7-1.el5_6.1.x86_64
Error Summary
虽然我知道存在一些冲突的 repos 版本(?),但我无法找到解决它的方法。
在此先感谢您的任何建议。
答案1
尝试解释一下这种情况是如何发生的,看起来你在某个时候将你的服务器指向了 PostgreSQL 开发组 (PGDG) yum 存储库,现在托管在http://yum.pgrpms.org/ 该存储库发生了一些变化,可能影响您使用它。此外,RedHat 现已将 PostgreSQL 8.4 添加到其自己的软件包集中 — — 以前您只能从他们那里获得 8.1 — — 因此,这可能是引发冲突的原因。
如果你在这里还有任何问题,PostgreSQL Yum 使用方法可能会帮助您了解这里涉及的文件在哪里,以及它们应该是什么样子。
答案2
上面的输出表明已经安装了 postgresql 的一个版本,可能是来自不同的存储库。您可以通过检查“yum list installed”的输出来确认这一点。在尝试再次安装之前,最好先将其删除。
答案3
尝试一下yum list | grep postgres
,看看输出结果中是否列为“已安装”。如果您有来自其他存储库的版本,但不想继续使用,则可以yum erase packagename
,其中packagename
是系统上已安装的 postgresql 包的名称。删除其他存储库也可能有意义,但这可能不是必需的。
答案4
您尝试同时安装包 postgresql-libs-8.4.4-2PGDG.el5.x86_64 和 postgresql84-libs-8.4.7-1.el5_6.1.x86_64。
这表明您启用了不兼容的存储库。如果是 RHEL 安装,我建议禁用除默认存储库之外的所有存储库,然后再次运行yum install postgresql
。
如果您想要比 Red Hat 提供的 postgresql 更新/不同(警告:这会使您的配置不受支持),那么您必须多花点时间禁用一些/所有 RH 存储库并一次启用一个非 RH 存储库,然后运行yum install postgresql
。一次您将获得启用的存储库组合,没有冲突的 postgresql 包,并且命令将成功。