Snapcraft vs Flatpak vs AppImage ¿ Cual es Mejor ?

Cual Store es de Linux es la Mejor!!

Tabla de Contenido

splash image

Descripción

Cual de todos es mejor para descargar aplicaciones para tu escritorio Linux y ¿ Cual es la que debo elegir en caso de que falle algún repositorio al instalar una app de tercero en mi distribución ?..

Es una pregunta que nos llevamos haciendo hace mucho tiempo, esto es debido a que Linux siempre se presentan problemas de este tipo, que con el tiempo aparece una nueva actualización de paquetes y librerías internas que hacen que cualquier programas que tengamos previamente instalado se quede sin ejecución, o en el peor de los casos cachee nuestro sistema operativo, haciendo que lo debamos instalar de nuevo...

Y con la aparición de estos formatos veamos un poco de su historia y que nos tienen que ofrecer cada uno.

Historia de Snapcraft

Snappy es un sistema de gestión de paquetes universales e implementación de software diseñado y creado originalmente por Canonical para el sistema operativo de teléfonos Ubuntu. Los paquetes, llamados 'snaps' y la herramienta para usarlos 'snapd', funcionan en un rango de distribuciones de Linux y, por lo tanto, permiten el despliegue de software en sentido ascendente. El sistema está diseñado para funcionar para el internet de las cosas, la nube y la computación de escritorio

Snapcraft

fuente Wikipedia

Funcionalidad

Los paquetes de software "snap" son independientes y funcionan en una amplia gama de distribuciones de Linux. Esto es a diferencia de los enfoques tradicionales de administración de paquetes de Linux, como APT o YUM, que requieren paquetes específicamente adaptados para cada distribución de Linux, por lo que se agrega un retraso entre el desarrollo de la aplicación y su implementación para los usuarios finales.

Los propios snaps no dependen de ninguna "tienda de aplicaciones", se pueden obtener de cualquier fuente y, por lo tanto, se pueden usar para la implementación de software ascendente. Cuando se implementan copias instantáneas en Ubuntu y otras versiones de Linux, la tienda de aplicaciones de Ubuntu se usa como back-end predeterminado, pero también se pueden habilitar otras tiendas.

Los desarrolladores pueden usar snaps para crear herramientas de línea de comandos y servicios, así como aplicaciones de escritorio.​ Con la aplicación snap, las actualizaciones a través de la operación atómica o por deltas son posibles.

En junio de 2016, snapd se trasladó a una amplia gama de distribuciones de Linux para permitir el uso de las instantáneas en cualquier distribución de Linux, no solo en el núcleo de Ubuntu. snapd también está disponible o en curso para Arch Linux, CentOS, Debian, Fedora, Gentoo Linux, Solus, Manjaro Linux, Linux Mint, OpenEmbedded, Raspbian, OpenWrt y openSUSE.

Cada distribución es capaz de interpretar los metadatos de complemento para implementar la seguridad u otras expectativas del ajuste de una manera específica de distribución.

Instalación de la tienda Snappy

En distribuciones de Ubuntu o derivadas esta ya viene implementada por defecto en caso de no ser el caso hay unos tutoriales de como instalar la tienda en la misma pagina de Snappy.

Logo Marketplace Snappy

Para distribuciones que no sean Ubuntu les dejo el apartado de como se instala en cada una de estas dale click en la tuya si quieres probar este gran gestor:

Una vez que haya instalado Snappy veremos todos los comandos mas importantes que tendremos a nuestra disposición para su uso:

  • Con esto sabremos la versión de Snappy que esta disponible

    $ snap --versión 
    

Version Snap

  • Con esto tendremos acceso a todos los comandos que veremos a continuación

    $ snap --help
    

Snap Help

  • Con este comando podremos buscar aplicaciones dentro de Snappy

    $ snap find "package-name"
    

Snap Find

  • Con este comando podremos tener información sobre la aplicación que queremos instalar

    $ snap info "package-name"
    

Snap Info

  • Con este comando podremos instalar las aplicaciones dentro de Snappy

    $ sudo snap install "package-name"
    
  • Con este comando podremos ver las aplicaciones dentro de Snappy

    $ snap list
    

Snap List

  • Con este comando podremos ver donde se instala las aplicaciones

    $ which "package-name"
    

Snap which

  • Con este comando podremos ejecutar las aplicaciones

    $ snap run "package-name"
    

Si quieres saber mas acerca de los comandos de Snappy da click en este enlace el cual te llevara a la pagina oficial de Snapcraft .

Es muy sencillo de usar pero es verdad que prefiero usar otra alternativa aunque tenga soporte con varias distribuciones es verdad que no tiene aplicaciones de terceros en su totalidad y le falta un poco mas de catalogo y demora un poco en instalar una Aplicación en tu escritorio.

