Una de las cosas de las que hay poca información en internet es de como «limpiar» una instalación de uno de los múltiples proyectos que hay en internet para desplegar en una Raspberry(con Raspbian).
La mayoría de las soluciones siempre terminan igual, borrando la sd de la Raspberry y haciendo una instalación limpia de Raspbian, pero cuando usas la Raspberry para múltiples proyectos esto no es viable.
Para eliminar un proyecto lo primero que hay que analizar es cómo funciona y que paquetes hemos instalado y que configuraciones se han modificado.
Hay algunos proyectos que son bastante fáciles de desinstalar, con un simple apt-get –purge remove nombreprograma se haría pero otros como Home Assistant son más complicados.
En el ejemplo de limpieza, vamos a limpiar una instalación de Home Assistant instalada como un Python virtual environment. El proceso se puede agrupar en 3 pasos.
1º Parar y limpiar servicios de systemd
Paramos el servicio :
Systemctl stop home-assistant@homeassistant.service
Systemctl disable home-assistant@homeassistant.service
Para recargar los cambios: Systemctl daemon-reload
Borramos el servicio de HA en systemd
Esta en /etc/systemd/system así que nos metemos en la ruta y borramos
rm home-assistant@homeassistant.service
2º Borrar archivos de configuracion y de instalación de HA
Para buscarlos: find / -name Homeassistant
En HA estan en /srv/homeassistant tan facil como ejecutar rmdir.
3º Borramos el resto
En este paso hacemos limpieza en diferentes directorios, ya sea en /usr/sbin en /etc/ o en programas de terceros como docker o pip3.
Si has instalado HA como contenedor de docker simplemente tienen que parar y borrar. Además de hacer limpieza en /usr/sbin
rm /usr/sbin/hassio-apparmor rm /usr/sbin/hassio-supervisor rm /etc/hassio.json
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
docker rmi $(docker images -a -q)
Por último, desinstalamos pip3 sudo apt-get remove python3-pip
*NOTA: Otros proyectos tienen scripts para eliminar lo instalado facilmente, revisa las web oficiales antes de hacerlo a mano.
Con esto nuestro Raspberry queda limpia, tras ellos aconsejo un reboot.