dites à ignorer une seule dépendance

37

J'essaie d'installer Winswitch sur CentOs 6. Cela nécessite "nxagent". Mais en centos, le nom du paquet est 'nx'. Existe-t-il un moyen de dire à yum de ne pas vérifier la dépendance à 'nxagent' (j'ai déjà installé 'nx')? Spécifier --skip-broken saute le tout

IttayD
la source

Réponses:

14

Généralement, il yumn'a pas d'options pour ignorer un seul paquet des dépendances. L'option --skip-brokenignore toutes les dépendances non résolues.

Vous pouvez essayer, yum --exclude=packagenamemais cela exclut un paquet spécifique par nom ou glob des mises à jour sur tous les référentiels, pas des dépendances.

B14D3
la source
1
yum --excludene fonctionne pas sur les dépendances
DrStrangepork
2
@DrStrangepork oui je sais que j'ai écrit cela dans ma réponse
B14D3
5
Ni --excludeni --skip-brokenaide à contourner une ou plusieurs dépendances de cette manière rpm --nodeps.
Acumenus
3
Allez à la deuxième réponse.
brthornbury
49

La rpmcommande a l' --nodepsoption que vous pouvez utiliser. Un défi est que rpmpar lui-même n'est pas au courant des dépôts Yum. La commande suivante installera ou mettra à jour le package, en ignorant les dépendances, mais en recherchant automatiquement l'URL de téléchargement dans vos référentiels contenant le repoquerypackage yum-utils.

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

Après cela, un habitué yum updateréussira probablement sans erreurs de dépendance.

Anonyme
la source
$ (repoquery --location winswitch) n'a pas fonctionné pour moi. Cependant, il est possible de télécharger le package .rpm via "yumdownloader --destdir =. Nom-package". "rpm -U" signifie mise à niveau. Si le paquet n'a pas été installé, on peut utiliser "rpm -i" pour cela. yumdownloader provient de yum-utils (dnf-utils dans mon cas).
Yaroslav Nikitenko
2

On dirait que vous essayez d’installer un paquetage qui n’a pas été conçu pour le système d’exploitation, c’est-à-dire que, s’il était conçu pour CentOS, il en aurait besoin nxcorrectement.

Une autre solution au problème consiste à créer et à installer un petit paquetage RPM shim qui ne contient aucun fichier, mais dans le fichier de spécifications contient les lignes suivantes (entre autres):

requires: nx
provides: nxagent

De cette façon, la dépendance devrait être satisfaite. Toutefois, il est possible que les fichiers se trouvent dans un emplacement différent du nxagentpackage qu’il s’est attendu à installer et du nxpackage fourni par CentOS.

bodgit
la source
0

vous pouvez également utiliser rpmrebuild pour modifier les métadonnées rpm afin qu'elles pointent vers le nouveau nom du package. ce sera alors "votre" paquet, mais est plus propre en ce qui concerne les dépendances rpm. Je pense qu'il n'y a pas d'inconvénient à utiliser - nodeps.

Florian Heigl
la source