Debido a la complejidad con la cual se desarrollaba una aplicación para portaría a Snappy y el tiempo que requería, nació Flatpak otro gestor de aplicaciones muy popular y es el que uso diariamente para portar mis aplicaciones en Arch Linux, es muy fácil de usar y su instalación es sencilla se encuentra soportada por muchas distribuciones y ademas tiene varias aplicaciones que solo se encuentran en AUR que es lo que uso...

Historia de Flatpak Store

Flatpak, conocido como xdg-app hasta mayo de 2016,​ es una utilidad para despliegue, administración de paquetes universales y virtualización de aplicaciones para entornos de escritorio de GNU/Linux. La utilidad proporciona un entorno de aislamiento de procesos llamado Bubblewrap, en el que los usuarios pueden ejecutar aplicaciones aisladas del resto del sistema.​ Flatpak es una manera de instalar aplicaciones independientes de la distribución o versión de Gnu/Linux.​ Las aplicaciones que utilizan Flatpak necesitan permiso del usuario para controlar dispositivos de hardware o acceder a los archivos del usuario.

Flatpak

La idea fue propuesta en 2013 por el programador alemán de software libre Lennart Pöttering, quién publicó un artículo al respecto en el año 2014.Desarrollado como parte del proyecto freedesktop.org (anteriormente conocido como X Desktop Group o XDG), fue originalmente llamado xdg-app. El servidor de freedesktop.org es el hogar del proyecto Flatpak.

Flatpak y xdg-app es lo mismo, se cambió el nombre porque los desarrolladores querían algo con un atractivo más amplio que el que xdg-app podía proporcionar. Entonces, como parte del lanzamiento formal de Flatpak como listo para usar, se decidió elegir un nombre más accesible.

En diciembre de 2019, es soportada por 22 distribuciones.

fuente Wikipedia

Instalación de la tienda Flatpak Store

Ahora veremos como poder instalar Flatpak y puedas usarlo en tu distribución Linux.

Para poder instalar en tu distribución tendrás que seguir los siguientes pasos que encontraras según tu entorno actual.

Una vez que tengas instalado Flatpak veremos todos los comandos útiles para usar con este gestor.

Órdenes más comunes Flatpak
  • Comprobar la versión de Flatpak instalada:

    $ flatpak --version
    
  • Habilitar el repositorio Flathub:

    $ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
    
  • Instalar aplicaciones (por ejemplo, Spotify):

    $ flatpak install flathub com.spotify.Client
    
  • Ejecutar aplicaciones:

    $ flatpak run com.spotify.Client
    
  • Listar aplicaciones instaladas:

    $ flatpak list
    
  • Listar solo las aplicaciones instaladas, no los entornos de ejecución:

    $ flatpak list --app
    
  • Listar solo las aplicaciones disponibles en el repositorio:

    $ flatpak remote-ls --app
    
  • Actualizar todas las aplicaciones:

    $ flatpak update
    
  • Actualizar una aplicación específica:

    $ flatpak update com.spotify.Client
    
  • Ver los detalles de una aplicación:

    $ flatpak info com.spotify.Client
    
  • Eliminar una aplicación instalada:

    $ flatpak uninstall com.spotify.Client
    
  • Reparar una instalación de flatpak:

    $ flatpak repair
    
  • Eliminar entornos de ejecución no utilizados:

    $ flatpak uninstall --unused
    
  • Eliminar todas las aplicaciones:

    $ flatpak uninstall --all
    

Como notaran es mucho mas sencillo para instalar aplicaciones ya aparte que tiene muchos mas desarrolladores detrás de este gran proyecto que portan sus trabajos...

Imagen Install Flatpak Store

También puedes instalar desde la pagina oficial con un solo click una aplicación

Imagen Install Flatpak Store 2

Si quieren saber mas acerca de comandos y documentación aquí esta el enlace a la guía oficial

Historia de AppImage Store

AppImage es un formato para distribuir software portátil en paquetes universales en Linux sin necesidad de permisos de super-usuario para instalar la aplicación. Con este formato se intenta permitir la distribución de software binario independiente de la distribución de Linux para desarrolladores de aplicaciones, también llamado empaquetado de upstream. Lanzado por primera vez en 2004 bajo el nombre de klik, fue desarrollado continuamente, y luego renombrado en 2011 a PortableLinuxApps y más tarde en 2013 a AppImage.

AppImage

Objetivos

AppImage es concebido como un sistema de implementación de aplicaciones para Linux que tiene como objetivos la simplicidad, la compatibilidad binaria, independencia de la distribución, ausencia de instalación, ausencia de permisos de super-usuario, ser portátil y mantener intacto el sistema operativo subyacente.

####### Propiedades

