Una guía para principiantes de Snaps en Linux - Parte 1


En los últimos años, la comunidad Linux ha sido bendecida con algunos avances notables en el área de administración de paquetes en sistemas Linux, especialmente cuando se trata de empaquetado y distribución de software universal o de distribución cruzada. Uno de esos avances es el formato de paquete Snap desarrollado por Canonical, los creadores del popular Ubuntu Linux.

Los snaps son aplicaciones de distribución cruzada, libres de dependencias y fáciles de instalar empaquetadas con todas sus dependencias para ejecutarse en las principales distribuciones de Linux. A partir de una sola compilación, se ejecutará un complemento (aplicación) en todas las distribuciones de Linux admitidas en el escritorio, en la nube e IoT. Las distribuciones compatibles incluyen Ubuntu, Debian, Fedora, Arch Linux, Manjaro y CentOS/RHEL.

Los snaps son seguros: están confinados y en un espacio aislado para que no comprometan todo el sistema. Corren bajo diferentes niveles de confinamiento (que es el grado de aislamiento del sistema base y entre sí). Más notablemente, cada complemento tiene una interfaz cuidadosamente seleccionada por el creador del complemento, según los requisitos del complemento, para proporcionar acceso a recursos específicos del sistema fuera de su confinamiento, como acceso a la red, acceso al escritorio y más.

Otro concepto importante en el ecosistema snap son los canales. Un canal determina qué versión de un complemento se instala y se rastrea para actualizaciones y consta de, y se subdivide por, pistas, niveles de riesgo y ramas.

Los componentes principales del sistema de administración de paquetes instantáneos son:

  • snapd – the background service that manages and maintains your snaps on a Linux system.
  • snap – both the application package format and the command-line interface tool used to install and remove snaps and do many other things in the snap ecosystem.
  • snapcraft – the framework and powerful command-line tool for building snaps.
  • snap store – a place where developers can share their snaps and Linux users search and install them.

Además, las instantáneas también se actualizan automáticamente. Puede configurar cuándo y cómo se producen las actualizaciones. De forma predeterminada, el demonio snapd busca actualizaciones hasta cuatro veces al día: cada verificación de actualización se denomina actualización. También puede iniciar una actualización manualmente.

Cómo instalar Snapd en Linux

Como se describió anteriormente, el demonio snapd es el servicio en segundo plano que administra y mantiene su entorno instantáneo en un sistema Linux, implementando las políticas de confinamiento y controlando las interfaces que permiten que los instantáneos accedan a recursos específicos del sistema. También proporciona el comando snap y sirve para muchos otros propósitos.

Para instalar el paquete snapd en su sistema, ejecute el comando apropiado para su distribución de Linux.

------------ [On Debian and Ubuntu] ------------ 
$ sudo apt update 
$ sudo apt install snapd

------------ [On Fedora Linux] ------------
# dnf install snapd			

------------ [On CentOS and RHEL] ------------
# yum install epel-release 
# yum install snapd		

------------ [On openSUSE - replace openSUSE_Leap_15.0 with the version] ------------
$ sudo zypper addrepo --refresh https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_15.0 snappy
$ sudo zypper --gpg-auto-import-keys refresh
$ sudo zypper dup --from snappy
$ sudo zypper install snapd

------------ [On Manjaro Linux] ------------
# pacman -S snapd

------------ [On Arch Linux] ------------
# git clone https://aur.archlinux.org/snapd.git
# cd snapd
# makepkg -si

Después de instalar snapd en su sistema, habilite la unidad systemd que administra el socket de comunicación snap principal, usando los comandos systemctl de la siguiente manera.

En Ubuntu y sus derivados, el instalador del paquete debería activarlo automáticamente.

$ sudo systemctl enable --now snapd.socket

Tenga en cuenta que no puede ejecutar el comando snap si snapd.socket no se está ejecutando. Ejecute los siguientes comandos para verificar si está activo y habilitado para iniciarse automáticamente al arrancar el sistema.

$ sudo systemctl is-active snapd.socket
$ sudo systemctl status snapd.socket
$ sudo systemctl is-enabled snapd.socket

A continuación, habilite el soporte de snap clásico creando un enlace simbólico entre/var/lib/snapd/snap y/snap de la siguiente manera.

$ sudo ln -s /var/lib/snapd/snap /snap

