Я пытаюсь установить winswitch на CentOs 6. Требуется nxagent. Но в centos имя пакета - «nx». Есть ли способ сказать yum, чтобы пропустить проверку зависимости 'nxagent' (я уже установил 'nx')? Указание --skip-broken пропускает все это
37
yum --exclude
не работает с зависимостями--exclude
ни другое не--skip-broken
помогает обойти одну или несколько зависимостейrpm --nodeps
.У
rpm
команды есть--nodeps
опция, которую вы можете использовать. Проблема в том, чтоrpm
сам по себе не знает о репозиториях yum. Следующая команда установит или обновит пакет, игнорируя зависимости, но автоматически ищет URL-адрес загрузки из ваших репозиториев, сrepoquery
которыми он находится в пакетеyum-utils
.После этого регулярный
yum update
, скорее всего, будет успешным без ошибок зависимости.источник
Похоже, вы пытаетесь установить пакет, который не был разработан для ОС, то есть если бы он был разработан для CentOS, это потребовало бы
nx
правильно.Другой обходной путь для этой проблемы - создать и установить небольшой RPM-пакет shim, который не содержит файлов, но в файле спецификации содержит следующие строки (среди прочих):
Таким образом, зависимость должна быть удовлетворена, однако может ожидаться, что файлы будут находиться в расположении, которое отличается между
nxagent
пакетом, который он ожидает установить, иnx
пакетом, который предоставляет CentOS.источник
Вы также можете использовать rpmrebuild, чтобы изменить метаданные rpm, чтобы они указывали на новое имя пакета. тогда это будет «ваш» пакет, но он будет более чистым в зависимости от rpm. Я думаю, что нет недостатка в использовании --nodeps.
источник