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 https://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…
¿Y cómo se deinstala completamente un snap?
si, sudo snap remove paquete.
si haces un snap find telegram, indica como official el telegram-desktop, pero no lo tengo muy claro.
Saludos SyKeY XAM.
https://twitter.com/sykey_xam
https://www.youtube.com/channel/UCcYrD0J9HUi_KqCM5B5X68g
Hola Lorenzo.
Los snap son, desde luego, una opción muy interesante y alguno uso habitualmente como Telegram y Spotify.
Telegram funciona perfectamente en Ubuntu 16.04 y Spotify también, solo que en el caso de Spotify no puede acceder a unidades montadas, no hay manera. Telegram, sin embargo, si puede acceder a cualquier unidad montada, ya sea al inicio, a un disco duro que montemos para la ocasión, un pincho USB, lo que sea, pero Spotify no.
Pero Telegram snap solo me funciona bien en Ubuntu 16.04, en cualquier otro sistema (Ubuntu 18.04, Kubuntu 18.04…) de los que tengo instalados no puede acceder a las unidades montadas, lo cual lo hace inservible al no poder anexar ficheros). Spotify tampoco puede hacerlo (aunque en este caso era simple curiosidad ara ver como funcionaba reproduciendo archivos locales) y, en general, ninguno de los snap que he probado (aparte de Telegram en Ubuntu 16.04) puede acceder a las unidades montadas.
Esto es un problema insalvable para mí, porque mis carpetas de usuario (el escritorio incluído) apuntan a un disco de uso exclusivo para datos que se monta al arranque.
He buscado en internet y no veo nada al respecto, no sé si es que solo es un problema de mi equipo o si es que no estoy buscando con las palabras adecuadas.
Y mi pregunta es si conoces este problema y si sabes como se puede arreglar…
Un saludo agradecido.