Snap, Flatpak y Appimage. Formatos de paquetes universales para Linux

Los formatos de programas

Hay un viejo chiste en el mundo de la tecnología que dice que cada vez que alguien intenta crear un formato que junte lo mejor de todos los demás para evitar la dispersión, lo único que logra es agregar uno nuevo a la lista. Algo de eso hay con las iniciativas de crear un formato de paquete que pueda ejecutarse en todas las distribuciones Linux sin modificaciones. En lo que va del siglo ya llevamos tres.

Snap, Flatpak y Appimage. Diferencias con los formatos tradicionales

La principal diferencia entre los formatos de paquetes nativos y los formatos de paquetes independientes es que los primeros comparten dependencias con otros programas instalados en el sistema operativo. Es decir que si el programa Y necesita la dependencia 1 y esa dependencia fue instalada por el programa X que también la necesita, esa dependencia no volverá a instalarse.

Los programas empaquetados con formatos independientes incluyen todas las dependencias que necesitan para su funcionamiento. Es decir que la dependencia 1 se instalará cada vez que se instale un programa que la necesite.

La segunda diferencia es que los formatos de paquetes tradicionales deben ser construidos con las especificaciones de cada distribución. Es por eso que por más que Ubuntu sea una distribución derivada de Debian, las diferencias son lo suficientemente importantes como para que los repositorios de la primera no puedan ser usados en la segunda.

La tercera diferencia es que cualquier modificación a una dependencia de los paquetes tradicionales puede afectar el funcionamiento de todos los demás que la necesitan. En cambio, las modificaciones a un programa en un formato independiente, no afectará al resto del sistema.

Dependiendo de las particularidades de cada distribución, es posible instalar las aplicaciones en formatos independientes desde un gestor de paquetes y automatizar su actualización con el gestor encargado de las mismas.

En Ubuntu, el Centro de Software permite instalar tanto programas en formatos tradicionales como Snap, dándole preferencia a estos últimos. Por más que existe un plugin que permite que el Centro de Software de GNOME (del cuál se deriva el de Ubuntu) no funciona con esta distribución.

En el caso de Ubuntu Studio, es posible activar la opción de usar paquetes Snap mientras que KDE Neon y Manjaro pueden funcionar con ambos formatos.

Snap

Es el más nuevo de los formatos independientes ya que su desarrollo comenzó en el 2014.  Está pensado no solo para ser usado en distribuciones Linux de escritorio  si no también para Internet de las cosas, dispositivos móviles y servidores. Aunque es posible crear tiendas de aplicaciones independientes, en este momento solo existe una operada por Canonical, Snapcraft.

Aunque Snapcraft tiene un surtido de las aplicaciones más populares de código abierto, su fuerte son los programas desarrollados por empresas desarrolladores de software privativo y prestadoras de servicios en la nube.

Flatpak

Aunque oficialmente Flatpak  se lanzó en el 2015, es la continuidad de otro proyecto de formato universal conocido como xdg-app.  Este proyecto nació con el  objetivo de poder ejecutar aplicaciones en una caja de arena virtual segura, que no  requiera privilegios de root ni suponga una amenaza de seguridad para el sistema.

Flatpak está enfocado en las distribuciones de escritorio también utiliza el concepto de tienda de aplicaciones siendo Flathub la más conocida.

El punto fuerte de Flathub es que suele tener las versiones más actualizadas de las principales aplicaciones de código abierto.

Appimage

AppImage es el más antiguo de los formatos de paquetes independientes ya que se lanzó por primera vez en 2004.

Fue el primer formato en seguir el paradigma de «Una aplicación- unarchivo». Eso significa que  cada vez que descargamos un archivo Appimage estamos descargando la aplicación y todo lo que necesita para funcionar.  Si queremos usar la aplicación solo debemos darle permisos de ejecución y hacer doble clic sobre el icono que la identifica.

Appimage no utiliza el  sistema de tienda de aplicaciones, pero, hay una página web en la que podemos encontrar una lista de todos los títulos disponibles. 

Para actualizar las Appimage, podemos utilizar esta herramienta.


Deja tu comentario

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

*

*

  1. Responsable de los datos: AB Internet Networks 2008 SL
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   Satin dijo

    Echo en falta que se no haya hablado de la extrema lentitud creciente de snap al ir instalando apps por necesitar una unidad virtual para cada una.

  2.   satin dijo

    Echo en falta que se no haya hablado de la extrema lentitud creciente de snap al ir instalando apps por necesitar una unidad virtual para cada una.

    1.    Diego Germán González dijo

      Gracias por tu comentario. Lo voy a tener en cuenta.

  3.   Claudio Jofre dijo

    Personalmente creo que los problemas del empaquetamiento del software independiente, no es más que el reflejo de un conflicto mucho más profundo, que tiene que ver con el grado de cumplimiento de los estándares LSB y FSH por parte de las distintas distribuciones.
    Uno de los fundamentos que existen detrás del empaquetamiento, es la implementación de librerías estándar, manteniendo tanto el lugar y la ubicación del software, como de los archivos de configuración. Evitando de ese modo los conflictos de librerías. Algo que es habitual en otros sistemas operativos, y que lamentablemente, al no cumplir con los estándares, termina dificultando la mantención y la actualización del software, para que hablar de la migración de un software de una distribución a otra. La mala práctica de las compilaciones manuales, realizadas muchas veces a partir de un howto, sin analizar el cumplimiento de los estándares en su implementación, terminan siendo un enorme dolor de cabezas para los administradores de sistemas. Sobre todo, cuando alguien debe asumir algún servidor en producción instalado por otro admin anterior.
    Los empaquetados independientes, de una u otra manera, terminan contribuyendo esa filosofía, fomentando más que la independencia, la dependencia de un formato o una compañía en particular. Haciendo muchas veces, la migración de plataformas una tarea casi imposible. Pensando más en el corto plazo, que a largo plazo. Situación que puede atestiguar cualquier admin serio que tenga más de 15 años de experiencia. Y digo esa cifra a propósito, ya que en ese periodo habrá visto pasar suficientes distribuciones, para darse cuenta que tarde o temprano, los proyectos o servicios se verán obligados por una u otra razón migrar de plataforma. Situación que pocas veces entra en los procesos de evaluación durante la implementación de algún proyecto. Dónde los más sencillos de migrar son justamente las plataformas que de mejor manera cumplan con los estándares mencionados. Siendo estos empaquetados independientes, los que más se alejan de estos estándares.

    1.    Diego Germán González dijo

      Interesante aporte, no se me había ocurrido pensarlo

  4.   Rafael Linux User dijo

    La herramienta de actualización de ficheros AppImage no sirve prácticamente para nada. De 7 ficheros AppImage con los que lo he intentado (Inkscape, Olive, KSnip, MuseScore, OpenShot entre otros) sólo ha hecho amago de funcionar con uno, acabando con un «No existe firma de verificación» y por tanto, no actualizandolo tampoco. Es decir, NO SIRVE PARA NADA, podéis quitar la referencia. Además, no se actualiza hace meses.

    1.    Diego Germán González dijo

      Gracias por comentarlo