C'è un modo per installare e rimuovere i pacchetti in un singolo comando yum?


19

C'è un modo per aggiungere e rimuovere i pacchetti contemporaneamente con un singolo yumcomando? Ad esempio, l'installazione di Postfix e la rimozione di sendmail senza eseguire due comandi / transazioni separati.


Non per quanto ne so, ma non sono un utente yum quotidiano. Perché lo vuoi in un solo comando?
jippie,

@jippie Convenience, principalmente. E riducendo i tempi per impostare più transazioni.
Michael Ekstrand,

Risposte:


25

Sì. Il richiamo yum shellti consentirà di specificare più comandi che verranno eseguiti contemporaneamente quando runviene inserito.


2
Fantastico, questo è esattamente quello che stavo cercando.
Michael Ekstrand,

1
Inizialmente avevo usato Python per questo. Ora ho ridotto la mia sceneggiatura a circa il 20% delle dimensioni usando BASH!
cambio rapido

20

Le versioni più recenti di yum hanno anche il swapcomando:

# yum swap -- install foo -- remove bar

Almeno da ora ( yumsu RHEL 7), questo può anche essere scritto più breve come yum swap bar foo.
Axel Beckert,

8

Come già indicato nella risposta accettata, è possibile utilizzare yum shellper eseguire più comandi contemporaneamente, il che va bene per l'uso interattivo. Ma se vuoi invocare questo comando da uno script, puoi anche eseguirlo su un file, ad esempio yum shell translist.txt, dove il file potrebbe contenere, ad esempio:

remove squid
install squid34
run

Aggiungere l' -yinterruttore per assumere sì ai messaggi di conferma.


1
Lo -yswitch viene aggiunto al yum shellcomando, non ai comandi all'interno della shell, giusto? Penso (ma non ho testato) che l'aggiunta config assumeyes 1nella parte superiore dei comandi della shell avrà lo stesso effetto senza la necessità di modificare la riga di comando iniziale.
Mattdm,

sì, yum shell -yfunziona per me per rendere l'intera operazione non interattiva.
RubyTuesdayDONO il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.