Existe-t-il un moyen d'installer et de supprimer des packages dans une seule commande yum?


19

Existe-t-il un moyen d'ajouter et de supprimer des packages en même temps avec une seule yumcommande? Par exemple, installer postfix et supprimer sendmail sans exécuter deux commandes / transactions distinctes.


Pas à ma connaissance, mais je ne suis pas un utilisateur quotidien miam. Pourquoi le voulez-vous en une seule commande?
jippie

@jippie Convenience, surtout. Et en réduisant le temps pour configurer plusieurs transactions.
Michael Ekstrand

Réponses:


25

Oui. L'invocation yum shellvous permettra de spécifier plusieurs commandes qui se produiront simultanément lors de la runsaisie.


2
Génial, c'est exactement ce que je cherchais.
Michael Ekstrand

1
J'avais initialement utilisé Python pour cela. J'ai maintenant réduit mon script à environ 20% de la taille en utilisant BASH!
quickshiftin

20

Les versions plus récentes de yum ont également la swapcommande:

# yum swap -- install foo -- remove bar

Au moins à partir de maintenant ( yumsur RHEL 7), cela peut également être écrit plus court comme yum swap bar foo.
Axel Beckert

8

Comme la réponse acceptée le dit déjà, vous pouvez utiliser yum shellpour exécuter plusieurs commandes à la fois, ce qui est bien pour une utilisation interactive. Mais si vous souhaitez appeler cette commande à partir d'un script, vous pouvez également l'exécuter sur un fichier, par exemple yum shell translist.txt, où le fichier pourrait contenir, par exemple:

remove squid
install squid34
run

Ajoutez le -ycommutateur pour supposer oui aux invites de confirmation.


1
Le -ycommutateur est ajouté à la yum shellcommande, pas aux commandes dans le shell, non? Je pense (mais je n'ai pas testé) que l'ajout config assumeyes 1en haut des commandes du shell aura le même effet sans avoir besoin de changer la ligne de commande initiale.
mattdm

oui, yum shell -yfonctionne pour moi pour rendre toute l'opération non interactive.
RubyTuesdayDONO
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.