AppImage, Snap, Flatpak... en qué se diferencian los principales formatos de distribución de software de Linux

AppImage, Snap, Flatpak... en qué se diferencian los principales formatos de distribución de software de Linux
18 comentarios Facebook Twitter Flipboard E-mail

Hace no tanto, la forma habitual de instalar un paquete de software en GNU/Linux era teclear en la consola el nombre del misma precedido de 'apt-get install' o 'yum install' o 'pacman -S', etc... dependiendo de la distribución que usáramos. Echábamos un vistazo a las dependencias, confirmábamos y listo: el sistema operativo se ponía a bajar los correspondientes archivos .deb (o .rpm, o tar.gz, etc) y a instalarlos.

Todos estábamos acostumbrados a este sistema, y nos iba bien con él. Pero, la atomización de la escena Linux repercutía en contra de la disponibilidad del software para todas las distribuciones: sus desarrolladores tenían que perder mucho tiempo (y no siempre estaban dispuestos) creando paquetes específicos para cada distribución o grupo de distribuciones.

De modo que a alguien se le ocurrió crear un sistema de gestión de paquetes independiente de distribuciones, en el que se pudiera instalar cualquier programa y librería con el mismo archivo y procedimiento, ya estuviéramos en Gentoo, Slackware o Lubuntu (por ejemplo). Una idea tan buena que ha habido varios intentos de implementarla por separado.

De modo que el 'mundillo' Linux tiene ahora a su disposición 3 sistemas de gestión de paquetes "interdistribucionales", que complementan (y en algún caso, incluso sustituyen) a los propios de cada distribución. Veamos en qué consisten y qué ofrece cada uno.

Un vistazo a…
LINUX y GNU: LINUX: QUÉ ES y CÓMO FUNCIONA

AppImage

Appimage

AppImage no es, técnicamente hablando, un administrador de paquetes; tampoco una tienda de aplicaciones. Quizá entendamos mejor lo que ofrece AppImage si recordamos que, entre 2011 y 2013 se le conoció con el nombre de "PortableLinuxApps" (antes de eso, desde su lanzamiento en 2004, se le denominó "Klik").

En resumen, se trata de una imagen de la aplicación (similar a un archivo .iso) que no requiere de instalación ni -lo que es más importante- de permisos de administrador para funcionar: ofrece aplicaciones portables, empaquetadas en un único archivo con todas sus dependencias, al margen de la distribución utilizada.

Cuando usemos un archivo .appimage, sólo deberemos perder tiempo otorgándole permisos de ejecución, automáticamente se montará en el sistema de archivos del espacio de usuario (lo que lo convierte en compatible con sistemas de archivo inmutables, como los basados en OSTree).

Algunas aplicaciones ofrecerán la opción al iniciarlas de 'instalar un archivo de escritorio', lo que lo integrará en los menús de aplicaciones de nuestra distribución. Sólo en estos casos su "desinstalación" requerirá de algo más que mandar a la Papelera el archivo ejecutable.

Puedes descargar imágenes AppImage desde AppImageHub, pero no existe ningún repositorio centralizado.

Snap

Snap

Snap es una iniciativa impulsada por Canonical para su uso en su propia distribución Linux para móviles, la desaparecida Ubuntu Touch, en 2014. Si bien desde entonces se ha exportado a múltiples distribuciones relevantes (aunque su excesiva dependencia de Canonical aún lastra su adopción).

Su objetivo era lograr un formato único de distribución de software que pueda usarse por igual en PCs de escritorio y en dispositivos IoT. Como en el caso de AppImage, cada Snap empaqueta dentro del mismo todas las dependencias del software en cuestión, facilitando que funcione en cualquier equipo.

Al contrario que AppImage, los snaps están diseñados para admitir actualizaciones, sin obligarnos a borrar y sustituir el paquete por uno más nuevo. Más aún, esta actualización se lleva a cabo en segundo plano incluso si estamos usando la aplicación.

Es un sistema seguro, porque los paquetes vienen firmados y, una vez se empieza a usar la aplicación, ésta lo hace en un entorno aislado, con acceso limitado a los recursos del equipo.

El programa que permite gestionar los snaps es Snapd, y su tienda de aplicaciones, Snapcraft.

Flatpak

Flatpak

El creador de FlatPak, Alexander Larsson, se inspiró en el primer antecesor de AppImage, Klik, para crear un sistema de paquetes centrado en la ejecución del software dentro de entornos aislados, donde pudieran funcionar sin privilegios de root. Larsson lanzó en 2015 un sistema llamado xdg-app que se terminó convirtiendo en Flatpak un año más tarde, con el apoyo de Red Hat.

Su principal diferencia con respecto a los otros dos sistemas de gestión de paquetes es que no empaqueta el software que nos interesa junto a todas sus dependencias: eso puede obligarnos a instalar numerosos paquetes, pero también reduce sensiblemente el tamaño de los mismos.

Otra diferencia es su alto nivel de integración con los entornos de escritorio KDE y Gnome y con el estándar FreeDesktop, lo que facilita la integración de las aplicaciones instaladas mediante este sistema con las herramientas gráficas de los principales escritorios de Linux. El apoyo de FreeDesktop, que incluso aloja la web del proyecto Flatpak, le ha granjeado muchos apoyos.

El principal repositorio de paquetes Flatpak es Flathub.org (aunque no depende de ninguna 'tienda de aplicaciones' en concreto).

Comentarios cerrados
Inicio