Відповіді:
Як правило, yum
немає варіантів ігнорувати один пакет із залежностей. Варіант --skip-broken
ігнорує всі невирішені залежності.
Ви можете спробувати, yum --exclude=packagename
але це виключає конкретний пакет за назвою або глобальним оновленням з оновлень у всіх сховищах, а не в залежності.
--exclude
ні --skip-broken
допомагає обійти одну або декілька залежностей таким чином rpm --nodeps
.
У rpm
команді є --nodeps
можливість, яку ви можете використовувати. Проблема полягає в тому rpm
, що він сам по собі не знає про сховищах. Наступна команда встановить або оновить пакет, ігноруючи залежності, але автоматично шукає URL-адресу для завантаження з ваших сховищ, з repoquery
якими знаходиться пакет yum-utils
.
rpm -Uvh --nodeps $(repoquery --location winswitch)
Після цього черговий yum update
, швидше за все, досягне успіху без помилок залежності.
Це здається, що ви намагаєтесь встановити пакет, який не був розроблений для ОС, тобто якщо він був розроблений для CentOS, він вимагав би nx
правильно.
Іншим вирішенням проблеми є створення та встановлення невеликого пакету RPM shim, який не містить файлів, але у специфікаційному файлі містяться наступні рядки (серед інших):
requires: nx
provides: nxagent
Таким чином залежність повинна бути задоволена, однак, можливо, очікують, що файли будуть знаходитись у місці, яке відрізняється між nxagent
пакетом, який він очікує встановити, та nx
пакетом, який надає CentOS.
Ви також можете використовувати rpmrebuild, щоб змінити метадані rpm на вказівку на нову назву пакета. тоді це буде "вашим" пакетом, але чистіше, наскільки залежність від оборотів у хвилину. Немає недоліків у використанні --nodeps, я думаю.
yum --exclude
не працює на залежності