Я выполняю общесистемное обновление yum на RHEL 5.5, а хранилище IUS EPEL выдает ошибку отсутствующей зависимости:
php53-mcrypt-5.3.3-4.ius.el5.x86_64 from installed has depsolving problems
--> Missing Dependency: php53-common = 5.3.3-4.ius.el5 is needed by package php53-mcrypt- 5.3.3-4.ius.el5.x86_64 (installed)
Error: Missing Dependency: php53-common = 5.3.3-4.ius.el5 is needed by package php53-mcrypt-5.3.3-4.ius.el5.x86_64 (installed)
Есть ли способ запустить обновление YUM для всех других репозиториев, игнорируя репозиторий IUS EPEL, чтобы пропустить эту проблему зависимости?
осветление
Я пытаюсь установить обновления только из сети Redhat. Я не могу найти имя репо, поэтому я не могу сделать что-то вроде, так sudo yum --disablerepo=* --enablerepo=rhel update
как используемая версия yum не поддерживает несколько репозиториев, перечисленных после --disablerepo
.
Обновить
Мой временный обходной путь - бежать sudo yum --exclude=php53* update
. Я убежден, что есть лучший способ. Этот лучший способ включает исправление существующей проблемы, поэтому я также подал ошибку в Проект сообщества IUS .
Обновление № 2
Похоже, я нашел проблему с зависимостью . Я все еще думаю, что должен быть жизнеспособный обходной путь.
Благодарность!
Ответы:
Попробуйте отключить репо:
ОБНОВИТЬ
Чтобы найти все репозитории, которые в настоящее время "известны" (включены и отключены):
Затем, чтобы узнать, какой репозиторий приносит вам горе для вышеуказанного пакета, попробуйте:
Затем будет показано, какие из ваших репозиториев предоставляют вышеуказанный пакет (вы также увидите «установленный» в списке, чтобы показать локально установленные пакеты).
Попробуйте снова отключить выключатель, как только вы узнаете хранилище, используя выключатель хранилища.
Если вышеперечисленные шаги не помогут выделить репозиторий, который вы хотите пропустить, попробуйте просмотреть файл /etc/yum.repos.d/ , который является местоположением по умолчанию RHEL для определений репозитория. Оказавшись в этом каталоге, найдите все нестандартные базы RHEL и обновите файлы репозитория и включите enabled = 0 , например,
Надеюсь это поможет.
источник
--disablerepo=epel --disablerepo=ius
и--disablerepo=epel,ius
.yum repolist all
показывает, что включены только следующие репозитории: epel, ius и rhel-x86_64-server-5. Ваша--showduplicates
команда показывает этот пакет как установленный из репозитория ius. Поэтому я попробовал следующее,sudo yum --disablerepo=* --enablerepo=rhel-x86_64-server-5 update
и он все еще выдает ошибку зависимости в том же пакете. Также я попытался отключить репозитории, изменивenabled=0
настройку в /etc/yum.repos.d/sudo yum update --disablerepo=ius
при условии, что все остальные репозитории включены по умолчанию. В противном случае попробуйте простоsudo yum update --exclude=php53-mcrypt-5.3.3-4.ius.el5.x86_64
пропустить этот пакет.sudo yum deplist php53-mcrypt-5.3.3-4.ius.el5.x86_64
его, он покажет вам все зависимости и поставщиков для этого конкретного пакета. По моему опыту с пакетами PHP и RHEL, это общая проблема. Не желая отклоняться от рассматриваемой проблемы, но я обнаружил, что Remi предоставляет лучшие пакеты для PHP, у меня никогда не возникало проблем с зависимостями от PHP после перехода к их репозиториям.самый простой способ сделать это - прокомментировать linux с нежелательным репозиторием в /etc/yum.repos.d/
источник
Вы можете отключить несколько репозиториев в командной строке yum:
Однако, если вы это сделаете, вы должны явно включить репо, который вы хотите:
источник
Вы можете добавить enabled = 0 в файл конфигурации репозитория, чтобы отключить его. Пример файла конфигурации хранилища http://www.cyberciti.biz/tips/rhel5-fedora-core-add-new-yum-repository.html .
источник