Cómo trabajar con paquetes Snap en Linux

Cómo trabajar con paquetes Snap en Linux

Ubuntu

Cuando instala paquetes de software de Linux con snap, puedes despedirte 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 faltante o desactualizada. Luego, ubica el recurso que falta y lo instala, y luego encuentra otra aplicación dependiendo 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, dnf, y Pac-Man. Sin embargo, todavía tiene dificultades si necesita instalar diferentes versiones de la misma aplicación. O, si está utilizando dos aplicaciones que entran en conflicto porque están relacionadas con versiones específicas, pero diferentes, de una biblioteca.

Una solución a estos problemas radica en el empaquetado de aplicaciones y los sistemas de implementación. pegadizo es uno de los más populares. Se basa en un sistema de empaquetado e implementación llamado Click, que se refiere a la Ubuntu Touch iniciativa. AppImage y Paquete plano son otros que puede haber encontrado.

Estos sistemas encapsulan la aplicación con todas 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 se proporciona o requiere la aplicación están disponibles solo para ella.

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

Si no se instalan de la forma habitual, ¿cómo se gestionan? Bueno, el archivo de paquete único se descarga, descomprime y monta como un archivo SquashFSsistema de archivos virtual. Luego se le presenta como un entorno virtual. Todo ocurre entre bastidores. Todo lo que sabrá es que instaló una aplicación y ahora puede acceder 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 instala una vez, como MySQL Dónde apache. Si dos diferentes snap las aplicaciones requieren los mismos recursos, cada una trae su propia copia.

Esta es la compensación por la facilidad de instalación y la eliminación de los dolores de cabeza asociados con los conflictos de recursos.

Instalación de snapd

Snappy se introdujo con Ubuntu 16.04, por lo que si está usando esa versión o una versión 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 en el paquete como el comando que usa para interactuar con ellos. Detrás de escena, el snapd daemon también es el nombre del paquete que debe instalar si aún no tiene Snappy en su computadora.

Instalar snapd en Fedora, escriba el siguiente comando:

sudo dnf install snapd

Si necesita instalarlo en Manjaro, use estos comandos:

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

Puedes usar el snap version comando para ver la versión del snap cliente, snapd demonio 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

Instalación de paquetes instantáneos

La instalación de un snap envoltura. Puedes usar snap buscar snap paquetes, luego instale el que desee.

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

snap find gimp

snap busca coincidencias con el índice de búsqueda «gimp» y devuelve sus resultados. Encontrará todo lo que coincida con el término de búsqueda o lo mencione.

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

sudo snap install gimp

A medida que avanza la descarga, el porcentaje de finalización aumenta y una barra de progreso se desplaza hacia la izquierda de la ventana de la terminal. Cuando se completa la instalación, aparece un mensaje (como se muestra a continuación) indicándole que el paquete se ha instalado.

Puedes usar el df Ordenar a comprobar la capacidad y el uso diferentes sistemas de archivos configurados en su computadora Linux. Si dirigimos su liberación al grep pedir y buscar «gimp», aislar la entrada del paquete acabamos de instalar.

Escribimos lo siguiente:

df | grep gimp

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

El sistema de archivos se enumera a continuación: /dev/loop18. Los archivos de dispositivo de bucle se utilizan para hacer que los archivos normales sean accesibles como dispositivos de bloque. Por lo general, se utilizan para montar sistemas de archivos en imágenes de disco. En este caso, viajan en SquashFS sistema de archivos en el snap envoltura. El «18» significa que es el 18 /dev/loop archivo de dispositivo utilizado en esta computadora con Linux.

Podemos usar el df comando para comprobar esto rápidamente. Usaremos el – t (tipo) opción para limitar la salida a SquashFS tipos de archivo solamente.

Escribimos lo siguiente:

df -t squashfs

El montado SquashFS se enumeran los sistemas de archivos. A /dev/loop el archivo del dispositivo gestiona cada uno de ellos, y hay 18 de ellos.

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

Además, al instalar snapd, instala un kernel snap paquetes para satisfacer las necesidades de otros snap paquetes.

Podemos usar el snap list comando, como se muestra a continuación, para enumerar snap paquetes:

snap list

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

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 dieron como resultado 18 SquashFS sistemas de archivos. Las columnas de la tabla se explican por sí mismas, pero aquí hay algunos detalles:

  • apellido: El nombre de snap paquete que se instaló.
  • Versión: El número de versión del software en el snap envoltura.
  • Torre: El número de revisión del snap envoltura.
  • Regular: El canal este snap el paquete supervisa las actualizaciones. Son cuatro:
    • Estable: El canal predeterminado. Como sugiere el nombre, 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 está completo. Se somete a pruebas finales antes de pasar al canal estable.
    • Beta: Este canal es de buena calidad al final del ciclo de desarrollo, pero su estabilidad no está garantizada.
    • Borde: Para los primeros probadores de compilación. No debe utilizar este canal para trabajos pesados ​​o en una computadora de producción. ¡Aquí hay dragones!
  • Editor: La persona, empresa u organización que publicó el snap envoltura. Si se trataba de 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 (*).
  • Observaciones: Cualquier comentario o información adicional aparecerá aquí.

Canales instantáneos

Puedes usar el info opción para obtener una descripción de un snap envoltura.

Para hacer esto, escribimos lo siguiente:

snap info gtk-common-themes

Podemos ver qué canal está rastreando el paquete y la versión del software en el snap ramos en cada una de las cuatro cadenas. En la mayoría de los casos, debe permanecer en el canal estable.

A snap El paquete comprueba cuatro veces al día para ver si hay una versión más reciente del software disponible en el canal que ve o «sigue». Si desea cambiar de canal snap paquete de pistas, puede utilizar el refresh y --channel opción.

Para hacer esto, escribimos lo siguiente:

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

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

Puedes usar el --list opción para comprobar si hay actualizaciones disponibles para alguno de los snap paquetes instalados en su computadora.

Para hacer esto, escribimos lo siguiente:

sudo snap refresh --list

Se le informará si alguno de los canales del snap Los paquetes de su computadora que se rastrean contienen versiones de software más recientes.

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

sudo snap refresh gtk-common-themes

Quitar un paquete instantáneo

Para desinstalar un snap paquete, puede utilizar la opción de eliminar, como se muestra a continuación:

sudo snap remove gimp

La hoja de trucos instantánea

El uso de paquetes instantáneos es bastante sencillo, 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 package_name
  • Para ver todos los paquetes instalados: snap list
  • Para obtener información sobre un solo paquete: snap info package_name
  • Para cambiar el canal, un paquete sigue las actualizaciones: sudo snap refresh package_name --channel=channel_name
  • Para ver si las actualizaciones están listas para los paquetes instalados: sudo snap refresh --list
  • Para actualizar manualmente un paquete: sudo snap refresh package_name
  • Para desinstalar un paquete: sudo snap remove package_name

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Experto Geek - Tu Guía en Tendencias Tecnológicas