Linux Tips: Remover un repositorio y sus aplicaciones instaladas

En ocasiones instalamos un repositorio PPA con el fin de instalar un conjunto de drivers, librerías o aplicación en una versión más moderna que la disponible en los canales oficiales, pero también en algunas ocasiones esto nos puede llevar a tener problemas en nuestro ordenador por perdidas de compatibilidad o conflictos con otras librerías. 

En mi caso esto me ocurrió con un repositorio de drivers para tarjetas gráficas de AMD, el cual me provoco problemas de visualización importantes, esto lo descubrí después de invertir bastante tiempo restaurando mi sistema a un punto anterior y comprobando de manera unitaria que conjunto de actualizaciones provocaba el problema, finalmente tuve la necesidad de volver a los drivers del repositorio oficial y eliminar los instalados desde el repositorio de un tercero instalado.

Esta tarea suena más compleja de lo que realmente puede llegar a ser, en mi caso restaure nuevamente el sistema a un punto antes de instalar las actualizaciones que provocan el problema con el fin de asegurarme que las dependencias a otras librerías fuera del repositorio no afectaran y aumentando el nivel de éxito al final de la tarea de limpieza. 

En mi primer intento intenté utilizar la aplicación ppa-purge de la siguiente manera:

sudo apt-get install ppa-purge
sudo add-apt-repository ppa:oibaf/graphics-drivers -r

Lamentablemente, no fue capaz de finalizar la tarea con éxito al no lograr revertir los drivers, fue por esto que fue necesario realizarlo de forma manual.

Para llevar esta tarea de forma manual es importante identificar los paquetes instalados desde el repositorio, esta tarea podría ser la más tediosa, esto es posible por interfaz gráfica en el gestor de paquetes o mediante la terminal utilizando diferentes comandos, una vez detectados los paquetes el primer paso será remover el PPA con el siguiente comando:

sudo apt-add-repository --remove ppa:oibaf/graphics-drivers

Seguidamente del comando que eliminara los paquetes provenientes del PPA que detectamos anteriormente:

sudo dpkg -P --force-depends libdrm-amdgpu1 libdrm-common libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libdrm2 libegl-mesa0 libgbm1 libgl1-mesa-dri libglapi-mesa libglx-mesa0 libxatracker2 mesa-va-drivers mesa-vdpau-drivers mesa-vulkan-drivers   

Finalmente, una serie de comandos los cuales nos permiten limpiar finalmente la lista de paquetes, cache y arreglar las dependencias rotas:

sudo rm /var/lib/apt/lists/lock   
sudo rm /var/cache/apt/archives/lock   
sudo apt --fix-broken install
sudo apt autoremove
sudo apt autoclean

 

Nota: todos ejemplos de comandos están personalizados para mi caso, en particular que era el PPA oibaf/graphics-drivers.