dpkg

Purgar paquetes removidos

Cuando removemos uno o más paquetes quedan como desinstall, en cambio, si lo purgamos desaparece.
Por ejemplo voy a remover el paquete gpm:

sudo apt-get remove gpm

Luego pruebo el estado del paquete:

dpkg --get-selections gpm
gpm						deinstall

O sea, está removida.

Para saber qué paquetes removimos podemos usar grep:

dpkg --get-selections | grep deinstall

Para purgar de un plumazo todos los paquetes removidos con AWK:

sudo apt-get purge `dpkg --get-selections | awk '{if ($2 == "deinstall") print $1}'`

Eliminar kernels antiguos

En esta entrada voy a explicar cómo llegué a eliminar kernels utilizando 3 interesantes comandos (grep, cut y awk) junto a apt-get y dpkg.

Comando:

  • grep es para filtrar el resultado de una instrucción o un archivo mediante una expresión regular.
    Ejemplo: Queremos conocer todos los archivos que cuyo nombre contengan «pera», entonces hacemos:
    $ ls | grep pera
    desespera-sh
    espera.mp3
    peralta.png
    peras.doc
  • cut se utilizará para delimitar los caracteres del resultado.
    $ ls | grep pera | cut -d p -f2
    era-sh
    era.m
    eralta.
    eras.doc

    La opción -d es para delimitar según un caracter y la opción -fn nos indicará a partir del número de carácter repetido. Suponiendo tres ejemplo sería:

    $ echo Me gusta comer palta con dulce de leche | cut -d t -f1
    Me gus
    $ echo Me gusta comer palta con dulce de leche | cut -d t -f2
    a comer pal
    $ echo Me gusta comer palta con dulce de leche | cut -d t -f3
    a con dulce de leche
  • awk es un comando de Perl y lo utilizaremos para que solo aparezca en pantalla una columna específica.
    Supongamos que tengamos un archivo que contenga tabla con varias columnas y queremos ver la tercera columna, hacemos esto:
    cat tabla.txt | awk '{print $3}'
  • dpkg con la opción --get-selections nos muestra todos los paquetes que tenemos instalados y desinstalados sin removerlos del todo.