Para verificar la versión de snapd y la herramienta de línea de comandos snap instalada en su sistema, ejecute el siguiente comando.

$ snap version 

Cómo instalar Snaps en Linux

El comando snap le permite instalar, configurar, actualizar y eliminar instantáneas e interactuar con el ecosistema de instantáneas más grande.

Antes de instalar un complemento, puede comprobar si existe en la tienda de complementos. Por ejemplo, si la aplicación pertenece a la categoría de "servidores de chat" o "reproductores multimedia", puede ejecutar estos comandos para buscarla, que consultarán en la tienda los paquetes disponibles en el canal estable.

$ snap find "chat servers"
$ snap find "media players"

Para mostrar información detallada sobre un complemento, por ejemplo, rocketchat-server, puede especificar su nombre o ruta. Tenga en cuenta que los nombres se buscan tanto en la tienda de instantáneas como en las instantáneas instaladas.

$ snap info rocketchat-server

Para instalar un complemento en su sistema, por ejemplo, rocketchat-server, ejecute el siguiente comando. Si no se proporcionan opciones, se instala un complemento que rastrea el canal "estable", con un estricto confinamiento de seguridad.

$ sudo snap install rocketchat-server

Puede optar por instalar desde un canal diferente: borde, beta o candidato, por una razón u otra, utilizando --edge , --beta o < código> - candidato opciones respectivamente. O use la opción --channel y especifique el canal desde el que desea instalar.

$ sudo snap install --edge rocketchat-server        
$ sudo snap install --beta rocketchat-server
$ sudo snap install --candidate rocketchat-server

Administrar Snaps en Linux

En esta sección, aprenderemos cómo administrar instantáneas en el sistema Linux.

Para mostrar un resumen de las instantáneas instaladas en su sistema, use el siguiente comando.

$ snap list

Para enumerar la revisión actual de un complemento que se está utilizando, especifique su nombre. También puede enumerar todas sus revisiones disponibles agregando la opción --all .

$ snap list mailspring
OR
$ snap list --all mailspring

Puede actualizar una instantánea especificada o todas las instantáneas del sistema si no se especifica ninguna de la siguiente manera. El comando de actualización verifica el canal que está rastreando el complemento y descarga e instala una versión más reciente del complemento si está disponible.

$ sudo snap refresh mailspring
OR
$ sudo snap refresh		#update all snaps on the local system

Después de actualizar una aplicación a una nueva versión, puede volver a una versión usada anteriormente usando el comando revert. Tenga en cuenta que los datos asociados con el software también se revertirán.

$ sudo snap revert mailspring

Ahora, cuando verifica todas las revisiones de mailspring, la última revisión está deshabilitada, una revisión utilizada anteriormente ahora está activa.

$ snap list --all mailspring

Puede desactivar un complemento si no desea usarlo. Cuando se deshabilita, los binarios y servicios de un complemento ya no estarán disponibles; sin embargo, todos los datos seguirán allí.

$ sudo snap disable mailspring

Si necesita usar el complemento nuevamente, puede habilitarlo nuevamente.

$ sudo snap enable mailspring

Para eliminar completamente un snap de su sistema, use el comando remove. De forma predeterminada, se eliminan todas las revisiones de un complemento.

$ sudo snap remove mailspring

Para eliminar una revisión específica, use la opción --revision de la siguiente manera.

$ sudo snap remove  --revision=482 mailspring

Es clave tener en cuenta que cuando eliminas un complemento, snapd (versión 2.39 y superior) guarda sus datos (como el usuario interno, el sistema y los datos de configuración) como una instantánea y se almacenan en el sistema durante 31 días. En caso de que reinstale el complemento dentro de los 31 días, puede restaurar los datos.

Los snaps se están volviendo más populares dentro de la comunidad de Linux, ya que brindan una manera fácil de instalar software en cualquier distribución de Linux. En esta guía, hemos mostrado cómo instalar y trabajar con instantáneas en Linux. Cubrimos cómo instalar snapd, instalar instantáneas, ver instantáneas instaladas, actualizar y revertir instantáneas, y deshabilitar/habilitar y eliminar instantáneas.

Puede hacer preguntas o comunicarse con nosotros a través del formulario de comentarios a continuación. En la siguiente parte de esta guía, cubriremos la administración de instantáneas (comandos, alias, servicios e instantáneas) en Linux.