Los paquetes universales
En el artículo anterior hice una descripción de los diferentes tipos de repositorios de Ubuntu con sus ventajas y desventajas. Ahora le toca el turno a otro tipo de repositorios, el de los paquetes universales o autocontenidos.
Existen muchas distribuciones Linux, y dependiendo de cuál deriven utilizan formatos de paquetes diferentes. Aunque en el pasado existían comandos que permitían la conversión entre los diferentes formatos, esta dispersión constituía un obstáculo para que el número de aplicaciones para Linux aumentara.
Es por eso por lo que los desarrolladores comenzaron a trabajar en los paquetes universales.
Qué son los paquetes universales
Los paquetes universales son paquetes que sin modificaciones pueden instalarse y ejecutarse en cualquier distribución. Esto es posible porque manejan las dependencias de manera diferente.
Las dependencias son programas que otros programas utilizan para realizar funciones comunes a otras aplicaciones como por ejemplo la de imprimir o guardar un archivo. Si instalamos El navegador Brave y después El Gimp, El Gimp no instalará aquellas dependencias necesarias que ya lo hayan sido con Brave.
Los paquetes universales son autocontenidos porque se instala con todas las dependencias necesarias para su funcionamiento, no importa que otro programa las haya instalado antes. Esto tiene como ventaja que las modificaciones en el sistema operativo, por ejemplo, una actualización fallida de una dependencia o un software malicioso no afectarán a los paquetes universales.
Desde el punto de vista de los desarrolladores, los paquetes universales a diferencia de los tradicionales solo tienen que adaptarse a una especificación. Aunque Debian y Ubuntu utilicen el mismo formato de paquetes tradicional, no pueden intercambiarse.
Aunque para instalar y actualizar este tipo de paquetes se utiliza un gestor de paquetes diferente al que se ocupa de los tradicionales, dependiendo del formato y la aplicación puede utilizarse la misma aplicación gráfica. Lo mismo vale para las actualizaciones.
Tipos de paquetes universales
Los tipos de paquetes universales más importantes son:
- Snap
- Flatpak
- Appimage
Snap
Snap es el formato de paquete universal más reciente, lleva 10 años entre nosotros ya que se lanzó en el año 2014. Sus desarrolladores lo pensaron además de ser utilizado en distribuciones de Linux para escritorio, en el Internet de las Cosas (IoT), dispositivos móviles y servidores. Cualquiera puede crear su propia tienda de aplicaciones (Repositorios) de paquetes Snap o subirlos a Snapcraft, la tienda oficial de Canonical.
Aunque en Snapcraft encontramos los títulos más comunes de software libre y de código abierto, suele ser la opción preferida para las versiones Linux de software privativo y servicios en la nube de aplicaciones.
Flatpak
Aunque Flatpak, se lanzó un año después que Snap, en la práctica es el sucesor de un proyecto anterior conocido como xdg-app. Su punto fuerte es la ejecución de las aplicaciones dentro de un entorno seguro y aislado. No se necesitan privilegios de administrador y no constituyen un riesgo de seguridad para el resto del sistema.
Flatpak está pensado para distribuir aplicaciones de escritorio y también utiliza el modelo de tienda de aplicaciones. La más importante es Flathub.
En Flathub es donde resulta más fácil encontrar las versiones mś recientes de aplicaciones de software libre y código abierto
AppImage
Fue el pionero del método de “un programa un archivo” ya que está con nosotros desde el 2004. En cada paquete Appimage se incluyen la aplicación junto con todas las dependencias necesarias para su utilización.
A diferencia de los otros dos formatos, Appimage no se instala, simplemente se le dan permisos de ejecución al archivo y se ejecuta haciendo doble clic cada vez que se quiere utilizar.
Tampoco hay una tienda de aplicaciones centralizadas y la actualización consiste en borrar el archivo viejo e instalar el nuevo. Aunque existen sitios web y herramientas no oficiales que suplen esa necesidad.
¿Cuál es el mejor formato? Pruébalos y decide. Ten en cuenta que en el mundo Linux hay rencores, prejuicios y, con la participación cada vez mayor de las empresas, intereses comerciales. Eso es o que condiciona muchas veces opiniones y no el criterio técnico.