я столкнулся со следующей ошибкой:
Transaction Check Error:
package apr-1.3.12-1.jason.1.x86_64 (which is newer than apr-1.2.7-11.el5_6.5.cloudlinux.2.i386) is already installed
Это на cloudlinux. apr-1.3.12-1.jason.1.x86_64 устанавливается из стороннего репо, и теперь для любого обновления пакета требуется более старая версия apr или даже не замечается, что установлена более новая версия.
Как лучше всего решить эту проблему? К сожалению, я точно не знаю, какой пакет нуждается в этой зависимости (как это узнать?)
Оба предложения @ACase yum erase apr
и yum downgrade apr
хороши, однако, если вы хотите провести еще немного расследования и выяснить, какое приложение вызывает нарушение, вы можете сделать следующее;
Вы можете проверить, какие установленные пакеты требуют блокирующего пакета «apr-1.3.12-1.jason.1.x86_64» следующим образом;
# rpm -q --whatrequires apr
**apr-devel-1.2.7-11.el5_6.5** <--(this or something else in the list)
...
apr - это «переносимая среда выполнения apache», которая, предположительно, была установлена как библиотека какой-то другой транзакцией, связанной с httpd.
А затем вы можете увидеть зависимости этого оскорбительного пакета, используя следующую команду;
# rpm -v -q --requires apr-devel
/sbin/ldconfig
libapr-1.so.0()(64bit)
libc.so.6()(64bit)
....
Чтобы узнать, какие зависимости требуются новый пакет, который вы пытаетесь установить из репозитория, который вы можете использовать;
# yum deplist apr
Finding dependencies:
package: apr.i386 1.2.7-11.el5_6.5
dependency: libc.so.6(GLIBC_2.1.3)
provider: glibc.i686 2.5-65
provider: glibc.i686 2.5-65.el5_7.
...
В более общем плане проблема заключается в том, что старый и новый пакеты конфликтуют, и вам придется решить проблему, решив, какой набор пакетов вы собираетесь сохранить, а какой удалить.
Я лично предпочел бы использовать дистрибутивную версию пакета apr, так как он используется множеством программ на основе apache.
Чтобы увидеть сумасшедший подробный вывод yum, пытающегося найти для вас зависимости, добавьте флаг -v;
# yum -v deplist apr
...
pkgsack time: 3.261
rpmdb time: 0.000
Finding dependencies:
Searching pkgSack for dep: /sbin/ldconfig
Potential match for /sbin/ldconfig from glibc-2.5-65.i686
Potential match for /sbin/ldconfig from glibc-2.5-65.x86_64
...
Если вы хотите продолжать использовать стороннее репо, но при этом вам необходимо использовать более раннюю версию, вы можете сделать yum downgrade apr
.
Однако вы можете удалить апр (yum erase apr
), а затем переустановите стандартные пакеты репо для удаленных.
[изменить 1]:
Похоже, у вас есть несоответствие версий между 32-битной версией и 64-битной версией apr, вы можете попробовать запустить yum update apr.i386 apr.x86_64
. Вам нужно будет сделать это с включенным сторонним репо.