Frage Sag Yum, um eine einzelne Abhängigkeit zu ignorieren


Ich versuche Winswitch auf CentOs 6 zu installieren. Es erfordert 'nxagent'. Aber in Centos ist der Paketname 'nx'. Gibt es eine Möglichkeit, yum zu sagen, dass die 'nxagent'-Abhängigkeit nicht überprüft werden soll (ich habe' nx 'bereits installiert)? Angeben --skip-broken überspringt die ganze Sache


30
2018-04-19 08:54


Ursprung




Antworten:


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

Du kannst es versuchen yum --exclude=packagename aber es schließt ein spezifisches Paket nach Name oder glob aus Aktualisierungen auf allen Repositories aus, nicht aus Abhängigkeiten.


12
2018-04-19 09:22



yum --exclude arbeitet nicht an Abhängigkeiten - DrStrangepork
@DrStrangepork ja ich weiß, dass ich das in meiner Antwort geschrieben habe - B14D3
Weder --exclude Noch --skip-broken hilft, eine oder mehrere Abhängigkeiten in der Art zu umgehen rpm --nodeps tut. - A-B-B
Gehe zur zweiten Antwort. - brthornbury


Das rpm Befehl hat die --nodeps Option, die Sie verwenden können. Der folgende Befehl installiert oder aktualisiert das Paket, ignoriert Abhängigkeiten, sucht aber automatisch die Download-URL aus Ihren Repositorys mit repoquery welches ist im Paket yum-utils.

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

Danach eine regelmäßige yum update wird wahrscheinlich ohne Abhängigkeitsfehler gelingen.


36
2018-04-10 15:00





Es klingt, als ob Sie versuchen, ein Paket zu installieren, das nicht für das Betriebssystem entwickelt wurde, d. H. Wenn es für CentOS entwickelt wurde nx korrekt.

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

requires: nx
provides: nxagent

Auf diese Weise sollte die Abhängigkeit erfüllt sein, aber es kann sein, dass Dateien an einem Ort erwartet werden, der sich zwischen den beiden unterscheidet nxagent Paket erwartet es installiert zu haben und die nx Paket, das CentOS bietet.


2
2017-07-30 08:38





Sie können rpmrebuild auch verwenden, um die RPM-Metadaten so zu ändern, dass sie auf den neuen Paketnamen zeigen. Dies ist dann "Ihr" Paket, ist aber sauberer, soweit die RPM-Abhängigkeiten gehen. Es gibt keinen Nachteil gegenüber --nodeps denke ich.


0
2017-11-19 21:17