Виключіть конкретне репо з YUM Update


13

Я роблю системне оновлення 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 Community .

Оновлення №2

Схоже, я знайшов проблему із залежністю . Я все ще думаю, що має бути життєздатним рішення.

Спасибі!


Я оновив свою відповідь, щоб врахувати ваше уточнення.
plazmid87

Відповіді:


21

Спробуйте вимкнути перемикач репо:

--disablerepo=REPONAME

ОНОВЛЕННЯ

Щоб знайти усі схожі на даний момент сховища (увімкнено та вимкнено):

yum repolist all

Потім, щоб знайти, яке сховище доставляє вам горе за вищевказаним пакетом, спробуйте:

yum list php53-mcrypt-5.3.3-4.ius.el5.x86_64 --showduplicates

Потім буде показано, який із ваших сховищ надає вищевказаний пакет (ви також побачите "встановлений" у списку, щоб відобразити локально встановлені пакети).

Повторіть спробу вимкнути перемикач, як тільки ви знайдете сховище, використовуючи вимикач repo.

yum update --disablerepo=[from above]

Якщо не вдалося описати вищевказані кроки для виділення сховища, яке ви хочете опустити, спробуйте переглянути /etc/yum.repos.d/ , яке є місцем розташування RHEL за замовчуванням для визначень сховища. Потрапивши до цього каталогу, знайдіть усі нестандартні бази RHEL та оновлення файлів сховища та включіть увімкнено = 0 , наприклад,

[repo]
enabled=0

Сподіваюсь, це допомагає.


Це може спрацювати, якщо мені вдалося вказати кілька сховищ. Я спробував --disablerepo=epel --disablerepo=iusі --disablerepo=epel,ius.
Робін

yum repolist allпоказує, що увімкнено лише такі репости: epel, ius та rhel-x86_64-server-5. Ваша --showduplicatesкоманда показує цей пакет, встановлений з ius repo. Тому я спробував наступне, sudo yum --disablerepo=* --enablerepo=rhel-x86_64-server-5 updateі це все ще кидає помилку залежності на той же пакет. Також я спробував відключити enabled=0репост, змінивши налаштування під /etc/yum.repos.d/
Робін

Я думаю, що коли ви встановили репортаж IUS, він був налаштований так, щоб він був включений за замовчуванням. Спробуйте скоріше це: sudo yum update --disablerepo=iusприпустимо, що всі інші репости увімкнено за замовчуванням. В іншому випадку спробуйте просто sudo yum update --exclude=php53-mcrypt-5.3.3-4.ius.el5.x86_64пропустити цей пакет.
plazmid87

Жоден із цих варіантів не працює. Я щось пропускаю.
Робін

Тоді я можу лише уявити, що ще щось потребує оновлення цього пакета в рамках процесу оновлення. Якщо ви запустите, sudo yum deplist php53-mcrypt-5.3.3-4.ius.el5.x86_64він покаже всі залежності та постачальників для цього конкретного пакету. З мого досвіду з PHP-пакетами та RHEL, це звичайна проблема. Не хочу відступати від проблеми, але я знайшов, що Ремі надав найкращі пакети для PHP, у мене ніколи не виникало проблем із залежністю від PHP після переходу до їхніх репост.
plazmid87

1

найпростіший спосіб зробити це, коментуючи linux зі своїм небажаним репо в /etc/yum.repos.d/


1

Ви можете відключити кілька сховищ у командному рядку yum:

yum update --disablerepo=myrepo1 --disablerepo=myrepo2 --disablerepo=myrepo3

Однак якщо ви це зробите, ви повинні чітко ввімкнути потрібне репо:

yum update --disablerepo=myrepo1 --disablerepo=myrepo2 \
           --disablerepo=myrepo3 --enablerepo=TheRepoIWant

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.