Ответы:
Как правило yum
, нет вариантов игнорировать один пакет из зависимостей. Опция --skip-broken
игнорирует все неразрешенные зависимости.
Вы можете попробовать, yum --exclude=packagename
но он исключает конкретный пакет по имени или глобусу из обновлений во всех репозиториях, а не из зависимостей.
--exclude
ни другое не --skip-broken
помогает обойти одну или несколько зависимостей rpm --nodeps
.
У rpm
команды есть --nodeps
опция, которую вы можете использовать. Проблема в том, что rpm
сам по себе не знает о репозиториях yum. Следующая команда установит или обновит пакет, игнорируя зависимости, но автоматически ищет 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, чтобы они указывали на новое имя пакета. тогда это будет «ваш» пакет, но он будет более чистым в зависимости от rpm. Я думаю, что нет недостатка в использовании --nodeps.
yum --exclude
не работает с зависимостями