01/19/2022

Cómo trabajar con paquetes Snap en Linux

Cuando instala paquetes de software de Linux con snap, puede despedirse del infierno de la dependencia y romper otras aplicaciones que funcionan. Los paquetes Snap se diseñaron originalmente para Ubuntu, pero ahora están disponibles en una variedad de distribuciones de Linux.

¿Qué son los paquetes Snap?

En el pasado, instalar aplicaciones en Linux era una experiencia potencialmente frustrante. Instalaría algo solo para encontrar una biblioteca en particular u otra dependencia que falta o está desactualizada. Luego, buscaría el recurso que faltaba e instalaría, solo para encontrar otra aplicación que dependiera de la versión de la biblioteca que acaba de reemplazar. Arregle uno, rompa uno, repita.

Esto ha mejorado con mejores sistemas de administración de paquetes, como apto, dnfy pacman. Sin embargo, aún se enfrenta a dificultades si necesita instalar diferentes versiones de la misma aplicación. O, si usa dos aplicaciones que entran en conflicto porque están vinculadas a versiones específicas, pero diferentes, de una biblioteca.

Una solución a estos problemas son los sistemas de implementación y empaquetado de aplicaciones. Rápido es uno de los más populares. Se basa en un sistema de empaquetado e implementación llamado Click, que se remonta al Ubuntu Touch iniciativa. AppImage y Paquete plano son otros que podría haber encontrado.

Estos sistemas encapsulan la aplicación junto con las dependencias y otros requisitos en un solo archivo comprimido. Luego, la aplicación se ejecuta en una especie de mini contenedor. Está aislado y separado de otras aplicaciones. Las bibliotecas y otros recursos con los que está empaquetada la aplicación o que requiere solo están disponibles para ella.

No se instalan en el sentido tradicional, por lo que no causan problemas con otras aplicaciones que requieren diferentes versiones de los mismos recursos. Incluso puede instalar y ejecutar aplicaciones que necesiten versiones de biblioteca conflictivas porque cada aplicación está en su propia caja de arena.

Sin embargo, si no se instalan de la forma habitual, ¿cómo se manejan? Bueno, el archivo de paquete único se descarga, descomprime y monta como SquashFSsistema de archivos virtual. Luego se le presenta como un entorno virtual. Todo esto ocurre entre bastidores. Todo lo que sabrá es que ha instalado una aplicación y, ahora, tiene acceso a ella.

Por supuesto, debido a que cada archivo de paquete debe contener todos los recursos que necesita la aplicación, los archivos de paquete pueden ser grandes. También es fácil duplicar un recurso que normalmente solo instalarías una vez, como MySQL o apache. Si dos aplicaciones instantáneas diferentes requieren los mismos recursos, cada una trae su propia copia.

Mira esto -   Cómo deshabilitar las preguntas de seguridad en Windows 10

Sin embargo, esta es la compensación por la simplicidad de la instalación y la eliminación de los dolores de cabeza por conflictos de recursos.

Instalación de snapd

Snappy se introdujo con Ubuntu 16.04, por lo que si está ejecutando esa versión o una posterior, ya está listo para comenzar. En nuestra máquina, Snappy se instaló en Manjaro 18.04, pero tuvimos que instalarlo en Fedora 31.

snap es tanto el nombre de los archivos del paquete como el comando que usa para interactuar con ellos. Detrás de escena, el demonio snapd también es el nombre del paquete que debe instalar si aún no tiene Snappy en su computadora.

Para instalar snapd en Fedora, escriba el siguiente comando:

sudo dnf install snapd

los

Si necesita instalarlo en Manjaro, use estos comandos:

sudo pacman -Sy snapd
sudo systemctl enable --now snapd.socket

Puede utilizar el comando snap version para ver la versión del cliente snap, el demonio snapd y el número de serie del software. El nombre y la versión de su distribución de Linux y la versión del kernel también se mostrarán.

Escriba lo siguiente:

snap version

los

