Назад | Перейти на главную страницу

Ошибка при попытке обновить postgresql-libs

Когда я делаю yum update Я получаю следующие ошибки:

Transaction Check Error:
  file /usr/lib64/libecpg.so.6.1 from install of postgresql-libs-8.4.10-1PGDG.rhel5.x86_64 conflicts with file from package postgresql84-libs-8.4.9-1.el5_7.1.x86_64
  file /usr/lib64/libecpg_compat.so.3.1 from install of postgresql-libs-8.4.10-1PGDG.rhel5.x86_64 conflicts with file from package postgresql84-libs-8.4.9-1.el5_7.1.x86_64
  file /usr/lib64/libpgtypes.so.3.1 from install of postgresql-libs-8.4.10-1PGDG.rhel5.x86_64 conflicts with file from package postgresql84-libs-8.4.9-1.el5_7.1.x86_64
  file /usr/lib64/libpq.so.5.2 from install of postgresql-libs-8.4.10-1PGDG.rhel5.x86_64 conflicts with file from package postgresql84-libs-8.4.9-1.el5_7.1.x86_64
  file /usr/share/locale/pl/LC_MESSAGES/libpq5-8.4.mo from install of postgresql-libs-8.4.10-1PGDG.rhel5.x86_64 conflicts with file from package postgresql84-libs-8.4.9-1.el5_7.1.x86_64
  file /usr/share/locale/pl/LC_MESSAGES/libpq5-8.4.mo from install of postgresql-libs-8.4.10-1PGDG.rhel5.x86_64 conflicts with file from package postgresql84-libs-8.4.9-1.el5_7.1.i386

Теперь я знаю, как это может конфликтовать, так как я установил pgsql, используя yum.

Но это нормально.

Но я понятия не имею, как решить эти проблемы, чтобы иметь возможность обновлять библиотеки pgsql.

Есть несколько аналогичный вопрос, но это касается установки версий i386 и x86_64.

Итак ... как решить эту проблему?

РЕДАКТИРОВАТЬ

По просьбе реполиста yum:

repo id           repo name                                             status
addons            CentOS-5 - Addons                                            0
base              CentOS-5 - Base                                        3,558+8
epel              Extra Packages for Enterprise Linux 5 - x86_64           6,808
extras            CentOS-5 - Extras                                          269
ius               IUS Community Packages for Enterprise Linux 5 - x86_6      149
kbs-CentOS-Extras CentOS.Karan.Org-EL5 - Stable                                0
kbs-CentOS-Misc   CentOS.Karan.Org-EL5 - Stable                                0
pgdg84            PostgreSQL 8.4 5 - x86_64                                  161
rpmforge          Red Hat Enterprise 5 - RPMforge.net - dag             10,899+1
updates           CentOS-5 - Updates                                      442+24

Столкнулся с подобной проблемой, хотя все конфликты были против
postgresql84-libs-8.4.6-1PGDG.rhel5.i386

Я использую только x86_64, и простое удаление библиотек i386 у меня сработало. Вы можете попробовать это:

yum remove postgresql84-libs-8.4.9-1.el5_7.1.i386

Зависимостей не было, поэтому я смог удалить без проблем, и после этого обновление yum смогло завершиться без ошибок.

Ошибка конфликта часто вызывается смешиванием репозиториев. Попробуй это:

# yum --disablerepo=pgdg84 install postgresql-libs

Похоже, что ваша установленная версия postgresql взята с yum.postgresql.org, и эта yum пытается обновить postgresql из репозитория centos. Если это так, пробовали ли вы добавить exclude=postgresql* строку в соответствующие разделы вашего /etc/yum.repos.d/CentOS*.repo файлы?

Например (из /etc/yum.repos.d/CentOS-Base.repo):

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
exclude=postgresql*

#released updates 
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
exclude=postgresql*

Обновить Похоже, твой yum repolist вывод подтверждает мою догадку ... Вам нужно сказать yum не устанавливать / обновлять / использовать пакеты postgresql84 из репозиториев CentOS. Добавьте операторы exclude в разделы base и updates файла CentOS-Base.repo, и вы должен быть установлен.