AppImages: ejecutables genéricos para Linux

por | 28 febrero, 2016

appimage

Empaquetar aplicaciones para Linux de forma genérica es un tema recurrente, que ahora vuelve a estar de moda gracias a AppImage, un proyecto de software que facilita la creación de paquetes, capaces de correr en múltiples distribuciones GNU/Linux.

Esto ofrece varias ventajas a primera vista, tanto a nivel del desarrollador al que se le hace la vida más sencilla al no tener que pensar en varias distros, como del usuario que dejará de estar atrapado en ediciones obsoletas de software, pudiendo acceder a versiones más recientes aunque su distribución no lo sea (cualquier RHEL, Debian o Ubuntu LTS por ejemplo), o dejar de preocuparse porque un determinado programa no está empaquetado para su sistema.

Incluso el propio trabajo de los desarrolladores de las distribuciones ser vería relajado, especialmente de los que se dedican a empaquetar los paquetes, ya que las actualizaciones incluidas las de seguridad, llegarían directamente upstream –de la mano del autor original por así decirlo– de una forma totalmente descentralizada, dado que no hay ningún tipo de repositorio central, utilizando información incluida en la propia AppImage.

Para ello se utilizan las conocidas como delta updates, que solo precisan que el usuario descarga la parte de código que ha cambiado, no la totalidad del programa.

Como tantas cosas esto tiene un precio a pagar, y lo hace en forma de espacio malgastado, ya que las appimages incluyen también las dependencias, con lo cual nos vamos a encontrar un montón de software repetido, en forma de bibliotecas usadas por los diferentes programas, y además ejecutándose simultáneamente.

Quizás sería una buena opción como solución intermedia, no desprenderse totalmente del gestor de paquetes tradicional (pacman, zypper, apt, dnf, portage, etc..) y de sus formatos más comunes (rpm, deb, etc.) para la base del sistema, y al mismo tiempo contar con esta solución de las appimages para casos en que no podamos satisfacer dependencias o no exista versión de un programa para nuestra distro.

Es una opción que beneficiaría tanto a los programas menos conocidos, como a las distribuciones que no tienen una comunidad fuerte detrás, que puede acometer ese trabajo de empaquetado.

Existen varias aplicaciones populares disponibles en forma de AppImage que se pueden descargar y ejecutar sin necesidad de instalación como: Krita, Blender, Chromium, Geany, Firefox, Leafpad, LibreOffice, Qcad, Ricochet, VLC, Subsurface –a Linus Torvalds le gusta esto 😉 –, VLC, wxHexEditor, Xchat, Atom, Arduino, AvahiDiscover, Brackets…

Es un proceso -el de “instalación”, ejecución y borrado de la app con sus configuraciones– que se realiza sin necesidad de ser root y desde el espacio de usuario.

Para mejorar la seguridad el desarrollador de la aplicación está considerando la implementación del algún tipo de sandboxing, en futuras actualizaciones de AppImage.

Tenéis más información de este proyecto en su página web, así como una guía para crear AppImages en GitHub.

Vía | Hacker News

17 pensamientos en “AppImages: ejecutables genéricos para Linux

  1. Rafael Arellano

    Creo que es una opción muy acertada sobretodo para el grueso de usuarios (que no son usuarios «avanzados» que no quieren saber líos de dependencias, que solo quieren usar una aplicación que funcione bien y les da igual como.

    Responder
  2. R3is3rsf

    Creo que esta es la solucion ideal para programas especificos, y programas comerciales, poder ester como base un sistema estable, y aun asi poder disfrutar de las ultimas versiones de programas o juegos.

    Responder
  3. Dark-Sagittarius

    ¿No es esto algo parecido a lo que que esta haciendo Ubuntu con los Snappy packages? Me refiero a el echo de querer mantener la aplicación y sus dependencias aisladas del resto del sistema para ejecutarse. Me imagino las AppImages como los dmg que se utilizan en OSX a los cuales los copias a tu carpeta de aplicaciones y los ejecutas cuando quieres.

    Responder
  4. Raul P

    Se impone el sentido común, y los viejos dogmas van desapareciendo, no paso mas trabajo compilando ni buscando dependencias.

    Responder
  5. Rotietip

    La idea se ve interesante pero revisando algunos de esos programas veo que están solo para 64 bits, ¿alguien sabe si tienen pensado hacer versiones para 32 bits?

    Responder
  6. MrSIster

    esto lo vi hace un tiempo y probe algunas apps pre-empaquetadas y funcionaba bastante bien. esto no es similiar a lo que pretende hacer ubuntu con snappy?

    Responder
    1. tannhausser Autor

      Tecnicamente tienen sus diferencias ero si, es muy parecido. Hace tiempo Lennart Poettering (el de systemd) también propuso algo parecido.

      Responder
  7. victorhck

    OpenBuildService también ofrece la posibilidad de crear paquetes no sólo para openSUSE, sino también para otras distros…

    Saludos!!

    Responder
    1. tannhausser Autor

      El OBS está genial, pero las AppImages son algo distinto, es un paquete genérico para gobernarlas a todas 🙂

      Un saludo amigo!

      Responder
  8. jjmarin96

    xdg-apps es otra solución que actualmente se encuentra en un estado preliminar, pero usable. https://www.freedesktop.org/wiki/Software/xdg-app/

    Tiene muchas ventajas, pero quizás las más diferenciales son:

    1) Distribución de Runtimes, para que las aplicaciones se basen en dichos runtimes y reducir en gran medida el problema de duplicación de librerias de los sistemas «bundle». Actualmente existe un runtime de GNOME y hay otro de KDE en marcha.

    2) Tiene «sandboxing» en su hoja de ruta, para poder aislar las aplicaciones del sistema y usar la aplicaciones de forma segura.

    Se trata de una buena tecnología para que los usuarios puedan usar la última versiones de sus aplicaciones en su distro favorita, aunque sean versiones en desarrollo, con lo cual pueden participar en el proceso de testeo, y por otro lado, facilitar que lo desarrolladores puedan distribuir aplicaciones GNU/Linux, y obviar la fragmentación de distros.

    Responder
  9. Jock Vault

    Yo quiero un krita encajonado sin todas las dependencia de kde en mi sistema. La verdad es que esto es bastante útil también preciso de un firefox 17 para usar algunas extensiones creativas obsoletas.

    Responder
  10. murvock

    Pienso que deberia de mantenerse los empaquetados de cada distro «zipper, pacman, apt-get, etc». y una opcion especial de «modo facil» con este tipo de ejecutables genericos, a veces yo ando tiempo de matarme a trompadas con alguna dependencia o cosas asi «comunes», pero a veces solo quiero instalar y usar sin joderse la existencia.

    Responder
  11. Marcelo Martinez

    PC-BSD tiene algo similar desde hace muchos años. Es positivo cuando necesitamos un programa que no está en los repositorios. Aún hay poco software disponible tanto en este formato, como en snappy y flatpack.

    Responder

Responder a Rafael ArellanoCancelar respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.