Instalación de paquetes instantáneos

Es un proceso bastante sencillo instalar un paquete instantáneo. Puede usar snap para buscar paquetes snap y luego instalar el que desee.

Escribimos lo siguiente para buscar e instalar el editor de imágenes gimp:

snap find gimp

los

snap busca coincidencias con la pista de búsqueda «gimp» y devuelve sus resultados. Encontrará cualquier cosa que coincida o mencione el término de búsqueda.

Para instalar uno de los paquetes, usamos el valor de la columna Nombre, como se muestra a continuación:

sudo snap install gimp

los

A medida que se descarga, la cifra de porcentaje completado aumenta y una barra de progreso se desliza desde la izquierda de la ventana del terminal. Cuando se completa la instalación, aparece un mensaje (como se muestra a continuación) indicándole que el paquete fue instalado.

UN

Puede utilizar el comando df para comprobar la capacidad y el uso de los diferentes sistemas de archivos configurados en su computadora Linux. Si canalizamos su salida al comando grep y buscamos «gimp», aislar la entrada del paquete acabamos de instalar.

Escribimos lo siguiente:

df | grep gimp

los

Esto nos muestra que el paquete instantáneo se montó como si fuera un sistema de archivos. El punto de montaje está en el directorio snap aquí: / snap / gimp / 252. El «252» es el número de lanzamiento de esta versión de gimp.

Mira esto -   Cómo agregar el Dock a la Touch Bar en una MacBook

El sistema de archivos aparece como: / dev / loop18. Los archivos de dispositivo de bucle se utilizan para que los archivos normales sean accesibles como dispositivos de bloque. Normalmente se utilizan para montar los sistemas de archivos en imágenes de disco. En este caso, están montando el sistema de archivos SquashFS dentro del paquete snap. El «18» significa que este es el 18º archivo de dispositivo / dev / loop en uso en esta computadora Linux.

Podemos usar el comando df para verificar esto rápidamente. Usaremos la opción – t (tipo) para limitar la salida a tipos de archivos SquashFS únicamente.

Escribimos lo siguiente:

df -t squashfs

los

Se enumeran los sistemas de archivos SquashFS montados. Un archivo de dispositivo / dev / loop maneja cada uno, y hay 18 de ellos.

Sistemas de archivos SquashFS listados en una ventana de terminal.

Cada sistema de archivos se monta en un directorio dentro del directorio / snap. Sin embargo, esto no significa que haya 18 paquetes instantáneos diferentes instalados en esta computadora. Esta es una distribución de Ubuntu, por lo que algunos paquetes instantáneos se instalan de inmediato y acabamos de instalar otro.

Además, cuando instala snapd, instala algunos paquetes snap principales para manejar las necesidades de otros paquetes snap.

Podemos usar el comando de lista de instantáneas, como se muestra a continuación, para listar los paquetes instantáneos instalados:

snap list

Una lista instantánea en una ventana de terminal.

La salida fue un poco amplia, por lo que el final de los listados se muestra a continuación.

El final de la salida de la lista de instantáneas en una ventana de terminal.

Aquí está la lista completa:

Name                 Version                    Rev   Tracking  Publisher    Notes
core                 16-2.43.3                  8689  stable    canonical*   core
core18               20200124                   1668  stable    canonical*   base
gimp                 2.10.18                    252   stable    snapcrafters -
gnome-3-26-1604      3.26.0.20191114            98    stable/…  canonical*   -
gnome-3-28-1804      3.28.0-16-g27c9498.27c9498 116   stable    canonical*   -
gnome-calculator     3.34.1+git1.d34dc842       544   stable/…  canonical*   -
gnome-characters     v3.32.1+git3.b9120df       399   stable/…  canonical*   -
gnome-logs           3.34.0                     81    stable/…  canonical*   -
gnome-system-monitor 3.32.1-3-g0ea89b4922       127   stable/…  canonical*   -
gtk-common-themes    0.1-28-g1503258            1440  stable/…  canonical*   -

