50 votes

Demandez à yum d'ignorer une dépendance unique

Je tente d'installer winswitch sur CentOs 6. Il nécessite nxagent. Mais sur CentOs, le nom du paquet est nx. Y a-t-il un moyen de dire à yum de ne pas vérifier la dépendance de nxagent (j'ai déjà installé nx) ? Spécifier --skip-broken saute toute l'opération.

75voto

Onnonymous Points 1024

La commande rpm dispose de l'option --nodeps que vous pouvez utiliser. Le défi est que rpm tout seul ne connaît pas les 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 à partir de vos dépôts avec repoquery qui se trouve dans le package yum-utils.

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

Après cela, une mise à jour régulière de yum réussira probablement sans erreurs de dépendance.

18voto

Yange Wang Points 21

Généralement, yum n'a pas d'options pour ignorer un seul package des dépendances. L'option --skip-broken ignore toutes les dépendances non résolues.

Vous pouvez essayer yum --exclude=nomdupaquet mais cela exclut un package spécifique par nom ou glob de toutes les mises à jour des dépôts, pas des dépendances.

7voto

bodgit Points 4551

Il semble que vous essayez d'installer un paquet qui n'a pas été conçu pour le système d'exploitation, c'est-à-dire que s'il a été conçu pour CentOS, il nécessiterait nx correctement.

Une autre solution de contournement pour le problème est de créer et d'installer un petit paquet RPM de transition qui ne contient aucun fichier, mais dans le fichier spécifié contient les lignes suivantes (entre autres):

requiert: nx
fournit: nxagent

De cette manière, la dépendance devrait être satisfaite mais elle peut-être attendre à trouver des fichiers dans un emplacement différent entre le paquet nxagent qu'il s'attend à avoir installer et le paquet nx que CentOS fournit.

2voto

Florian Heigl Points 1443

Vous pouvez également utiliser rpmrebuild pour modifier les métadonnées du RPM afin de pointer vers le nouveau nom de package. Ce sera alors "votre" package, mais plus propre en ce qui concerne les dépendances RPM. Je ne pense pas qu'il y ait de désavantages par rapport à l'utilisation de --nodeps.

2voto

Geoffrey Shea Points 1

Cet exemple d'une seule ligne le fait ( tigervnc-server est le package installé )

rpm -ivh --nodeps ` yumdownloader tigervnc-server | perl -ne 'print $2 if(/^(\[.+\]\s*|)(.*?\.rpm)[\s:]/)'`

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X