Los paquetes Snap desarrollados por Canonical son beneficiosos para varios casos de uso. Proporciona una actualización fácil y más rápida de las aplicaciones directamente a los usuarios finales. No sólo eso, sino que tiene otros beneficios, como que viene con todas las dependencias empaquetadas y permite múltiples instalaciones de las mismas aplicaciones. Además, se ejecuta en un modo de caja de arena que proporciona seguridad y otras ventajas.
Pero, hay otros inconvenientes discutibles de la tecnología Snap. Por ejemplo, casi todos los usuarios que utilizaron Snap informaron de que su rendimiento es más lento, incluyendo su tiempo de arranque en comparación con los paquetes nativos DEB o RPM. Además, debido a su diseño, el tamaño de la instalación de la aplicación es enorme y cuesta espacio en disco porque empaqueta todas las dependencias.
No sólo eso, debido a su naturaleza de caja de arena, las aplicaciones de Snap no pueden acceder a varias áreas de tu escritorio Linux hasta que se gestionen con el permiso adecuado.
Eliminar paquetes Snap en *buntu
- En una terminal vamos a listar los paquetes Snap instalados de manera predeterminada utilizando el siguiente comando.
# snap list Nombre Versión Rev Seguimiento Editor Notas bare 1.0 5 latest/stable canonical✓ base core20 20220706 1581 latest/stable canonical✓ base firefox 99.0.1-1 1232 latest/stable/… mozilla✓ - gnome-3-38-2004 0+git.891e5bc 112 latest/stable/… canonical✓ - gtk-common-themes 0.1-81-g442e511 1535 latest/stable/… canonical✓ - snapd 2.56.2 16292 latest/stable canonical✓ snapd
- Eliminamos los paquetes snap de la siguiente manera. En primer lugar, eliminamos Firefox. En segundo lugar, snap-store y los otros paquetes que se ven en la salida del comando anterior.
sudo snap remove --purge firefox
sudo snap remove --purge gnome-3-38-2004
sudo snap remove --purge gtk-common-themes
sudo snap remove --purge bare
sudo snap remove --purge core20
sudo snap remove --purge snapd
- Finalmente, removemos el demonio de snap via apt.
sudo apt remove --autoremove snapd
Eso no es todo. Aunque hayamos eliminado los snaps con el comando anterior, el comando sudo apt update vuelve a traer el snap si no se detiene el disparador apt.
- De modo, para evitar esto, necesitamos crear un archivo en /etc/apt/preferences.d/ y definir una nueva preferencia para deterner snap. Crearemos un nuevo archivo llamado nosnap.pref en /etc/apt/preferences.d/
sudo nano /etc/apt/preferences.d/nosnap.pref
- Agregamos las siguientes lineas, guardamos (Ctrl+O) y cerramos el archivo (Ctrl+X).
Package: snapd
Pin: release a=*
Pin-Priority: -10
Las preferencias de apt son una potente herramienta si se sabe cómo utilizarla. Por ejemplo, en los enunciados anteriores, el Pin-Priority -10 significa impedir la instalación de un paquete.
- Finalmente actualizamos los repositorios.
sudo apt update
Instalar Firefox como DEB después de quitar snap
Para instalar firefox, usamos el PPA oficial con los siguientes comandos.
sudo add-apt-repository ppa:mozillateam/ppa sudo apt update sudo apt install -t 'o=LP-PPA-mozillateam' firefox
Habilitamos las actualizaciones automáticas.
echo 'Unattended-Upgrade::Allowed-Origins:: "LP-PPA-mozillateam:${distro_codename}";' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-firefox
Por último, pero no menos importante, creamos otro archivo de preferencias para Firefox para dar súper alta prioridad a PPA anterior mientras se ejecuta apt. Si no hacemos esto, el comando apt update vuelve a traer el snap de firefox junto a sus «amigos del snap» 😂😂😂.
sudo nano /etc/apt/preferences.d/mozillateamppa
Agregamos estas lineas, cerramos (Ctrl+O) y cerramos (Ctrl+X) el archivo.
Package: firefox*
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 501
Y eso es todo.