Comando purge

purge

El comando o modificador purge (en el contexto de los sistemas de gestión de paquetes basados en Debian como apt-get purge o apt purge) es una instrucción avanzada de desinstalación que elimina por completo un paquete de software del sistema operativo, incluyendo no solo sus binarios y dependencias asociadas, sino también todos los archivos de configuración globales y locales generados durante su uso.

Categoría Gestión de software y limpieza de sistemas
Disponible en Sistemas basados en Debian / Ubuntu y derivados (ecosistema APT)
Equivalente en Windows Desinstalación completa de una aplicación borrando manualmente las carpetas residuales restantes en directorios como AppData o ProgramData tras usar winget uninstall.
Sustituye a El comando clásico remove cuando se requiere eliminar totalmente cualquier rastro de configuración anterior.
¿Requiere permisos de administrador? Sí, al modificar el sistema de archivos de forma permanente y eliminar componentes globales, exige privilegios de superusuario (sudo).

¿Qué significa su nombre?

PURGE proviene del término en inglés que significa purgar, limpiar o depurar a fondo.

En el contexto de la administración de sistemas Unix, describe una limpieza radical y sin contemplaciones, diseñada para no dejar rastro de que la aplicación haya estado instalada jamás en el equipo.

¿Para qué sirve?

El parámetro purge sirve para realizar una desinstalación profunda de un paquete de software. Mientras que una desinstalación estándar (como remove) deja intactos los archivos de configuración en directorios como /etc por si se desea reinstalar el programa en el futuro, purge se encarga de borrar dichos ficheros de configuración de forma irreversible.

Es una herramienta muy útil cuando un programa se ha corrompido, cuando queremos solucionar problemas de configuración persistentes reinstalándolo desde cero, o cuando necesitamos liberar espacio recuperando la configuración por defecto de los servicios del sistema.

Sintaxis

sudo apt-get purge [nombre_paquete]

Las opciones asociadas o complementarias más habituales son:

Opción o Comando Descripción
apt purge [paquete] Versión simplificada y moderna del comando de purgado utilizando la interfaz unificada de APT.
dpkg --purge [paquete] Herramienta de bajo nivel utilizada por APT para forzar el borrado de archivos de configuración de un paquete a nivel de motor de Debian.
dpkg -l | grep "^rc" Comando auxiliar muy útil para listar todos los paquetes que han sido desinstalados previamente con remove pero cuyos archivos de configuración residuales (marcas rc) siguen ocupando espacio en el sistema.

Comandos más utilizados

Comando Descripción
sudo apt-get purge apache2 Desinstala por completo el servidor web Apache borrando todos sus ficheros de configuración.
sudo apt purge nginx Elimina el servidor Nginx y sus archivos de configuración mediante el comando APT moderno.
sudo apt-get purge --auto-remove [paquete] Elimina el paquete seleccionado junto con todas las dependencias huérfanas que dejó asociadas.

Equivalencia con otros sistemas

Acción Linux (APT / Debian) Linux (Red Hat / Fedora) Windows
Desinstalación profunda (borrando configs) sudo apt-get purge [paquete] sudo dnf remove [paquete] (suele limpiar configs) Desinstalador oficial o limpieza manual en AppData
Listar archivos de configuración huérfanos dpkg -l | grep "^rc" No aplicable (RPM gestiona distinto) Uso de herramientas de terceros (limpiadores de registro)
Purgar múltiples paquetes residuales sudo apt purge $(dpkg -l | grep "^rc" | awk '{print $2}') No aplica No aplica

Ejemplos

Purgar un servicio web para eliminar sus configuraciones personalizadas

sudo apt-get purge apache2

Purgar múltiples paquetes utilizando la interfaz moderna

sudo apt purge mysql-server mysql-client

Listar todos los paquetes que dejaron configuraciones residuales en el sistema

dpkg -l | grep "^rc"

Ejemplo de salida

Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho
Leyendo la información de estado... Hecho
Los siguientes paquetes serán ELIMINADOS:
  apache2* apache2-data* apache2-utils*
0 aktualizados, 0 nuevos se instalarán, 3 para eliminar y 0 no actualizados.
Se liberarán 4.500 kB de espacio en disco.

¿Cómo interpretar la salida?

  • Asterisco junto al nombre (*): en la salida de APT, la presencia de un asterisco al lado de los paquetes indica explícitamente que van a ser purgados por completo, borrando tanto los binarios como sus configuraciones locales.
  • Espacio liberado: muestra la cantidad exacta de memoria recuperada en el disco duro tras la eliminación definitiva de los archivos residuales.

