Anoche quise instalar un programa y tuve varias complicaciones porque requería un montón de dependencias, las instalé y todo bien excepto por una (precisamente qtwebkit que, está incluída en qt4 solo hasta debian 7 (pero ese es otro asunto más fome al que no me referiré)). Busqué soluciones y me fue mal, así que terminé instalando paquetes de otras distribuciones, cruzando dependencias y en general, armando una ensalada fatal de paquetes, dependencias y caos. Finalmente pude ejecutar el programa que quería… y no me gustó. Así que pensé ‘ah, cresta ahora como arreglo la escoba que dejé para dejarlo andando??’.

I. Saber qué es lo último que instalé.

en una terminal revisar con grep los últimos movimientos, usando este comando: grep ” install ” /var/log/dpkg.log el resultado, en mi caso fueron 97 paquetes.

2018-06-05 01:36:34 install libqt4-xmlpatterns:amd64 <ninguna> 4:4.8.7+dfsg-11
2018-06-05 01:36:35 install libqt4-declarative:amd64 <ninguna> 4:4.8.7+dfsg-11
2018-06-05 01:36:37 install libqt4-help:amd64 <ninguna> 4:4.8.7+dfsg-11
2018-06-05 01:36:38 install libqt4-scripttools:amd64 <ninguna> 4:4.8.7+dfsg-11

Para efectos de este tutorial solo pondré cuatro paquetes, en la forma en que aparecen. obviamente, para desinstalarlos solo necesitaba los nombres de los paquetes… así que, premunido de las expresiones regulares resolví el desafío.

II. Recuperar nombres de paquetes para eliminar

Abrí un editor de texto, click en herramienta reeplazar (generalmente ubicado en menú Edición) y…

a. eliminar el texto que antecede. Buscar el siguiente texto:

[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9] install

y reemplazar por nada (nisiquiera un espacio: nada). El resultado será este:

 libqt4-xmlpatterns:amd64 <ninguna> 4:4.8.7+dfsg-11
 libqt4-declarative:amd64 <ninguna> 4:4.8.7+dfsg-11
 libqt4-help:amd64 <ninguna> 4:4.8.7+dfsg-11
 libqt4-scripttools:amd64 <ninguna> 4:4.8.7+dfsg-11

b, eliminar el texto que sucede al nombre de los paquetes. Buscar el siguiente texto:

:.*$\n

Reemplazar por un espacio. El resultado será este:

libqt4-xmlpatterns libqt4-declarative libqt4-help libqt4-scripttools

III. Eliminar los paquetes

Ahora, volvemos a la terminal y usando apt (como superusuario, obvio) borramos los paquetes no deseados pegándolos luego de apt remove. No olvidar que en la terminal Ctrl-V no sirve, en cambio hay que usar Ctrl-Shift-V.

# apt remove libqt4-xmlpatterns libqt4-declarative libqt4-help libqt4-scripttools

click en [enter] y voilá… todos los paquetes se empiezan a desinstalar. Para no destruir dependencias cruzadas que podamos pasar a llevar, sugiero después de esta operación, hacer un upgrade (apt upgrade) para prevenir futuras molestias.