lunes, 25 de julio de 2022

¿Por qué no usar paquetes snap?

Canonical quiere que abandonemos la paquetería tradicional deb y la sustituyamos por snap prometiendo solucionar problemas de compatibilidad, integración y que es la panacea del empaquetado de software, bueno, pues te voy a contar una serie de razones por la que no es una buena idea:

Copias todas las librerías junto al ejecutable

Gran idea, ¿no? así no tienes problemas porque el binario no funcione con la última versión de la librería, pues no es una buena idea:
  • Repites todas las librerías de forma redundante, esto provoca que un programa que ocuparía unos pocos megas llegue a ocupar centenares.
  • Espacio: si tienes un SSD para el sistema se te va a llenar pronto y o lo vas a tener siempre casi lleno, lo que provocará que escribas siempre en los mismos sitios del disco, mala idea con un SSD.
  • Lentitud: La velocidad de acceso depende del tamaño total de archivos que vas a abrir, como no son las librerías que ya tiene cargado el sistema sino otras, pues va a tardar un tiempo en arrancar que un usuario normal no va a considerar razonable.
  • Seguridad: si incluimos librerías antiguas para facilitar el trabajo para que el desarrollador no mantenga el binario, esas librerías pueden tener agujeros que ya se han cerrado en las últimas librerías.
    La tienda de snap de Ubuntu ya ha tenido problemas de seguridad.

Montas un sistema virtual por cada instalación de snap

Cada vez que instalas un snap montas todo un sistema de archivos SquashFS que ralentiza el arranque del sistema y gasta recursos como memoria o micro, ¡un sistema squashFS por paquete snap aunque no lo estés ejecutando ahora!, es decir, si tienes 20 snaps instalados son 20 sistemas virtuales.
Estupendo, acabamos de reproducir una de las cosas más odiosas de Windows: que el sistema se haga más lento a medida que instalamos más aplicaciones.

Problemas de integración

Curiosamente es algo que dicen los defensores de snap que sí funciona bien, pero en la práctica no es así, probad las versiones de Firefox o Telegram Desktop en snap y las descargadas de la página oficial como aplicación portable, las primeras prácticamente no se pueden usar y las segundas funcionan perfectamente.
Si tienes que interactuar con otros programas se convierte en misión casi imposible.

Incompatibilidades

Otro punto del que presumen sus creadores, la "paquetería universal" que funciona en todas las distribuciones, ¿o quizá no?
En la mayoría de los casos solo funcionan en determinadas versiones de Ubuntu, deb es más compatible.

Dice ser una facilidad para el novato pero es una barrera que lo desanima

Si un programa tarda 3 minutos en arrancar o el sistema tarda una barbaridad en arrancar a pesar de tener un disco sólido, el nuevo usuario cree que GNU/Linux es lento y se va a ir, cuando lo que es lento es snap algo que se agrava todavía más usando un entorno pesado como Gnome 3.


Conclusión y soluciones

Mejor no usar snap ni como última opción, si un programa está solo como snap busca mejor otro que haga lo mismo y esté con paquetería tradicional o compila el programa que no es tan difícil como se cree.

Cada aplicación snap que se quita de un Ubuntu por ejemplo se nota en el rendimiento, pero si se desinstala completamente el demonio la mejora es más que evidente.

Hace tiempo comenté como quitar snap de Ubuntu, pero dado que cada vez lo ponen más difícil no nos están dejando otra salida que cambiar de distro.

Recomiendo probar primero con Debian con un entorno ligero, pero si nuestro equipo nos da problemas por ser más exótico Linux Mint es una alternativa también muy buena (mejor las versiones con MATE o LXDE).

2 comentarios:

  1. https://www.genbeta.com/linux/grave-bug-obliga-a-aplazar-lanzamiento-ultima-version-ubuntu-linux-tendria-que-haber-estado-lista-hoy

    ResponderEliminar
  2. Gracias por explicarlo tan claro, Canonical lleva cavándose su propia tumba mucho tiempo y desde luego en la última década no ha ayudado al mundo GNU/Linux, ha sido un lastre.

    ResponderEliminar