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

Конфликт с Yum install php и mysql

Я пытаюсь установить расширение php.

--> Running transaction check
---> Package mysql.x86_64 0:5.5.18-1.el5.art set to be updated
---> Package mysql-devel.x86_64 0:5.5.18-1.el5.art set to be updated
---> Package mysql-server.x86_64 0:5.5.18-1.el5.art set to be updated
--> Processing Conflict: mysql50 conflicts MySQL
--> Restarting Dependency Resolution with new changes.
--> Running transaction check
---> Package mysql50.x86_64 0:5.0.92-1.ius.el5 set to be updated
--> Processing Conflict: mysql50 conflicts MySQL
--> Finished Dependency Resolution
mysql50-5.0.92-1.ius.el5.x86_64 from ius has depsolving problems
  --> mysql50 conflicts with mysql
Error: mysql50 conflicts with mysql
 You could try using --skip-broken to work around the problem
 You could try running: package-cleanup --problems
                        package-cleanup --dupes
                        rpm -Va --nofiles --nodigest

Как действовать?

Похоже, вы используете старую версию MySQL, а в стороннем репозитории yum есть более новая версия. Также похоже, что ваш php-модуль может быть получен из стороннего репозитория и зависит от новой версии MySQL.

У вас есть несколько вариантов.

  1. Обновите MySQL, удалив пакет mysql50 и установив пакет mysql. Вы должны сначала сделать резервную копию ваших баз данных, если это сервер базы данных.

  2. Найдите другое репо для вашего модуля php, в котором нет пакетов mysql.

  3. Удалите это стороннее репо. Загрузите модуль php из репозитория и установите его с помощью команды rpm или поместите в собственное локальное репозиторий yum.

  4. Скомпилируйте этот модуль php из исходного кода с включенной версией mysql.

Есть несколько способов использовать репозитории IUS.

Один из них - удалить пакеты RHEL.

http://iuscommunity.org/Docs/GettingStarted

Пакеты IUS заменяют стандартные пакеты RHEL, однако они не устаревают. Это означает, что вы не можете просто «yum upgrade» и получить наши пакеты… вам нужно сначала удалить стандартный пакет RHEL, такой как mysql, и заменить его пакетом IUS, таким как mysql51. См. Руководство по использованию клиента для получения полных примеров установки программного обеспечения от IUS.

Другой - использовать пакет дополнения Replace

http://iuscommunity.org/Doc/ClientUsageGuide

Конфликтующие пакеты замены: почти все пакеты IUS будут конфликтовать. Это означает, что пакеты, которые они заменяют, должны быть сначала удалены перед установкой версии IUS. Например: mysql50 и mysql51 конфликтуют с mysql. Они предоставляют mysql, но не устаревают, поэтому простая подписка на репозитории IUS Yum не приведет к автоматическому обновлению чего-либо. Если вы попытаетесь установить пакеты mysql5X из IUS, вы получите ошибки Yum. Тем не менее, как только вы удалите исходные пакеты (mysql, mysql-server, mysql-devel и т. Д.) И установите их аналоги IUS, все будет работать так же.

Я рекомендую второй вариант и обязательно сделайте резервную копию всех данных перед изменениями.