Todo lo que necesita saber sobre Snap y Snap Store
Un administrador de paquetes es un conjunto de servicios integrados que facilitan la instalación, actualización, eliminación y configuración de paquetes / programas en una computadora.
Hablando específicamente sobre el sistema operativo Linux, puede elegir entre una amplia gama de administradores de paquetes, como APT, YUM, RPM y Pacman. Cada uno de estos administradores de paquetes tiene una característica distinta que los diferencia del otro.
Sin embargo, un administrador de paquetes relativamente nuevo, Snap, ha surgido como una alternativa viable a los administradores de paquetes tradicionales. Veamos Snap, sus pros y contras, y cómo instalarlo y usarlo en Linux.
¿Qué es Snap?
Snap es un sistema de implementación y empaquetado multiplataforma desarrollado por Canonical, los creadores de Ubuntu, para la plataforma Linux. Es compatible con la mayoría de las principales distribuciones de Linux, incluidas Ubuntu, Debian, Arch Linux, Fedora, CentOS y Manjaro.
Snap consta de tres componentes fundamentales:
1. Snaps
Al igual que cualquier otro administrador de paquetes, Snap también incluye paquetes llamados snaps. Estos paquetes, a diferencia de sus contrapartes de los administradores de paquetes tradicionales, no tienen dependencias y son fáciles de instalar.
Los snaps terminan en la extensión .snap , que es esencialmente un sistema de archivos comprimido que usa el formato SquashFS y contiene todo el módulo del paquete, incluida la aplicación, sus bibliotecas dependientes y metadatos adicionales.
2. Snapd
Snapd (o snap daemon) utiliza los metadatos snap para configurar una caja de arena segura para las aplicaciones de su sistema. Dado que es un demonio, toda la tarea de mantener y administrar el entorno instantáneo ocurre en segundo plano.
3. Tienda Snap
Los snaps residen en Snap Store y puede explorarlos y descargarlos como lo hace con otros administradores de paquetes. Además, también tiene la opción de publicar sus propios paquetes instantáneos directamente en la Tienda Snap, lo que no es posible con los administradores de paquetes tradicionales.
Además de estos elementos, Snap también tiene otro componente esencial conocido como canal . Un canal es responsable de definir qué versión de un complemento se instala y rastrea para actualizaciones en su sistema. Como resultado, cuando instala o actualiza instantáneas, tiene la capacidad de especificar el canal con el que desea continuar para cada una de estas operaciones.
Recordar:
- Snap : se utiliza para hacer referencia tanto al formato del paquete de la aplicación como a la interfaz de línea de comandos.
- Snapd : un demonio de Snap que ayuda a administrar y mantener las instantáneas.
- Snap Store : hogar de todas las instantáneas ; le permite cargar sus propias instantáneas y explorar e instalar nuevas instantáneas.
- Snapcraft : un marco que te ayuda a crear tus propias instantáneas.
Snap: lo bueno y lo malo
Desde que Canonical anunció Snap, ha habido un gran revuelo en la comunidad de Linux sobre si Snap es el enfoque correcto para mejorar la distribución de paquetes en Linux. Esto ha dado lugar a dos bandos opuestos: uno a favor de Snap y el otro crítico de su enfoque a largo plazo.
Aquí hay un desglose de todo lo bueno y lo malo de Snap.
Ventajas de usar Snap
- Los snaps vienen con dependencias (bibliotecas) que facilitan el acceso instantáneo a un programa, ya que ya no tiene que instalar manualmente las dependencias que faltan para que funcione en su sistema.
- Cada complemento se ejecuta en su propia caja de arena en contenedor para evitar interferencias con otros paquetes del sistema. Como resultado, cuando elimina un complemento, el sistema elimina todos sus datos, incluidas las dependencias, sin afectar a otros paquetes. No hace falta decir que esto también ofrece un entorno más seguro, ya que un paquete no puede acceder a la información de otro.
- Las actualizaciones instantáneas se ajustan automáticamente a intervalos establecidos. Por lo tanto, siempre ejecuta la última versión de un programa en su sistema.
- Snap facilita a los desarrolladores la distribución de su software directamente a los usuarios, por lo que no tienen que esperar a que su distribución de Linux los implemente.
- Agregando al punto anterior, otra ventaja de poner a los desarrolladores a cargo de empaquetar y distribuir su software es que no tienen que crear paquetes específicos de la distribución, ya que viene con las dependencias requeridas.
Desventajas de Snap
- Dado que las instantáneas vienen incluidas con dependencias, son más grandes y ocupan más espacio en disco que sus contrapartes de otros administradores de paquetes.
- Como resultado de las dependencias incluidas, las instantáneas se distribuyen como imágenes comprimidas del sistema de archivos y debe montarlas antes de instalarlas. Debido a esto, las instantáneas son más lentas de ejecutar que los paquetes tradicionales.
- Aunque Snap permite a los desarrolladores distribuir sus instantáneas directamente a los usuarios, la canalización de distribución requiere que configuren una cuenta con Canonical y alojen sus instantáneas en ella. Esto va en contra de la verdadera naturaleza de la metodología de código abierto porque, aunque el software sigue siendo de código abierto, el sistema de gestión de paquetes está controlado por una entidad.
- Otra desventaja de permitir que los desarrolladores distribuyan paquetes es que los paquetes no pasan por controles y revisiones estrictos por parte de la comunidad y, por lo tanto, conllevan el riesgo de contener malware, como se vio hace unos años.
- Debido al hecho de que el back-end de Snap todavía es de código cerrado y controlado por Canonical, muchas distribuciones importantes de Linux no están de acuerdo con la idea de poner Snap como el administrador de paquetes predeterminado en su sistema.
Con respecto al riesgo de malware, Snap ahora utiliza pruebas automáticas de malware para escanear los paquetes cargados por el usuario en busca de códigos maliciosos antes de que se distribuyan en Snap Store.
Cómo instalar snapd en Linux
Dado que snapd es un componente esencial de Snap, es lo primero que necesita instalar en su sistema. Sin embargo, si está ejecutando alguna de las siguientes distribuciones de Linux, ya tiene snapd preinstalado en su sistema: KDE Neon, Manjaro, Ubuntu (16.04 / 4 LTS y 20.04 LTS), Zorin OS.
En el caso de alguna otra distribución de Linux, deberá instalar snapd manualmente.
En Debian / Ubuntu:
sudo apt update
sudo apt install snapd
La instalación de snapd en CentOS y otras distribuciones basadas en RHEL es fácil:
yum install epel-release
yum install snapd
Para instalar snapd en Fedora:
sudo dnf install snapd
En Arch Linux:
git clone https://aur.archlinux.org/snapd.git
cd snapd
makepkg -si
Para instalar snapd en Manjaro Linux:
sudo pacman -S snapd
Una vez instalado, debe habilitar la unidad systemd que es responsable de administrar las comunicaciones Snap en (algunas) distribuciones de Linux antes de poder usar Snap.
Si está en una distribución de Linux que no sea Ubuntu y sus derivados, ejecute el siguiente comando para habilitar la unidad snapd systemd:
sudo systemctl enable --now snapd.socket
Finalmente, reinicie su sistema con:
sudo reboot
Cómo usar Snap en Linux
Usar Snap es bastante similar a usar otros administradores de paquetes. Dado que instaló snapd en su sistema en el paso anterior, ahora puede acceder a la herramienta de instantáneas e interactuar fácilmente con las instantáneas de la tienda Snap.
Encontrar un complemento
Con Snap, puede explorar Snap Store y encontrar paquetes en diferentes categorías. Entonces, si desea buscar instantáneas en una categoría en particular, use la siguiente sintaxis de comando:
snap find package_category
Por ejemplo:
snap find development
Si te topas con un paquete y quieres saber más sobre él, usa el método info con el comando predeterminado.
snap info package_name
Por ejemplo, para extraer información sobre el complemento GIMP:
snap info gimp
Instalación de un complemento
Finalmente, cuando encuentre un complemento que cumpla con sus requisitos, puede instalarlo ejecutando:
sudo snap install package_name
Una vez instalado, puede encontrar el programa en el menú Aplicaciones de su distribución de Linux. Luego puede ejecutarlo directamente desde el menú o mediante el terminal ingresando su nombre.
Lista de instantáneas instaladas
Para obtener una lista de todas las instantáneas instaladas en su sistema:
snap list
Visualización de la información de la versión de un complemento
Para conocer la versión actual de un complemento, ejecute:
snap list package_name
Actualización de Snaps
Snap actualiza automáticamente los paquetes instalados en su sistema. Para facilitar esto, snapd, por defecto, está configurado para buscar actualizaciones cuatro veces al día. Sin embargo, si lo desea, puede modificar esta frecuencia de actualización según sus preferencias.
Además, si es necesario, puede realizar una actualización instantánea ejecutando:
snap refresh
Del mismo modo, también puede buscar una actualización en un instante con:
sudo snap refresh package_name
Cuando lo hace, Snap busca una versión más reciente en el canal rastreado por el complemento. Si hay una actualización disponible, la descarga e instala automáticamente.
Volver a la versión utilizada anteriormente de un complemento
Si tiene problemas después de actualizar un complemento, puede volver a su versión anterior ejecutando:
sudo snap revert package_name
Deshabilitar y habilitar un complemento
Para los momentos en los que no está utilizando un complemento, pero es posible que lo necesite en el futuro, puede desactivarlo temporalmente y volver a activarlo cuando sea necesario. De esa manera, no tiene que pasar por el tedioso proceso de desinstalar y reinstalar el complemento.
Para deshabilitar un complemento, escriba:
sudo snap disable package_name
Cuando desee habilitarlo, simplemente ejecute:
sudo snap enable package_name
Eliminar un complemento
Por último, para eliminar las instantáneas no utilizadas en su sistema que probablemente no necesitará en el futuro:
sudo snap remove package_name
Configuración exitosa de Snap en Linux
Si ha seguido la guía hasta aquí, tendrá Snap en funcionamiento en su sistema Linux. Y posteriormente, debería poder encontrar y descargar la mayoría de los paquetes que necesita. Por supuesto, como es el caso de cualquier otro administrador de paquetes, es posible que te lleve algo de tiempo familiarizarte con Snap. Pero una vez que lo domine, podrá usarlo de manera efectiva.
Sin embargo, dicho esto, existen ventajas y desventajas en el uso de Snap, que debe tener en cuenta antes de comenzar. Si desea una alternativa a Snap, una que se alinee bien con la metodología gratuita y de código abierto, consulte Flatpaks para tener una mejor idea de qué administrador de paquetes tiene una mejor tienda para descargar aplicaciones de Linux.