Paquetes snap Ubuntu ¿Una moda que viene para quedarse?

Publicado el 25 abril 2016 por Drassill
Hola a todos, hoy os vengo a hablar sobre un nuevo concepto que está dando bastante que hablar en el mundo del software libre: Los paquetes snap. Estos paquetes vienen incluidos en la nueva y esperadísima versión de Ubuntu: 16.04 LTS, la cual ha salido oficialmente a la luz hace muy pocos días. Esta nueva versión trae relativamente pocos cambios de cara al usuario final, (al menos a grandes rasgos sin incluir los cambios de los entornos gráficos), pero sí que se han destacado varias nuevas características a nivel profesional o a nivel avanzado, tales como el uso del polémico sistema de ficheros zfs, o el uso de containers docker para tareas dirigidas al servidor o a la nube... Aún así el objetivo de hoy sería centrarnos únicamente en estos nuevos paquetes, pues han aparecido prácticamente de la nada y están preparados para "convivir" con los paquetes que se han estado usando toda la vida en los sistemas basados en Debian: Los paquetes .deb.

Hasta el momento lo que se ha hecho siempre para instalar un nuevo programa ha sido usar gestores de paquetes cómodos, como pueden ser el gesto de paquetes Synaptic (en entornos de escritorio) o apt-get para los entornos de consola; operaciones que simplemente descargaban unos paquetes .deb y los instalaban automáticamente uno a uno sin necesidad de que nosotros bajásemos los paquetes .deb manualmente para instalarlos uno a uno mediante dpkg
El motivo principal de este cambio tan radical, es que se desea agrupar TODAS las dependencias de un programa dentro de un mismo paquete, cosa que con los .deb no ocurre... Es decir que por ejemplo a la hora de instalar firefox, necesitamos también descargarnos una serie de dependencias que son necesarias para que el programa se instale y/o funcione; este problema se evade mediante los paquetes snap; pues aquí todo viene agrupado dentro del mismo paquete, evitando posibles carencias.
Esto tiene como principal ventaja la comodidad que genera el hecho de tener todo lo necesario dentro del mismo paquete; además de que gracias a snap, los paquetes descargados y instalados se usarán única y exclusivamente para el programa en cuestión; haciendo que el sistema sea (en teoría) más difícil de "romper" en caso de instalar algo que no debamos.
Aún así hay muchos detractores de este tipo de paquetes, pues si bien eso en teoría hace que sea todo más modular, también hace que los paquetes que instalemos sean más difíciles de controlar, pues cada programa tendrá sus paquetes, con su versión de éstos y con sus vulnerabilidades; convirtiéndolo en un sistema con muchas más exposiciones. Además también tiene el inconveniente de que este tipo de instalación ocupa más espacio en el disco duro que mediante paquetes .deb, pues con los paquetes "originales" habían programas que compartían las mismas librerías, haciendo que no fuese necesario instalarlas de nuevo; si bien esto es un mal menor, ya que hoy en día es raro encontrar discos duros con capacidades menores a 1 Terabyte.
Este nuevo y singular paquete tiene también su propio gestos, pues es una paquetería completamente independiente del resto y como tal necesita su propio software para gestionar dichos paquetes. Dicho software es denominado Snap Package Manager, si bien de forma abreviada se llama (valga la redundancia) snap. Dicho gestor es bastante diferente al resto de gestores, pero hay algunas funciones básicas que tienen un gran parecido al resto; funciones que serían las que más usásemos que serían:
  • find: Listaría todos los paquetes snap que podemos instalar. De momento no existen demasiados, pero dependiendo de lo popular que se vuelva este gestor (que perteneciendo a Ubuntu, supongo que será exitoso) irá ampliando su variedad.
  • install: Instala uno de los paquetes que aparecen dentro del listado mostrado en find; cumple una función muy parecida a apt-get install , pero en este caso la interacción se realiza con snap.
  • list: Es parecido a find, con la diferencia de que hace un listado de únicamente los paquetes snap que tenemos instalados. Sin duda muy útil para mantener cierto control sobre nuestro sistema.
  • remove: Elimina un paquete snap que tengamos instalado. Sería parecido a apt-get remove, pero aplicado a paquetes snap.

Es decir que por ejemplo para instalar nmap (que tiene paquete snap) habría que hacer:
snap installnmap
De momento es demasiado pronto para sacar conclusiones sólidas, pero podemos deducir que estos paquetes darán mucho que hablar y que si bien giran todo tipo de opiniones en torno a estos paquetes, es obvio que Ubuntu apostará muy fuerte por ello; al menos durante un tiempo...
Espero que os haya resultado interesante.
Saludos.