Odpowiedzi:
Zasadniczo yum
nie ma opcji zignorowania pojedynczego pakietu z zależności. Opcja --skip-broken
ignoruje wszystkie nierozwiązane zależności.
Możesz spróbować, yum --exclude=packagename
ale wyklucza określony pakiet według nazwy lub globu z aktualizacji we wszystkich repozytoriach, a nie z zależności.
--exclude
też nie --skip-broken
pomaga ominąć jednej lub więcej zależności w ten sposób rpm --nodeps
.
rpm
Komenda ma --nodeps
opcji, które można wykorzystać. Wyzwaniem jest to, że rpm
samo w sobie nie jest świadome repozytoriów yum. Następujące polecenie zainstaluje lub zaktualizuje pakiet, ignorując zależności, ale automatycznie wyszukuje adres URL pobierania z repozytoriów, z repoquery
którymi jest w pakiecie yum-utils
.
rpm -Uvh --nodeps $(repoquery --location winswitch)
Po tym regularny yum update
prawdopodobnie odniesie sukces bez błędów zależności.
Wygląda na to, że próbujesz zainstalować pakiet, który nie został zaprojektowany dla systemu operacyjnego, tzn. Jeśli został zaprojektowany dla CentOS, wymagałby nx
poprawnego działania.
Innym sposobem obejścia tego problemu jest utworzenie i zainstalowanie małego shim pakietu RPM, który nie zawiera żadnych plików, ale w pliku specyfikacji zawiera następujące wiersze (między innymi):
requires: nx
provides: nxagent
W ten sposób zależność powinna zostać zaspokojona, jednak może oczekiwać, że pliki będą znajdować się w innym miejscu niż nxagent
pakiet, który ma zostać zainstalowany, i nx
pakiet, który zapewnia CentOS.
możesz także użyć rpmrebuild, aby zmienić metadane rpm, aby wskazywały nazwę nowego pakietu. będzie to wtedy „twój” pakiet, ale jest czystszy, jeśli chodzi o zależności rpm. Nie ma wady korzystania z - myślę, że to nodeps.
yum --exclude
nie działa na zależności