Introducción
Snappy es un administrador de paquetes ideado por Canonical Ltd. y un formato de paquete de software inicialmente solo para Ubuntu, pero también es adoptado por otras distribuciones.
Un Snap te permite instalar una aplicación con todas las bibliotecas que necesita, separadas del sistema, es decir, sin comprometer la última versión de la biblioteca presente en el sistema operativo. De esta manera, se evitan los conflictos de dependencia entre diferentes aplicaciones (que requieren la misma biblioteca común) y es posible tener versiones obsoletas o múltiples de la misma biblioteca o programa (dentro de diferentes instantáneas).
La extensión del formato utilizado es .snap, de hecho, los Snappies se pueden instalar tanto desde la tienda de Ubuntu como desde el paquete descargado por separado; le permite actualizar paquetes sin tener que volver a cargarlos por completo. Los desarrolladores pueden crear paquetes.snap con la herramienta snapcraft, que les permite crear aplicaciones de escritorio, servicios en segundo plano y herramientas de línea de comandos.
Si desea instalar Snapd en un servidor remoto, continúe leyendo; de lo contrario, omita el primer párrafo "Conectarse al servidor" y lea el siguiente.
Conexión al servidor
Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:
ssh root@IP_DEL_SERVER
A continuación, deberá ingresar la contraseña del usuario root.
Si no está utilizando el usuario root, puede iniciar sesión con otro nombre de usuario utilizando el mismo comando, luego cambie root a su nombre de usuario:
ssh nome_utente@IP_DEL_SERVER
Luego se le pedirá que ingrese su contraseña de usuario.
El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Instalar snapd
snapd
es el servicio que se ejecuta en su computadora y realiza un seguimiento de sus instantáneas instaladas, interactúa con la tienda y le brinda el comando snap para interactuar con ella.
Snapd se puede instalar en muchas distribuciones, incluidas: Ubuntu, Archlinux, Debian, Gentoo, Fedora, OpenSuse, OpenWrt. Visite esta página para ver todas las distribuciones que admiten snap,
Instale snapd en distribuciones basadas en Ubuntu y Debian
En Ubuntu ya debería estar instalado en las últimas versiones. Si no está utilizando una de las versiones más nuevas de Ubuntu, instale snapd con el siguiente comando
sudo apt install snapd
Instalar snapd en Archlinux
sudo pacman -S snapd
Habilite el servicio snapd:
sudo systemctl enable --now snapd.socket
Instalar snapd en Debian (solo Sid)
sudo apt install snapd
Instalar snapd en Fedora
sudo dnf install snapd
Instalar snapd en openSuSE
sudo zypper addrepo
sudo zypper install snapd
Instalar snapd en Gentoo
Instale la superposición gentoo-snappy. OpenEmbedded /yocto Instalar complemento capa meta.
Instalar snapd en OpenWrt
Habilite la alimentación snap-openwrt.
Busque un paquete instantáneo
snapd
debería estar en funcionamiento. Veamos cómo puede encontrar cualquier tipo de paquete instantáneo en la tienda con la entrada de hello
snap find hello
Debería ver un mensaje de salida similar al siguiente:
Name Version Publisher Notes Summary
hello 2.10 canonical✓ - GNU Hello, the "hello world" snap
hello-world 6.4 canonical✓ - The 'hello-world' of snaps
test-snapd-hello-classic 1.0 canonical✓ classic A hello-world with classic confinement
test-snapd-hello-multi-arch 1.0 canonical✓ - A amd64 snap that contains an i386 binary for testing
gamecake V19.961+git12.15b6eee-dirty xriss - a single exe cross platform Lua game engine...
snap find <search terms>
consultará la tienda y enumerará los resultados con su número de versión, nombres de desarrollador y descripción.
Instalar un paquete instantáneo
Como puede ver, varios desarrolladores han subido instantáneas de "Hello World". Solo instale uno.
sudo snap install hello
hello 2.10 from Canonical✓ installed
Nota: Cuando instale el primer complemento, snapd descargará el paquete básico del complemento del sistema operativo. Como resultado, el tiempo de descarga de la primera instantánea puede demorar un poco más que en el futuro para cualquier otra instantánea.
Ejecute un paquete instantáneo
Para ejecutar el comando, simplemente escriba hello
en la línea de comando (que es un comando proporcionado por el complemento de hello
hello
Hello, world!
Por supuesto, esto es solo un ejemplo simple, lo que tiene en común con todas las demás instantáneas, sin embargo, es que funciona completamente aislado y solo puede acceder a sus propios datos.
Verifique un paquete instantáneo instalado
Para ver las instantáneas instaladas en su sistema, use el comando de snap list
Este comando también mostrará la versión del software, la revisión única, el desarrollador instantáneo instalado y cualquier información opcional adicional.
snap list
Name Version Rev Tracking Publisher Notes
core 16-2.43.2 8592 stable canonical✓ core
hello 2.10 38 stable canonical✓ -
Notará que el core
ajuste, que contiene el sistema de ajuste base, también es parte de la lista. Entre otras cosas, incluye un nuevo complemento, que te asegurará estar siempre actualizado).
Actualizar paquetes instantáneos
Las instantáneas se actualizan automáticamente en segundo plano todos los días. Si lo desea, aún puede obtener manualmente la última versión de todas sus snap refresh
, este comando actualizará completamente todas las instantáneas, a menos que especifique una instantánea en particular para actualizar.
sudo snap refresh hello
snap "hello" has no updates available
Eliminar paquetes instantáneos
Para desinstalar instantáneamente todo lo que necesita hacer es snap remove <snap name>
. En nuestro caso simplemente haz:
sudo snap remove hello
hello removed
Se limpian el código de la aplicación, sus dependencias en tiempo de ejecución y los datos de usuario asociados.
Varios comandos con snap
Los paquetes instantáneos pueden contener más de un comando (por ejemplo, un conjunto de herramientas que se proporcionan en un instante). Luego, todos los comandos están espaciados por el nombre del paquete instantáneo. Siga los pasos a continuación para ver un ejemplo en acción:
sudo snap install hello-world
hello-world (stable) 6.3 from 'canonical' installed
hello-world
Hello World!
hello-world.env
XDG_SESSION_ID=24
SNAP_USER_COMMON=/root/snap/hello-world/common
SHELL=/bin/bash.......
XDG_RUNTIME_DIR=/run/user/0/snap.hello-world
SNAP=/snap/hello-world/29
LESSCLOSE=/usr/bin/lesspipe %s %s
SNAP_INSTANCE_KEY=
Nota: Para nuestro primer comando, no hay sufijo para el nombre del comando. Esto se debe al hecho de que snap puede tener un comando predeterminado.
Servicios Snap
Un servicio es simplemente un comando de larga duración, que idealmente siempre estará activo o durante un cierto período de tiempo para responder a algunas solicitudes. Snaps también puede proporcionar servicios para todo el sistema. Si instala el paquete instantáneo llamado shout (un cliente web irc independiente), puede verlo en acción apuntando su navegador a http://localhost:9000/
para interactuar con el servicio.
Los servicios Snap simplemente se inician /detienen al inicio y apagado del sistema. Pueden configurarse para activarse incluso bajo pedido.
Usar versiones y canales
Los desarrolladores pueden lanzar simultáneamente versiones estables, candidatas, beta y perimetrales de un complemento, para interactuar con una comunidad que esté dispuesta a probar los próximos cambios.
De forma predeterminada, las instantáneas se instalan mediante el canal stable
Por convención, los desarrolladores usan el candidate
para proporcionar un aviso de una nueva revisión estable, poniéndola en candidato unos días antes de subirla al canal estable para que la gente pueda probarla. El beta
es para instantáneas sin terminar pero interesantes, y el edge
se usa convencionalmente para compilaciones de desarrollo regulares o diarias que han pasado algunas pruebas de humo.
Cambiar de canal para aplicaciones instantáneas
sudo snap refresh hello --channel=beta
hello (beta) 2.10.1 from 'canonical' refreshed
Ahora puede ejecutar la versión beta del complemento y ver que su salida es diferente:
hello
Hello, snap padawan!
snapd
ahora seguirá el beta
hello
snap y recibirá actualizaciones a través de él.
También podemos instalar un complemento directamente desde el canal beta con el parámetro --beta
sudo snap install hello --beta
Restaurar un chasquido
Una de las características de snapd
es que simplemente puede volver a una versión anterior de una aplicación (incluidos los datos asociados con el complemento) por cualquier motivo:
sudo snap revert hello
hello reverted to 2.10
Así que intentemos volver a lanzar el hello
instantáneo:
hello
Hello, world!
Con este sistema de reversión integrado, puede actualizar con confianza sabiendo que siempre tendrá una forma de volver a su estado de trabajo anterior.
Conclusión
En este tutorial hemos visto cómo usar e instalar Snap. Para más información lea la documentación oficial.