Una de las grandes novedades de Ubuntu 16.04 Xenial Xerus son los paquetes Snap de los que seguro que ya has leído antes de entrar en este post. ¿Qué son los paquetes Snap y cuales son sus ventajas?
Antes de seguir con los paquetes Snap conviene que demos un repaso al funcionamiento de GNU/Linux y de Ubuntu en particular en lo que a gestión del software se refiere.
¿Cómo manejamos el software en Ubuntu?
Si alguna vez has usado Ubuntu u otra distribución GNU/Linux te habrás dado cuenta que su forma de instalar y desinstalar software es muy diferente a Windows. En GNU/Linux el software de estructura en forma de paquetes y estos paquetes se encuentran disponibles en los repositorios para su descarga.
Podemos definir un repositorio como un conjunto de paquetes clasificados que contienen todos los elementos que se necesitan para instalar un determinado programa en el sistema, por ejemplo wmaker o alguno más conocido como el reproductor multimedia VLC. La instalación de un determinado programa puede requerir de un solo paquete o varios de ellos.
En el caso de Ubuntu en particular tenemos varias opciones para gestionar los paquetes .deb disponibles en los repositorios e instalados en nuestro sistema, aunque todas ellas hacen uso del conjunto de herramienta apt ((del inglés Advanced Package Tool) creadas por Debian en su momento (Ubuntu es una derivada de Debian).
Consola de comandos: la utilización de la consola es el método preferido por los usuarios más avanzados a la hora de gestionar software en Ubuntu por su gran versatilidad y rapidez.
Para instalar un programa desde la consola de comandos debemos indicar la siguiente orden:
[php]sudo apt-get install "nombre del paquete"[/php]
Un ejemplo seria el siguiente:
[php] sudo apt-get install wmaker[/php]
Para desinstalarlo tan solo debemos cambiar la palabra install por remove:
[php] sudo apt-get remove wmaker[/php]
A continuación el sistema nos pedirá nuestra clave de usuario e inmediatamente empezará a descargar e instalar todos los paquetes necesarios para la instalación de nuestro programa. En este caso es muy sencillo porque el programa tiene el mismo nombre que el paquete que debemos descargar (wmaker) por lo que no tenemos ningún problema. Sin embargo, muchas veces no coincide el nombre del programa con el nombre del paquete y entonces tenemos un problema, también es posible que necesitemos descargar más de un paquete de forma manual.
Synaptic: synaptic es otra gran herramienta creada por Debian para la gestión del software. Synaptic no es más que una interfaz gráfica para usar apt de una forma mucho más sencilla y amigable, con ella podremos buscar los diferentes paquetes a instalar/desinstalar de un modo gráfico.
Centro de software de Ubuntu: El centro de software de Ubuntu es una nueva interfaz gráfica creada por Canonical para simplificar aún más el uso de apt y facilitar la tarea a los usuarios menos experimentados. Se trata de una interfaz en la que aparecen los diferentes programas y paquetes disponibles para su instalación clasificados por categorías.
Gdebi: se trata de otra herramienta gráfica que hace uso de apt para la instalación de paquetes en Ubuntu y que también fue creada por Debian. En este caso nos permite la instalación en nuestro sistema de paquetes que hemos descargado desde otro ordenador o los que hayamos podido descargar desde nuestro propio ordenador. Gdebi se encargará de descargar el resto de los posibles paquetes que puedan ser necesarios
Compilación de binarios: existe una última opción mucho más avanzada y compleja que consiste en descargar el código fuente (si está disponible) y compilarlo de forma manual para nuestro sistema. Con esto conseguimos que los programas estén adaptados al máximo a las características de nuestro PC para un mejor rendimiento.
La gestión del software en GNU/Linux en forma de repositorios y paquetes tiene una serie de importantes ventajas para los usuarios, por una parte los responsables de la distribución pueden comprobar el buen funcionamiento y la seguridad de todos los archivos del sistema y además, nos permite actualizar todo el software instalado con un par de clicks o una sola orden en la terminal.
Limitaciones de los repositorios y ventajas de los paquetes Snap
Tal como hemos comentado antes, la instalación de un determinado programa puede requerir de un solo paquete o varios de ellos, este último caso es lo que se conoce como dependencias y puede (de hecho lo hace) ocasionar varios problemas importantes.
El primero de ellos es que puede darse el caso que sigamos usando una versión relativamente antigua de Ubuntu y queramos instalar la última versión de un determinado programa. Ante esta situación puede darse el caso de que una de las dependencias del programa que queremos instalar no esté disponible en los repositorios disponibles para nuestra versión de Ubuntu, en este caso sencillamente no podríamos instalar nuestro querido programa, o tendríamos que recurrir a métodos mucho más avanzados y complejos para solucionar el problema con las dependencias.
El otro gran problema afecta principalmente a los ordenadores que no disponen de conexión a internet, en este caso resulta imposible o realmente muy complicado descargar manualmente todos los paquetes necesarios desde otro ordenador para luego instalarlos en el nuestro.
Ante estos problemas nacen los paquetes Snap que están disponibles en Ubuntu 16.04 LTS, estos contienen todos los archivos y todas las dependencias para instalar un determinado programa, podemos decir que es una solución similar a la de windows en que con un solo archivo podemos instalar un programa. Estos paquetes Snap nacen de la inspiración en los sistemas operativos móviles, por ejemplo Android dónde podemos descargar un archivo apk para luego transferirlo a nuestro smartphone o nuestra tablet e instalar la aplicación en cuestión de una forma muy sencilla.
Llegados a este punto es importante señalar que las aplicaciones instaladas mediante paquetes Snap permanecerán aisladas del resto del sistema, un apunte importante para garantizar la seguridad ya que los archivos contenidos por estos paquetes no serán vigilados ni controlados por Canonical. De esta forma si un paquete Snap presenta un archivo con un agujero de seguridad, este no afectará al resto del sistema sino tan solo a su propio programa, no olvidemos que GNU/Linux es un sistema operativo que se caracteriza por ofrecer una gran seguridad al usuario.