¿Cuál es el equivalente de Fedora a 'apt-get purge'?

45

En Debian, hay al menos dos formas de eliminar un paquete:

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

El primero conserva los archivos de configuración de todo el sistema (es decir, los que se encuentran en " / etc "), mientras que el segundo no.

¿Cuál es el equivalente de Fedora de la segunda forma purge? O tal vez debería preguntar si yum remove pkgnamerealmente conserva los archivos de configuración.

tshepang
fuente

Respuestas:

27

yum remove No se garantiza la preservación de los archivos de configuración.

Como se indica en el yum HOWTO :

En cualquier caso, la sintaxis del comando para la eliminación del paquete es:

# yum remove package1 [package2 package3...]

Como se señaló anteriormente, elimina el paquete1 y todos los paquetes en el árbol de dependencias que dependen del paquete1, posiblemente de manera irreversible en lo que respecta a los datos de configuración .

Actualizar

Como señala James, puede usar el rpm -ecomando para borrar un paquete pero guardar copias de seguridad de cualquier archivo de configuración que haya cambiado.

Para obtener más información, consulte Uso de RPM para borrar paquetes . En particular:

Comprueba si alguno de los archivos de configuración del paquete ha sido modificado. Si es así, guarda copias de ellos.

Justin Ethier
fuente
44
Eso no es realmente cierto, "rpm -e" eliminará los archivos de configuración si no han cambiado. Si se han cambiado, se mueven a <nombre de archivo> .rpmsave y no se eliminan.
James Antill
9

Encontré esta respuesta a una pregunta duplicada en ServerFault titulada: yum equivalente a "apt-get purge" que proporciona el único método que he visto que puede hacer lo que apt-get purge <pkg>hace en 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

El único otro método que puedo concebir aquí es analizar el resultado yum remove <pkg>y luego eliminar manualmente cualquier archivo que pueda haber sido modificado. Por ejemplo, cuando instalé recientemente el RPM de ElasticSearch para 2.3 modifiqué varios archivos que estaban asociados con este RPM. Cuando lo eliminé con YUM, obtendrás mensajes en la salida como este:

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

Estos se pueden eliminar después de la eliminación utilizando YUM, ya sea con secuencias de comandos o manualmente.

Referencia

slm
fuente
Este podría ser un complemento interesante de dnf ....
mattdm
@mattdm: este problema ha surgido de vez en cuando, sería bueno si pudiéramos hacer esto en el mundo "RPM".
slm
1

No hay equivalente para "purga", solo use yum remove package.

También puede usar yum reinstall package, cuando quiera reinstalar algún paquete ...


fuente
1
En realidad, como se explica en la respuesta de Justin Ethier , yum removees equivalente a apt-get purge.
Gilles 'SO- deja de ser malvado'
66
@Gilles Justin Ethier dice yum removeque " no se garantiza la preservación de los archivos de configuración". Eso no es lo mismo que decir que está garantizado que no se preservarán los archivos de configuración (lo que significaría que es equivalente a apt-get purge). ¿Estás haciendo esta (mucho) afirmación más fuerte?
Eliah Kagan
@EliahKagan Así es como entiendo el yum howto que Justin cita. No estoy seguro de que sea correcto, el CentOS parece estar diciendo lo contrario.
Gilles 'SO- deja de ser malvado'
1
Creo que es un comportamiento indefinido. Yum puede o no preservar los archivos de configuración.
m0j0
-2

Si desea limpiar los archivos de configuración de un programa que eliminó recientemente a través de un sistema RPM, todo lo que tiene que hacer es ingresar: yum clean all

Jared
fuente
2
Esto es incorrecto. "Yum clean all" simplemente limpia metadatos en caché, listas de espejos, etc., utilizados por yum. No hace nada a los archivos de configuración.
m0j0