скажи yum ігнорувати єдину залежність


37

Я намагаюся встановити winwitch на CentOs 6. Для цього потрібен "nxagent". Але в центсах назва пакету - «nx». Чи є спосіб сказати yum пропустити перевірку залежності 'nxagent' (я вже встановив 'nx')? Вказівка ​​- ламаний -скоп пропускає всю справу

Відповіді:


14

Як правило, yumнемає варіантів ігнорувати один пакет із залежностей. Варіант --skip-brokenігнорує всі невирішені залежності.

Ви можете спробувати, yum --exclude=packagenameале це виключає конкретний пакет за назвою або глобальним оновленням з оновлень у всіх сховищах, а не в залежності.


1
yum --excludeне працює на залежності
DrStrangepork

2
@DrStrangepork так я знаю, що я написав це у своїй відповіді
B14D3

5
Ні, --excludeні --skip-brokenдопомагає обійти одну або декілька залежностей таким чином rpm --nodeps.
Acumenus

3
Перейдіть до другої відповіді.
brthornbury

49

У rpmкоманді є --nodepsможливість, яку ви можете використовувати. Проблема полягає в тому rpm, що він сам по собі не знає про сховищах. Наступна команда встановить або оновить пакет, ігноруючи залежності, але автоматично шукає URL-адресу для завантаження з ваших сховищ, з repoqueryякими знаходиться пакет yum-utils.

rpm -Uvh --nodeps $(repoquery --location winswitch)

Після цього черговий yum update, швидше за все, досягне успіху без помилок залежності.


$ (repoquery - місцезнаходження winwitch) не працював для мене. Однак ви можете завантажити .rpm пакет через "yumdownloader --destdir =. Ім'я пакета". "rpm -U" означає оновлення. Якщо пакет не був встановлений, для цього можна використовувати "rpm -i". yumdownloader - від yum-utils (dnf-utils у моєму випадку).
Ярослав Нікітенко

2

Це здається, що ви намагаєтесь встановити пакет, який не був розроблений для ОС, тобто якщо він був розроблений для CentOS, він вимагав би nxправильно.

Іншим вирішенням проблеми є створення та встановлення невеликого пакету RPM shim, який не містить файлів, але у специфікаційному файлі містяться наступні рядки (серед інших):

requires: nx
provides: nxagent

Таким чином залежність повинна бути задоволена, однак, можливо, очікують, що файли будуть знаходитись у місці, яке відрізняється між nxagentпакетом, який він очікує встановити, та nxпакетом, який надає CentOS.


0

Ви також можете використовувати rpmrebuild, щоб змінити метадані rpm на вказівку на нову назву пакета. тоді це буде "вашим" пакетом, але чистіше, наскільки залежність від оборотів у хвилину. Немає недоліків у використанні --nodeps, я думаю.

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