Qual è l'equivalente di "apt-get purge" di Fedora?


45

In Debian, ci sono almeno due modi per eliminare un pacchetto:

  • apt-get remove pkgname
  • apt-get purge pkgname

Il primo conserva i file di configurazione dell'intero sistema (ovvero quelli trovati in " / etc "), mentre il secondo no.

Qual è l'equivalente di Fedora della seconda forma purge,? O forse dovrei piuttosto chiedere se yum remove pkgnameeffettivamente conserva i file di configurazione.

Risposte:


27

yum remove non è garantito per preservare i file di configurazione.

Come affermato nello yum HOWTO :

In ogni caso, la sintassi del comando per la rimozione del pacchetto è:

# yum remove package1 [package2 package3...]

Come notato sopra, rimuove il pacchetto1 e tutti i pacchetti nella struttura delle dipendenze che dipendono dal pacchetto1, possibilmente irreversibilmente per quanto riguarda i dati di configurazione .

Aggiornare

Come sottolinea James, è possibile utilizzare il rpm -ecomando per cancellare un pacchetto ma salvare copie di backup di tutti i file di configurazione che sono stati modificati.

Per ulteriori informazioni, consultare Utilizzo di RPM per cancellare i pacchetti . In particolare:

Verifica se uno dei file di configurazione del pacchetto è stato modificato. In tal caso, ne salva copie.


4
Questo non è proprio vero, "rpm -e" rimuoverà i file di configurazione se non sono stati modificati. Se sono stati modificati, vengono spostati in <nomefile> .rpmsave e non eliminati.
James Antill

9

Ho trovato questa risposta a una domanda duplicata su ServerFault intitolata: yum equivalente di "apt-get purge" che fornisce l'unico metodo che ho visto in grado di fare ciò che apt-get purge <pkg>fa su Ubuntu / Debian.

for package in package1 package2 package3
do
  echo "removing config files for $package"
  for file in $(rpm -q --configfiles $package)
  do
    echo "  removing $file"
    rm -f $file
  done
  rpm -e $package
done

L'unico altro metodo che posso concepire qui è analizzare l'output yum remove <pkg>e quindi eliminare manualmente tutti i file che potrebbero essere stati modificati. Ad esempio, quando di recente ho installato l'RPM di ElasticSearch per 2.3 ho modificato diversi file associati a questo RPM. Quando l'ho rimosso con YUM riceverai messaggi nell'output in questo modo:

warning: /etc/sysconfig/elasticsearch saved as /etc/sysconfig/elasticsearch.rpmsave
warning: /etc/elasticsearch/logging.yml saved as /etc/elasticsearch/logging.yml.rpmsave
warning: /etc/elasticsearch/elasticsearch.yml saved as /etc/elasticsearch/elasticsearch.yml.rpmsave

Questi possono essere eliminati dopo la rimozione usando YUM tramite script o manualmente.

Riferimento


Questo potrebbe essere un interessante plugin dnf ....
mattdm,

@mattdm - questo problema si è verificato di tanto in tanto, sarebbe bello se potessimo farlo nel mondo "RPM".
slm

1

Non esiste un equivalente per "spurgo", basta usare yum remove package.

Inoltre puoi usare yum reinstall package, quando vuoi reinstallare alcuni pacchetti ...


1
In realtà, come spiegato nella risposta di Justin Ethier , yum removeè equivalente a apt-get purge.
Gilles 'SO- smetti di essere malvagio' il

6
@Gilles Justin Ethier afferma che yum remove" non è garantito il mantenimento dei file di configurazione". Ciò non equivale a dire che è garantito che non manterrà i file di configurazione (il che significherebbe che equivale a apt-get purge). Stai facendo questa (molto) richiesta più forte?
Eliah Kagan,

@EliahKagan Questo è il modo in cui capisco lo yum howto che Justin cita. Non sono sicuro che sia giusto, il CentOS sembra dire il contrario.
Gilles 'SO- smetti di essere malvagio' il

1
Penso che sia un comportamento indefinito. Yum può o meno conservare i file di configurazione.
m0j0

-2

Se vuoi ripulire i file di configurazione da un programma che hai rimosso di recente tramite un sistema RPM, tutto ciò che devi fare è inserire: yum clean all


2
Questo non è corretto "Yum clean all" pulisce semplicemente metadati memorizzati nella cache, elenchi mirror, ecc., Utilizzati da yum. Non fa nulla per i file di configurazione.
m0j0
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.