18 votes

Exclure un repo spécifique de YUM Update

Je suis en train d'effectuer une mise à jour yum pour l'ensemble du système sur RHEL 5.5 et le dépôt EPEL de l'IUS génère une erreur de dépendance manquante :

php53-mcrypt-5.3.3-4.ius.el5.x86_64 from installed has depsolving problems
--> Missing Dependency: php53-common = 5.3.3-4.ius.el5 is needed by package php53-mcrypt-   5.3.3-4.ius.el5.x86_64 (installed)
Error: Missing Dependency: php53-common = 5.3.3-4.ius.el5 is needed by package php53-mcrypt-5.3.3-4.ius.el5.x86_64 (installed)

Y a-t-il un moyen d'exécuter YUM update sur tous les serveurs de l'entreprise ? autre qui ignorent le dépôt EPEL de l'IUS pour éviter ce problème de dépendance ?

Clarification

J'essaie d'installer les mises à jour à partir du réseau Redhat uniquement. Je ne trouve pas le nom du dépôt et je ne peux donc pas faire quelque chose comme sudo yum --disablerepo=* --enablerepo=rhel update car la version de yum que j'utilise ne supporte pas les dépôts multiples listés après --disablerepo .

Mise à jour

Ma solution temporaire consiste à exécuter sudo yum --exclude=php53* update . Je suis convaincu qu'il existe une meilleure solution. Cette meilleure façon inclut la correction du problème actuel, j'ai donc déposé un bogue auprès de l'équipe de l Projet communautaire de l'IUS également.

Mise à jour n°2

On dirait que j'ai trouvé le problème avec le dépendance . Je pense toujours qu'il devrait y avoir une solution de rechange viable.

Merci !

0 votes

J'ai mis à jour ma réponse pour tenir compte de votre clarification.

30voto

plasmid87 Points 1828

Essayez de désactiver l'option "repo" :

--disablerepo=REPONAME

UPDATE

Pour trouver tous les dépôts actuellement "connus" (activés et désactivés) :

yum repolist all

Ensuite, pour trouver le dépôt qui vous donne du fil à retordre pour le paquet ci-dessus, essayez :

yum list php53-mcrypt-5.3.3-4.ius.el5.x86_64 --showduplicates

Cela montrera alors lesquels de vos dépôts fournissent le paquet ci-dessus (vous verrez aussi "installé" dans la liste, pour montrer les paquets installés localement).

Essayez à nouveau le commutateur de désactivation une fois que vous connaissez le référentiel en utilisant le commutateur de désactivation du référentiel.

yum update --disablerepo=[from above]

Si vous n'arrivez pas à isoler le dépôt que vous voulez omettre, essayez de jeter un coup d'œil à /etc/yum.repos.d/ qui est l'emplacement par défaut de RHEL pour les définitions de référentiel. Une fois dans ce répertoire, localisez tous les fichiers non standard des référentiels RHEL de base et de mise à jour et incluez les fichiers suivants enabled=0 par exemple,

[repo]
enabled=0

J'espère que cela vous aidera.

0 votes

Cela pourrait fonctionner si je pouvais spécifier plusieurs référentiels. J'ai essayé --disablerepo=epel --disablerepo=ius y --disablerepo=epel,ius .

0 votes

yum repolist all montre que seuls les dépôts suivants sont activés : epel, ius et rhel-x86_64-server-5. Votre --showduplicates montre que ce paquet a été installé à partir de la base de données ius. J'ai donc essayé ce qui suit sudo yum --disablerepo=* --enablerepo=rhel-x86_64-server-5 update et il y a toujours une erreur de dépendance sur le même paquet. J'ai également essayé de désactiver les dépôts en changeant le paramètre enabled=0 sous /etc/yum.repos.d/

0 votes

J'imagine que lorsque vous avez installé le répertoire IUS, il a été configuré pour être activé par défaut. Essayez plutôt ceci : sudo yum update --disablerepo=ius en supposant que tous les autres dépôts sont activés par défaut. Sinon, essayez juste sudo yum update --exclude=php53-mcrypt-5.3.3-4.ius.el5.x86_64 pour ne pas utiliser ce paquet.

1voto

serverSentinel Points 111

La manière la plus simple de le faire est de commenter les lignes avec votre repo indésirable dans /etc/yum.repos.d/

1voto

LukeInDC Points 11

Vous pouvez désactiver plusieurs dépôts sur la ligne de commande yum :

yum update --disablerepo=myrepo1 --disablerepo=myrepo2 --disablerepo=myrepo3

Cependant, si vous faites cela, vous devez activer explicitement le repo que vous voulez :

yum update --disablerepo=myrepo1 --disablerepo=myrepo2 \
           --disablerepo=myrepo3 --enablerepo=TheRepoIWant

0voto

NoNoNo Points 1919

Vous pouvez ajouter enabled=0 au fichier de configuration du référentiel pour le désactiver.

Exemple de fichier de configuration de référentiel http://www.cyberciti.biz/tips/rhel5-fedora-core-add-new-yum-repository.html .

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