Errores habituales

  • Confundir remove con purge y asumir que al desinstalar un programa se borran automáticamente todas sus configuraciones, lo que puede provocar que al reinstalarlo más adelante se mantengan fallos previos heredados.
  • Ejecutar purge por error sobre paquetes críticos o de dependencias del sistema operativo sin comprobar qué archivos de configuración asociados se van a destruir de forma permanente.

Conceptos relacionados

  • Gestor de paquetes APT
  • Archivos de configuración
  • Comando dpkg
  • Dependencias huérfanas
  • Directorio /etc

Comandos relacionados

  • apt-get remove
  • apt autoremove
  • dpkg
  • dpkg-query

Curiosidades

En el ecosistema de gestión de paquetes de Debian, cuando un paquete se desinstala mediante remove, su estado interno en la base de datos de dpkg pasa a denominarse rc (Installed-config-files, es decir, instalado solo con archivos de configuración restantes). El comando purge limpia este registro por completo, haciendo que el paquete desaparezca totalmente de la base de datos del sistema.

Prácticas propuestas

  1. Instala una aplicación de servicios ligera en tu máquina virtual (como el servidor web Apache o Nginx) y verifica que genera archivos de configuración en el directorio /etc.
  2. Desinstala el paquete anterior utilizando exclusivamente la opción clásica remove y comprueba si el directorio de configuración en /etc sigue existiendo en el sistema.
  3. Vuelve a instalar el paquete y ahora ejecute la opción de desinstalación profunda mediante sudo apt-get purge. Comprueba que los directorios y archivos de configuración han desaparecido por completo.
  4. Utiliza el comando de consulta de bajo nivel dpkg -l | grep "^rc" para comprobar si quedan rastros de configuración de paquetes eliminados previamente en tu distribución.
  5. Investiga cómo se pueden combinar comandos para automatizar la limpieza y el purgado masivo de todos los paquetes residuales que tengan el estado rc en un sistema Debian.

Consejo: Utiliza purge en lugar de remove siempre que estés probando configuraciones complejas de servicios y quieras asegurarte de empezar desde cero en futuras instalaciones, evitando que queden parámetros antiguos molestos.

Haz clic aquí para ver las soluciones y explicaciones

1. Instala una aplicación de servicios ligera en tu máquina virtual (como el servidor web Apache o Nginx) y verifica que genera archivos de configuración en el directorio /etc.

Tras instalar por ejemplo Apache con sudo apt install apache2, se puede comprobar la existencia de su carpeta de configuración navegando o listando el contenido con ls -l /etc/apache2, donde se observarán los archivos principales de directivas del servicio.


2. Desinstala el paquete anterior utilizando exclusivamente la opción clásica remove y comprueba si el directorio de configuración en /etc sigue existiendo en el sistema.

Al ejecutar sudo apt remove apache2, el sistema elimina los binarios pero preserva los archivos de configuración en /etc/apache2 como medida de precaución. Si se lista dicho directorio, se confirmará que los ficheros siguen intactos.


3. Vuelve a instalar el paquete y ahora ejecute la opción de desinstalación profunda mediante sudo apt-get purge. Comprueba que los directorios y archivos de configuración han desaparecido por completo.

Reinstalando y ejecutando sudo apt-get purge apache2, el gestor de paquetes borra tanto el programa como la carpeta /etc/apache2. Al intentar listar el directorio de configuración posteriormente, el sistema indicará que la ruta ya no existe.


4. Utiliza el comando de consulta de bajo nivel dpkg -l | grep "^rc" para comprobar si quedan rastros de configuración de paquetes eliminados previamente en tu distribución.

Este comando filtra la lista global de paquetes gestionados por dpkg buscando aquellos cuya marca comience por rc (Removed/Config-files), permitiendo identificar visualmente qué aplicaciones ya no están activas pero mantienen archivos residuales ocupando espacio.


5. Investiga cómo se pueden combinar comandos para automatizar la limpieza y el purgado masivo de todos los paquetes residuales que tenham el estado rc en un sistema Debian.

Se puede automatizar el borrado masivo extrayendo los nombres de los paquetes con el estado rc mediante dpkg y pasándoselos como argumento de purgado a apt utilizando una sustitución de comandos: sudo apt purge $(dpkg -l | grep "^rc" | awk '{print $2}'). Esto limpia por completo cualquier residuo de configuraciones antiguas del sistema en una sola ejecución.