Tutoriales

Eliminar paquetes instalados en Linux en una fecha / hora específica

Instalo y pruebo muchas aplicaciones en mis máquinas virtuales Linux. Una vez finalizada la prueba, eliminaré los paquetes instalados que ya no se utilizan. Como instalo muchas aplicaciones a menudo, me resulta un poco lento eliminar manualmente los paquetes de uno en uno. Además, a veces me olvido de desinstalar los paquetes innecesarios. Si eres como yo, aquí tienes una solución alternativa sencilla para buscar y eliminar todos los paquetes que se instalaron en Linux en una fecha y hora específicas.

Como ya sabrá, podemos encontrará la lista de paquetes instalados ordenados por fecha de instalación en diferentes distribuciones de Linux con uno de los siguientes comandos.

En Arch Linux, EndeavorOS y Manjaro Linux:

$ expac --timefmt="%Y-%m-%d %T" '%lt%n'|sort -n

En Fedora, RHEL, CentOS, AlmaLinux y Rocky Linux:

$ sudo rpm -qa --last

En Debian, Ubuntu, Linux Mint y Pop OS:

$ grep " install " /var/log/dpkg.log

Los comandos anteriores enumeran todos los paquetes que se han instalado en todas las fechas. Sin embargo, estamos interesados ​​en encontrar y eliminar paquetes instalados. en una fecha y hora específicas solamente.

Nosotros podemos usar %yyyy-%mm-%dd Parámetros con grep Comando para enumerar todos los paquetes que se instalaron en una fecha y hora específicas.

Por ejemplo, el siguiente comando muestra todos los paquetes instalados el 14 de septiembre de 2021 en mi sistema de diana Debian 11.

$ grep "2021-09-14.*.install " /var/log/dpkg.log

Salida de muestra:

2021-09-14 06:51:51 install tmpreaper:amd64 <none> 1.6.14+nmu2
2021-09-14 11:14:14 install hello:amd64 <none> 2.10-2
2021-09-14 11:17:13 install hello:amd64 <none> 2.10-2
2021-09-14 11:17:13 install tmpreaper:amd64 <none> 1.6.14+nmu2
2021-09-14 11:22:29 install hello:amd64 <none> 2.10-2
2021-09-14 11:22:29 install tmpreaper:amd64 <none> 1.6.14+nmu2
2021-09-14 11:41:16 install nano:amd64 5.4-2 5.4-2
2021-09-14 11:41:17 install tmpreaper:amd64 <none> 1.6.14+nmu2
2021-09-14 11:41:17 install vim-runtime:all 2:8.2.2434-3 2:8.2.2434-3
2021-09-14 11:41:18 install vim:amd64 2:8.2.2434-3 2:8.2.2434-3
Listado de paquetes instalados en una fecha específica en Debian, Ubuntu

Como puede ver en el resultado de arriba, lo instalé tmpreaper, empuje y nano Paquetes.

Cuando la rotación de registros está habilitada, el contenido de /var/log/dpkg.log El archivo se eliminará. En este caso, puede ver el archivo de registro de instalación anterior con el siguiente comando:

$ grep "2021-09-14.*.install " /var/log/dpkg.log.1

Si solo desea enumerar los nombres de los paquetes, sin la fecha / hora de instalación y los detalles de la arquitectura de la salida, haga lo siguiente:

$ grep "2021-09-14.*.install " /var/log/dpkg.log | awk ' print $4 ' | cut -d: -f1

Ahora solo verá los nombres de los paquetes instalados en la fecha especificada:

tmpreaper
hello
hello
tmpreaper
hello
tmpreaper
nano
tmpreaper
vim-runtime
vim
Mostrar paquetes instalados en una fecha específica en sistemas basados ​​en Debian
Mostrar paquetes instalados en una fecha específica en sistemas basados ​​en Debian

Ahora tenemos los nombres de todos los paquetes instalados en la fecha especificada.

Para desinstalar todos los paquetes instalados en una fecha específica, simplemente agregue el apt Comando argumentos con xargs al final del comando anterior.

Tenga en cuenta que los siguientes comandos no pedirá la confirmación del usuario antes de eliminar los paquetes. Así que siempre es una buena práctica Prueba de funcionamiento para comprobar qué paquetes se están eliminando antes de que se ejecute el comando real.

Para simular el proceso de eliminación de paquetes (ejecución de prueba), simplemente agregue -s o --simulate Como a continuación.

$ grep "2021-09-14.*.install " /var/log/dpkg.log | awk ' print $4 ' | cut -d: -f1 | xargs sudo apt purge -y -s

El comando anterior solo simula el proceso de eliminación de paquetes, pero no elimina los paquetes.

Una vez que haya descubierto qué paquetes se están eliminando, ejecute el comando anterior nuevamente sin -s o --simulate Oportunidad:

$ grep "2021-09-14.*.install " /var/log/dpkg.log | awk ' print $4 ' | cut -d: -f1 | xargs sudo apt purge -y

Si la rotación de registros está habilitada, ejecute este comando en su lugar:

$ grep "2021-09-14.*.install " /var/log/dpkg.log.1 | awk ' print $4 ' | cut -d: -f1 | xargs sudo apt purge -y
Elimine los paquetes que se instalaron en Linux en una fecha específica
Elimine los paquetes que se instalaron en Linux en una fecha específica

Esta vez, los paquetes instalados en la fecha especificada se eliminarán de su sistema.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba