glibc.i686 конфликтует с libc6?
У меня есть 64-битный сервер Redhat Enterprise Linux (версия 6.3), который не позволяет мне устанавливать модуль glibc.i686 для 32-битной совместимости. Когда я пытаюсь yum install glibc.i686
как корень, я получаю длинную строку ошибок вроде этого:
Transaction Check Error:
file /lib/libc.so.6 from install of glibc-2.12-1.80.el6_3.6.i686 conflicts with file from package libc6-6:2.15-1.x86_64
file /lib/libm.so.6 from install of glibc-2.12-1.80.el6_3.6.i686 conflicts with file from package libc6-6:2.15-1.x86_64
file /lib/libpthread.so.0 from install of glibc-2.12-1.80.el6_3.6.i686 conflicts with file from package libc6-6:2.15-1.x86_64
Вот вывод rpm -qa
grepping для glibc и libc6:
# rpm -qa | grep glibc
glibc-common-2.12-1.80.el6_3.6.x86_64
glibc-2.12-1.80.el6_3.6.x86_64
# rpm -qa | grep libc6
libc6-2.15-1.x86_64
Google не сделал ничего страшного, несмотря на все мои усилия.
Почему эти два пакета конфликтуют, и как мне заставить их хорошо играть вместе?
РЕДАКТИРОВАТЬ:
Вот вывод yum repolist
:
# yum repolist
Loaded plugins: product-id, rhnplugin, subscription-manager
Updating certificate-based repositories.
Unable to read consumer identity
repo id repo name status
rhel-x86_64-server-6 Red Hat Enterprise Linux Server (v. 6 for 64-bit x86_64) 8,824
repolist: 8,824
1 ответ
Здесь нет libc6
пакет в Red Hat Enterprise Linux. Имя пакета для тех же файлов glibc
, Похоже, что кто-то установил пакет на ваш сервер из другого дистрибутива Linux и переопределил ошибки, которые он получил бы при попытке сделать это (примерно такие же, как те, что вы видели здесь).
Это, конечно, переводит вашу базу данных RPM в несогласованное состояние по сравнению с установленным программным обеспечением и может вызвать проблемы совместимости и зависимости, с которыми вы столкнулись сегодня. Например, больше невозможно обновлять пакеты из поддерживаемых репозиториев, и трудно точно определить, какой код выполняется в системе.
Я думаю, что кто-то (кто на самом деле не знает, как это сделать) попытался обновить glibc за пределы версии, предоставленной Red Hat, и, скорее всего, воспользуется новой функцией, которой нет в версии Glibc поставляется с EL6.
Правильный путь, если вам действительно нужна эта поздняя версия glibc, это взять исходную RPM-версию Red Hat, настроить файл спецификации и любые исправления для создания новой версии glibc и использовать новые двоичные RPM-версии новой версии. Затем вы несете ответственность за его обслуживание, можете потерять поддержку поставщика и т. Д., Так что об этом вам следует подумать, только если этого требуют требования бизнеса. (И поскольку вы все равно теряете свою поддержку, вы можете также перейти на CentOS...)