Como puede ver, hay 10 paquetes instantáneos instalados, no 18. Sin embargo, estos 10 paquetes han dado lugar a los 18 sistemas de archivos SquashFS. Las columnas de la tabla se explican por sí mismas, pero aquí hay algunas aclaraciones:

Nombre: el nombre del paquete instantáneo que se instaló.
Versión: el número de versión del software en el paquete instantáneo.
Rev: el número de revisión del paquete instantáneo.
Seguimiento: el canal que supervisa este paquete instantáneo en busca de actualizaciones. Existen cuatro:
Estable: el canal predeterminado. Como su nombre lo indica, este canal contiene los paquetes más estables.
Candidato: este canal es menos estable, pero muy cercano a él porque contiene software de nivel de versión candidato, que es de código completo. Pasa por las pruebas finales antes de pasar al canal estable.
Beta: este canal tiene una calidad de ciclo de desarrollo tardío, pero no se garantiza que sea estable.
Edge: para probadores de compilación temprana. No debe utilizar este canal para trabajos importantes o en una computadora de producción. ¡Aquí hay dragones!

Mira esto -   Cómo utilizar la función IF de Google Sheets

Editor: la persona, empresa u organización que lanzó el paquete instantáneo. Si era un editor verificado (y la ventana de su terminal admite Unicode), verá una marca de verificación verde junto al nombre del editor. Si no puede mostrar una marca de verificación, verá un asterisco
.

Notas: Cualquier comentario o información adicional aparecerá aquí.

Los canales rápidos

Puede utilizar la opción de información para obtener una descripción de un paquete instantáneo.

snap info gtk-common-themes

Para hacerlo, escribimos lo siguiente:

los

Podemos ver qué canal está rastreando el paquete y la versión del software en los paquetes instantáneos en cada uno de los cuatro canales. En la mayoría de las circunstancias, debe permanecer en el canal estable.

Un paquete instantáneo verifica cuatro veces al día para ver si hay una versión más nueva del software disponible en el canal que está viendo o «rastreando». Si desea cambiar el canal que sigue un paquete instantáneo, puede usar las opciones de actualización y –canal.

sudo snap refresh gtk-common-themes --channel=beta

Para hacerlo, escribimos lo siguiente:

los

Si hubiera disponible una versión más reciente del software, se instalaría, pero ese no fue el caso aquí. Sin embargo, el paquete instantáneo ahora rastrea el canal beta. Tan pronto como se lanza una nueva versión beta, se descarga y actualiza automáticamente.

Puede usar la opción –list para verificar si hay actualizaciones disponibles para cualquiera de los paquetes instantáneos instalados en su computadora.

sudo snap refresh --list

Para hacerlo, escribimos lo siguiente:

los

Se le informará si alguno de los canales que rastrean los paquetes instantáneos en su computadora contiene versiones de software más recientes.

sudo snap refresh gtk-common-themes

Si hay disponible una versión más reciente del software, puede usar la opción de actualización, como se muestra a continuación, para forzar una actualización manualmente:

los

Eliminar un paquete instantáneo

sudo snap remove gimp

Para desinstalar un paquete instantáneo, puede usar la opción de eliminar, como se muestra a continuación:

los

La hoja de trucos snap

Usar paquetes instantáneos es bastante simple, pero hemos compilado una lista de algunos comandos que lo ayudarán:
Para buscar un paquete: snap find package_name
Para instalar un paquete: sudo snap install nombre_paquete
Para ver todos los paquetes instalados: lista instantánea
Para obtener información sobre un solo paquete: snap info nombre_paquete
Para cambiar el canal, un paquete rastrea las actualizaciones: sudo snap refresh nombre_paquete –canal = nombre_canal
Para ver si las actualizaciones están listas para los paquetes instalados: sudo snap refresh –list
Para actualizar manualmente un paquete: sudo snap refresh nombre_paquete

Para desinstalar un paquete: sudo snap remove package_name

x