Introducción
En Linux, el software se distribuye mediante paquetes, archivos de software comprimidos que incluyen ejecutables binarios, archivos de configuración y dependencias. Los paquetes se distribuyen a través de repositorios y se administran a través de administradores de paquetes en los sistemas de los usuarios.
Los formatos de paquetes independientes de la distribución funcionan en todos los sistemas Linux porque empaquetan la aplicación con todas las dependencias requeridas. Algunos de los formatos de paquetes independientes de la distribución más populares son Snap, Flatpak y AppImage.
En este artículo, aprenderá sobre las diferencias entre Snap, Flatpack y AppImage.
Comparación Flatpak vs. Snap vs. AppImage
Flatpak, Snap y AppImage son formatos de paquetes disponibles en todas las distribuciones de Linux. Sin embargo, algunas diferencias clave pueden ayudarlo a decidir usar uno u otro.
A continuación se muestra una tabla de comparación que cubre algunas de las características principales y las diferencias clave entre cada formato de paquete:
Características | Ajustar | Flatpack | Imagen de aplicación |
---|---|---|---|
Creado por | Canónico | RedHat, Endless Computers, Collabora | Pedro Simón |
Soporte de zona de pruebas | Sí | Sí | Sí |
Sandboxing obligatorio | No | Sí | No |
Ejecución sin acceso raíz | Después de la instalación | Después de la instalación | Sí |
Compatibilidad con temas nativos | Sí | Sí | Sí |
Compatibilidad con bibliotecas agrupadas | Sí | Sí | Sí |
Portabilidad completa de la aplicación | Sí | Sí | |
Tienda de aplicaciones en línea | Sí | Sí | Sí |
Compatibilidad con múltiples instalaciones en paralelo | Sí (uno por canal) | Sí (número ilimitado) | Sí (número ilimitado) |
Actualizaciones automáticas | Sí | Sí | Sí (a través de AppImageUpdate) |
Tamaño de la aplicación | Varía, generalmente mayor que AppImage | Varía, generalmente mayor que AppImage | Tamaño de aplicación más bajo |
Aplicaciones disponibles | Lo más | Lo mínimo | Cantidad media |
Aplicaciones GUI de escritorio | Sí | Sí | Sí |
Servicios del sistema de paquetes | Sí | No | No |
Las siguientes secciones discuten cada formato de paquete individualmente.
Ajuste
Snap es un formato de paquete independiente de la distribución desarrollado inicialmente para Ubuntu por Canonical. Más tarde, también fue adoptado por otras distribuciones de Linux.
El objetivo principal de crear Snap era unificar el formato del paquete de software en muchos dispositivos. La compatibilidad con Snap incluye IoT (Internet de las cosas), dispositivos integrados que ejecutan Ubuntu Core o cualquier otra versión de Ubuntu.
Tanto los paquetes de código abierto como los propietarios están disponibles en la tienda en línea de Snapcraft. Opcionalmente, instale aplicaciones Snap usando la línea de comando.
La siguiente imagen muestra la página de inicio de la tienda Snapcraft:
Ventajas
La principal ventaja de Snap es que el paquete Snap incluye todas las bibliotecas y dependencias necesarias para ejecutar esa aplicación. Por lo tanto, los desarrolladores ahorran tiempo al lanzar nuevas compilaciones en diferentes sistemas.
Desventajas
El principal inconveniente de las aplicaciones Snap es su tamaño y su inicio más lento en comparación con los paquetes Flatpak o AppImage. Además, Snaps solo puede usar las bibliotecas incluidas en el paquete.
Paquete plano
Flatpak, anteriormente conocido como xdg-app, es otro formato de paquete independiente de distribución desarrollado en 2015 por Red Hat, Endless Computers y Collabora. Su objetivo principal es ejecutar aplicaciones en un espacio aislado virtual seguro que no requiere privilegios de root, eliminando así las amenazas de seguridad. El sandbox contiene todo lo necesario para ejecutar el software.
Flatpak se desarrolló por primera vez para FreeDesktop, KDE y GNOME. Más tarde amplió su soporte a Arch Linux, Debian, Fedora, Mageia, Solus y Ubuntu. Flatpak se basa en el lenguaje de programación C.
Los paquetes están disponibles para descargar en la tienda de aplicaciones Flathub o a través de la CLI. Inicialmente, solo admitía aplicaciones de código abierto, pero recientemente agregó compatibilidad con software propietario.
La siguiente imagen muestra la tienda de aplicaciones Flathub:
Ventajas
La ventaja de Flatpak sobre otros formatos de paquetes es que permite a los usuarios descargar paquetes desde múltiples repositorios, llamados remotos. El control remoto más popular es Flathub, el repositorio oficial con miles de aplicaciones disponibles.
Desventajas
Las principales desventajas de Flatpak son la falta de soporte para servidores y el mayor tamaño del paquete en comparación con los paquetes Snap o AppImage. El tiempo de inicio es más rápido en comparación con Snap pero más lento en comparación con AppImage.
Imagen de aplicación
AppImage es otro formato de paquete agnóstico de distribución ampliamente utilizado creado en 2004 por Simon Peter. Originalmente, el predecesor de AppImage era klik. Era un formato de paquete portátil que incluía todo lo necesario para que funcionara una sola aplicación.
Dado que las aplicaciones de AppImage son portátiles, los usuarios pueden ejecutarlas sin instalación. Ejecutar una AppImage no requiere privilegios de administrador.
Los paquetes de AppImage funcionan de manera similar a .exe archivos en Windows. Para ejecutar una aplicación AppImage, hágala ejecutable y haga doble clic en el archivo para ejecutar el paquete.
AppImage distribuye paquetes a través del repositorio de AppImageHub y los almacena en el sitio web de AppImage. Cada paquete viene con información sobre cómo instalar actualizaciones usando una herramienta como AppImageUpdate .
La siguiente imagen muestra el AppImageHub repositorio:
Ventajas
Uno de los beneficios de los paquetes de AppImage es un inicio más rápido en comparación con Snaps y Flatpaks, y se requiere menos espacio de almacenamiento por aplicación. AppImages se eliminan fácilmente del sistema eliminando el paquete descargado.
Desventajas
La desventaja de los paquetes de AppImage es la falta de actualizaciones, que son poco frecuentes y no están disponibles para todos los paquetes. A veces, se requiere otro paquete de AppImage para actualizar otros paquetes instalados en el administrador de AppImage.
Flatpak frente a Snap frente a AppImage:¿cuál usar?
Cada formato de paquete funciona bien en cualquier distribución de Linux, ya que vienen con todas las dependencias y bibliotecas requeridas. Sin embargo, hay varios factores a considerar que pueden ser cruciales para ayudarlo a decidir qué formato de paquete usar:
- Número de aplicación . La tienda en línea de Snapcraft gana si la cantidad de aplicaciones disponibles es el factor más crítico.
- Velocidad de la aplicación . AppImage es la más rápida de las tres en cuanto a inicio, velocidad y rendimiento de la aplicación. Es la solución ideal para una experiencia de alto rendimiento.
- Integración de aplicaciones . Algunos formatos de paquetes se integran mejor en distribuciones específicas. Por ejemplo, Snaps se integra mejor con Ubuntu, Arch Linux y CentOS, mientras que Flatpak se integra perfectamente con Fedora, Linux Mint o Debian. AppImages funciona muy bien en Arch Linux, CentOS, Debian, OpenSUSE, Red Hat Linux y Fedora.
- Control de aplicaciones . Flatpaks ofrece más control a los desarrolladores en comparación con AppImage o Snaps.
- Portabilidad . Los paquetes de AppImage son de primera categoría cuando se trata de portabilidad. Los Snaps pueden tener dependencias en otras aplicaciones Snap, y los Flatpaks pueden compartir bibliotecas con otro Flatpak. AppImages usa solo los recursos del propio paquete.
- Actualizaciones de la aplicación . Snaps y Flatpaks usan los repositorios para actualizar aplicaciones automáticamente, mientras que AppImage usa la herramienta AppImageUpdate. Además, AppImage no recibe tantas actualizaciones como los otros dos formatos de paquetes.
- Usabilidad . Los paquetes Flatpak y AppImage están diseñados para instalar y actualizar aplicaciones. Si bien los Snaps tienen el mismo propósito, su usabilidad se extiende a la instalación de cualquier cosa. Por ejemplo, los desarrolladores ahora están trabajando para poner toda la pila de impresión de Linux en un solo Snap.
Después de considerar todos los factores, debería ser más fácil decidir qué formato de paquete usar. Sin embargo, dado que todos los formatos están disponibles en la mayoría de las distribuciones de Linux, es fácil probarlos todos y decidir.
Conclusión
Este artículo ha presentado las diferencias clave entre los paquetes Snap, AppImage y Flatpak, junto con sus ventajas y desventajas. Aunque están lejos de ser perfectos y aún necesitan algunas mejoras, pueden coexistir en el mismo sistema y proporcionar características y paquetes que otros no ofrecen.
A continuación, vea cómo enumerar los paquetes instalados en Ubuntu o aprenda a reparar paquetes dañados en Ubuntu.