AppImage no instala la aplicación en el sentido tradicional de Linux. En lugar de colocar los diversos archivos de la aplicación en los lugares apropiados de la distribución en el sistema de archivos, el archivo AppImage es solo la imagen comprimida de la aplicación. Cuando se ejecuta, el archivo se monta con el sistema de archivos en el espacio de usuario (FUSE, por sus siglas en idioma inglés). Este comportamiento es coherente con los predecesores de AppImage, klik y PortableLinuxApps.

Este formato utiliza un archivo por aplicación. Cada archivo es autónomo: incluye todas las bibliotecas de las que depende la aplicación que no son parte del sistema base objetivo. Una aplicación AppImage de la versión 1.0 es un archivo Rock Ridge de la norma ISO 9660 que contiene un AppDir (Directorio de Aplicaciones) mínimo y un entorno de ejecución pequeño. La versión 2 del formato AppImage puede usar otros formatos de imagen del sistema de archivos como SquashFS. Se puede agregar una aplicación de AppImage a un CDVivo agregando solo un archivo a este.

Los archivos de AppImage son más simples que la instalación de una aplicación. No se necesitan herramientas de extracción, ni es necesario modificar el sistema operativo o el entorno del usuario. Los usuarios habituales en las distribuciones Linux comunes pueden descargarlo, hacerlo ejecutable y ejecutarlo. Sin embargo, a diferencia de los archivos ejecutables bajo los sistemas operativos Microsoft Windows, los archivos del formato AppImage no están registrados en el sistema, lo que significa que si hay archivos presentes en el computador que pueden abrirse con esta aplicación, estos no serán abiertos al hacer doble clic en ellos. Para solventar este problema, se han creado algunas aplicaciones que se ejecutan en un terminal de texto Linux, como appimaged.​ En otros casos, los programadores que elaboran los archivos AppImage han añadido la funcionalidad del registro automático de la aplicación.

fuente Wikipedia

Uso de la AppImage Store

Ahora ya hemos visto dos grandes rivales que disputan el puesto de ser el mejor de paquetes de aplicaciones universal para Linux, ahora le toca el turno a uno que surge con la idea de ser el gestor universal y que portara aplicaciones a todos los sistemas operativos, si nos referimos a AppImage.

AppImage Logo

Incluso el creador del kernel Linux dice que apoya el desarrollo de AppImage, bueno hablemos un poco sobre ello esta genial idea nación como un concepto de unificar el mercado de Aplicaciones no solo para las Distros Linux, sino que también los sistemas operativos en general haciendo que una Aplicación pensada para Windows por ejemplo pueda funcionar en Linux y en Mac a su vez sin necesidad de instalar nada sino que echar andar el ejecutable y te preguntaras ¿es esto posible? , con AppImage se ha roto esa barrera de lo imposible aunque es verdad que aun le falta mucho mas desarrollo y colaboración de mas desarrolladores pero hoy en día va por muy buen camino...

Linus Tolvars

AppImage Store

  • Buscamos la aplicación este ejemplo usaremos Inkscape un editor de Vectores muy famoso.

AppImage Store Inkscape

  • Al darle click se nos descarga este fichero en un formato peculiar es un ejecutable parecido a los .deb o .rpm de las distros Debian y Fedora

AppImage Store Exe

  • Solo basta con darle permisos de ejecución en un entrono gráfico es con el click en propiedades y cambias estas opciones

AppImage Run

  • O si eres muy purista también puedes hacerlo desde una terminal con los respectivos comandos como si de un script se tratara.

    $ sudo chmod +x package-name.AppImage
    $ ./app.AppImage
    

AppImage Run Terminal

  • veremos algo como esto ya sea como hayamos decidido ejecutarlo

AppImage Inkscape

No hay duda alguna de las 3 opciones es la mas cómoda aunque hay algunas distros que aun no son 100% compatibles con este método aun se encuentra en mucho desarrollo por delante por ejemplo en Arch Linux no corren de manera nativa sin usar unos programas extras.

Conclusión

Store

Todas son muy buenas opciones la verdad aunque mas me desencanto por la opción de AppImage porque esta usa una filosofía mas universal muy parecida también a las aplicaciones en MacOS que son muy portables y se instalan fácil sin tanto roleo pero según lo visto este proyecto aun le falta mucho por ende sigo usando las flatpak que son mas estables que las otras 2, aunque Canonical este detrás de Snappy creo que le ira bien en algunos años por el momento muchos no les gusta que tenga por defecto en Ubuntu.

Te gusto danos una valoración en los comentarios. ★★★★★

LinusGems

Soy una persona muy interactiva le gusta descubrir y visitar muchos lugares

Publicar un comentario

Comentar con moderación y respeto , leer las normas y condiciones sino estar de acuerdo!

Artículo Anterior Artículo Siguiente