it-swarm.com.de

Sagen Sie yum, dass Sie eine einzelne Abhängigkeit ignorieren sollen

Ich versuche, Winswitch auf CentOs 6 zu installieren. Es erfordert 'nxagent'. In Centos lautet der Paketname jedoch 'nx'. Gibt es eine Möglichkeit, yum anzuweisen, die Überprüfung der 'nxagent'-Abhängigkeit zu überspringen (ich habe' nx 'bereits installiert)? Wenn Sie --skip-break angeben, wird das Ganze übersprungen

38
IttayD

Im Allgemeinen hat yum keine Optionen, um ein einzelnes Paket aus den Abhängigkeiten zu ignorieren. Möglichkeit --skip-broken ignoriert alle ungelösten Abhängigkeiten.

Du kannst es versuchen yum --exclude=packagename schließt jedoch ein bestimmtes Paket nach Namen oder Glob von Aktualisierungen aller Repositorys aus, nicht von Abhängigkeiten.

14
B14D3

Der Befehl rpm verfügt über die Option --nodeps, Die Sie verwenden können. Eine Herausforderung besteht darin, dass rpm selbst keine yum-Repositorys kennt. Der folgende Befehl installiert oder aktualisiert das Paket, ignoriert Abhängigkeiten, sucht jedoch automatisch die Download-URL aus Ihren Repositorys mit repoquery, das sich im Paket yum-utils Befindet.

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

Danach wird ein regulärer yum update Wahrscheinlich ohne Abhängigkeitsfehler erfolgreich sein.

51
Onnonymous

Es hört sich so an, als würden Sie versuchen, ein Paket zu installieren, das nicht für das Betriebssystem entwickelt wurde. Wenn es also für CentOS entwickelt wurde, ist nx korrekt erforderlich.

Eine weitere Problemumgehung für das Problem besteht darin, ein kleines Shim-RPM-Paket zu erstellen und zu installieren, das keine Dateien enthält, in der Spezifikationsdatei jedoch (unter anderem) die folgenden Zeilen enthält:

requires: nx
provides: nxagent

Auf diese Weise sollte die Abhängigkeit erfüllt sein, es kann jedoch erwartet werden, dass sich Dateien an einem Speicherort befinden, der sich zwischen dem von ihm erwarteten nxagent -Paket und dem von CentOS bereitgestellten nx -Paket unterscheidet.

2
bodgit

sie können rpmrebuild auch verwenden, um die RPM-Metadaten so zu ändern, dass sie auf den neuen Paketnamen verweisen. Dies wird dann "Ihr" Paket sein, ist aber in Bezug auf die RPM-Abhängigkeiten sauberer. Ich denke, es gibt keinen Nachteil bei der Verwendung von --nodeps.

0
Florian Heigl