Como comenté en el artículo “Que son los paquetes snap, tiendas y situación actual” los paquetes snap, son una interesante tecnología, que pueden hacernos la vida en Linux mucho mas sencilla. Los paquetes snap nos permiten instalar aplicaciones en cualquier distribución, sin preocuparnos de dependencias, y con la total seguridad de que una actualización de la aplicación no la hará inservible o nos romperá el sistema. Pero, ¿como instalar snaps?¿Como utilizarlos?¿Como habilitar o deshabilitar snaps?…

Uso y funcionamiento de los snaps. Como instalar snaps

El primer paso para poder trabajar, e instalar snaps, es instalar las herramientas necesarias, por supuesto. Para ello tenemos que instalar el paquete snapd.

La forma de instalar snapd depende de la distribución que utilices. Vamos allá.

Instalar snapd en las diferentes distribuciones

A continuación veremos como instalar snapd en las diferentes distribuciones.

Arch

sudo pacman -S snapd

El siguiente paso es habilitar el servicio

sudo systemctl enable --now snapd.socket

Debian

sudo apt install snapd

Fedora

sudo dnf copr enable zyga/snapcore sudo dnf install snapd

El siguiente paso es habilitar el servicio

sudo systemctl enable --now snapd.service

El soporte actualmente es beta, con lo que necesariamente debemos ejecutar la siguiente orden,

sudo setenforce 0

Para que este cambio sea permanente, debemos editar /etc/selinux/config y añadir la siguiente variable

SELINUX=permissive and reboot.

openSUSE

sudo zypper addrepo http://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_42.2/ snappy sudo zypper install snapd

Ubuntu

sudo apt install snapd

Uso y funcionamiento. Instalar snaps

Una vez hemos instalado snapd el siguiente paso es registrarte en una tienda de snaps. Los snaps se instalan normalmente desde una tienda.

Por otro lado, tu puedes interactuar con una tienda sin necesidad de registrarte. Sin embargo, el registro en una tienda, ofrece diferentes ventajas. Entre estas ventajas se encuentran la posibilidad de acceder a tus paquetes snap privados, gestionar tus propios snaps y en algunos casos instalar snaps sin necesidad de tener derechos de administrador.

Las tiendas de snaps almacenan una colección de snaps para suministrar a la nube, a dispositivos y a infraestructuras privadas. Puedes registrarte a una tienda utilizando tu cuenta de Ubuntu One, aunque como he comentado anteriormente no es necesario registrarte para instalar snaps.

$ sudo snap login me@gmail.com [sudo] password for lorenzo: Password of "me@gmail.com": Login successful

Buscar y encontrar snaps

Una tienda de snaps puede contener snaps tanto públicos como privados.

Cualquier usuario puede publicar un snap, pero cuando cuando haces búsquedas en la tienda, solo encontrarás snaps que estén publicadas en el canal estable. Para que un snap esté publicado en el canal estable es necesario que haya sido revisado y aprobado.

Por ejemplo, vamos a buscar Telegram en la tienda de snaps:

snap find telegram

Esto nos arrojará los resultados que puedes ver en la siguiente imagen,

Por otro lado, también es posible utilizar uApp Explorer para encontrar snaps. Aunque como has visto es realmente sencillo buscarlos desde el terminal. Por que si quieres instalarlos desde uApp Explorer, te obliga a descargar el archivo para luego desde el terminal instalarlo, lo cual no tiene sentido. Sería interesante contar con una aplicación como ppaurl, pero para snaps… Sencillo.

Por último, y de la misma forma que lo indicado anteriormente, tampoco estaría nada mal, contar con una interfaz gráfica para gestionar los snaps, y esto es realmente sencillo de implementar (TODO: lo pongo en mi lista de tareas).

Instalar snaps

Instalar un snap es algo tan sencillo como ejecutar la orden que ves a continuación,

sudo snap install telegram-sergiusens

Con esta sencilla orden, tendremos instalado Telegram en nuestro equipo. Esta versión de Telegram tiene la ventaja de que se puede actualizar, no como la del repositorio, aunque como inconveniente tiene que no reconoce los acentos, lo que es un verdadero incordio.

Ejecutar un snap

Un snap puede llevar asociada varias ordenes, con una orden por defecto que tiene el mismo nonmbre que el propio paquete. Las órdenes adicionales, lleva como prefijo ,el nombre del snap. Así por ejemplo, en el caso del snap de Telegram que he instalado, la orden asociada es:

telegram-sergiusens.telegram

Algunos snaps pueden instalar servicios que funcionan en segundo plano (servidores web, demonios, etc). Estos servicios se iniciarán de forma automática conforme el snap es instalado.

Existen dos ordenes que nos permitirán tener un control total sobre un determinado snap. Estas dos órdenes son,

snap disable <nombre-del-snap> snap enable <nombre-del-snap>

Así por ejemplo, en el caso del snap de Telegram, podemos desabilitarlo por completo ejecutando la siguiente orden,

snap disable telegram-sergiusens

Una vez ejecutado, ni siquiera seremos capaces de encontrar el lanzador en nuestro equipo.

Por el contrario, si ejecutamos la orden,

snap enable telegram-sergiusens

volveremos a tener el snap disponible, y de nuevo encontremos el lanzador de Telegram.

¿Que snaps tenemos instalados?

Para saber los snaps que tenemos instalados, tan solo tenemos que utilizar la orden snap list. Esta orden, además de informarnos sobre los snaps instalados, nos permitirá conocer algunos detalles como, la versión instalada, el número de versión, quien es el desarrollador del snap, y las notas asociadas al mismo.

Un ejemplo de esta orden, ejecutada en mi equipo, arroja el siguiente resultado,

Actualizaciones de snaps

Una de las características mas interesantes de los repositorios es que cada vez que se actualiza una aplicación, ésta se actualizará en tu equipo (siempre y cuando tu actualices el equipo, o esto se haga de forma automática).

¿Pero que pasa con los snaps?. No te preocupes, los snaps se actualizan de forma automática a la última versión en segundo plano, cada día. Aunque también se puede hacer de forma manual para todos los snaps, ejecutando la orden,

snap refresh

O bien, si queremos actualizar uno en particular, por ejemplo el de Telegram, ejecutaremos la orden,

snap refresh telegram-sergiusens

En el caso de que esté actualizado a la última versión, nos arrojará un resultado como snap “telegram-sergiusens” has no updates available.

Si el desarrollador ha publicado el snap en otro canal es posible actualizar la aplicación en ese canal. Los canales disponibles son stable, candidate, beta y edge. El nombre del canal hace mención al estado de desarrollo de los snaps que contiene.

Conclusión

Como has podido ver en este artículo el uso, instalación y mantenimiento de snaps es realmente sencillo. Yo diría que incluso mucho mas que el caso de los paquetes debian y los repositorios.

A decir verdad, tal y como he comentado en el artículo, lo único que queda pendiente es algún interfaz gráfico que nos facilite la instalación sin tener que recurrir al terminal. Esto no solo pensando en los mas novatos, si no también por una cuestión de comodidad.

Por otro lado, algo de lo que me he dado cuenta, es que tal y como sucede con las distribuciones, existe un déficit en snaps para 32 bits. Una lástima, esperemos que esto se arregle…