MuyLinux Eduardo Medina  

Descubre los fundamentos de Flatpak

Flatpak

Flatpak es un formato de paquetes que viene a ofrecer una alternativa a las “dependencias tradicionales” en las distribuciones GNU/Linux, siendo un intento de facilitar a los desarrolladores el camino para portar y/o desarrollar aplicaciones para el sistema Open Source.

Su planteamiento ha dejado dividida a la comunidad debido a la posibilidad de tener bibliotecas duplicadas, y esto a pesar de aportar ciertas cosas beneficiosas como el sandbox, que no veremos utilizado a su máximo potencial hasta que Wayland se haya consolidado como estándar, algo que no parece que vaya a producirse a corto plazo debido a algunas piedras grandes que se están encontrando por el camino.

Flatpak tiene un gran rival, Snap, desarrollado por Canonical e impulsado a través de la popular Ubuntu. Más allá de las diferencias técnicas, que la competencia entre las dos tecnologías es feroz es algo que se está viendo desde muchos frentes, debido a que Discover y GNOME Software han anunciado que soportarán ambos formatos, mientras que Fedora ha tomado la decisión de incluir Snap en sus repositorios oficiales, un movimiento que resulta sorprendente si tenemos en cuenta que Flatpak es impulsado sobre todo por Red Hat.

Snap de Canonical/Ubuntu en los repositorios oficiales de Fedora

Snap de Canonical/Ubuntu en los repositorios oficiales de Fedora

La mayoría de distribuciones se han decantado por Flatpak, ya sea porque es el único disponible en sus repositorios o bien es el que trae instalado por defecto, mientras que Snap solo parece encontrar continuidad en Ubuntu (y en consecuencia en sus derivadas directas). Aquí posiblemente merezca la pena mencionar la situación de Linux Mint, que apoya e incluye de forma preinstalada Flatpak frente a Snap, aunque Ubuntu es posiblemente la única distribución que ofrece un buen soporte de ambos formatos, posiblemente porque a Canonical no le conviene perderse la estela de su competidor por si su tecnología fracasa, y a esto hay que añadir la mayor compatibilidad con el software disponible para GNU/Linux.

Tras hacer una introducción de Flatpak y su situación, vamos a adentrarnos en un tutorial básico sobre cómo utilizarlo. Si bien la gracia de esta tecnología es tener una disposición más gráfica de todo, cosa que queda potenciada debido a las facilidades que se dan en tiendas de aplicaciones como GNOME Software y el Gestor de Software de Linux Mint, nos centraremos en la interfaz de consola para ofrecer una disposición más genérica que pueda ser seguida desde cualquier distribución, aunque es importante tener en cuenta la versión de Flatpak que se esté utilizando y el disponer de una interfaz gráfica que pueda hacer funcionar las aplicaciones.

Instalación de Flatpak

Posiblemente los usuarios encuentren dificultades para la gestión gráfica de paquetes Flatpak en Ubuntu 18.04 con GNOME. Afortunadamente, esa situación tiene arreglo a través de los siguientes pasos.

En primer lugar hay que instalar los paquetes necesarios:

sudo apt install flatpak gnome-software-plugin-flatpak

Tras esto, solo queda reiniciar (como método cómodo) y Flatpak ya tendría que poderse usar sin complicaciones en GNOME Software desde la versión oficial de Ubuntu. Por otro lado, posiblemente sea necesario seguir pasos similares en otras distribuciones.

Pero como ya hemos dicho, vamos a centrarnos en la consola para ofrecer una disposición más genérica que puede ser aplicada a cualquier distribución que soporte Flatpak y con el único requisito de disponer de interfaz gráfica. Obviamente, en todas las grandes distribuciones solo hay que instalar un paquete llamado “flatpak”.

Ubuntu:

sudo apt install flatpak

Fedora:

sudo dnf install flaptak

RHEL 7/CentOS 7:

sudo yum install flatpak

O en caso de no disponer de sudoer en RHEL 7/CentOS 7:

su
yum install flatpak

Arch Linux y derivadas que usen Pacman:

sudo pacman -S flatpak

O en caso de no disponer de usuario sudoer:

su
pacman -S flatpak

En openSUSE:

sudo zypper install flatpak

Ubuntu 16.04:

sudo add-apt-repository ppa:alexlarsson/flatpak
sudo apt update
sudo apt install flatpak

Añadiendo repositorios en Flaptak

Para poder añadir aplicaciones de Flatpak sería recomendable antes añadir los repositorios. Como mínimo habría que configurar el oficial de esta tecnología, que no es otra cosa que el repositorio de aplicaciones Flathub.

sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

Los que estén interesados en la ejecución de Windows sobre GNU/Linux tienen en Winepack un proyecto bastante prometedor, así que pueden añadir su repositorio mediante el siguiente comando.

sudo flatpak remote-add --if-not-exists winepak https://dl.winepak.org/repo/winepak.flatpakrepo

Buscando e instalando paquetes

Buscar un paquete en Flatpak resulta muy sencillo. Aquí vamos a tomar como ejemplo el cliente del conocido servicio de música en streaming Spotify:

flatpak search spotify

Buscando Spotify en Flathub con Flatpak

La instalación de Spotify y de cualquier otro paquete Flatpak desde consola requiere la especificación del repositorio (en este caso, Flathub), quedando el comando de la siguiente manera.

sudo flatpak install flathub com.spotify.Client

Luego Flatpak nos pedirá confirmación tanto para la aplicación como las dependencias, algo a lo que habrá que responder con la “y” (o “s” si la interfaz sale traducida).

Instalando Spotify desde Flathub con Flatpak

Como ya hemos comentado, la gracia de esta tecnología es poder ofrecer una disposición más gráfica de la instalación, gestión y utilización de paquetes, así que estos pueden ser descargados de forma individual en el almacenamiento del ordenador e instalarlos mediante la tienda de aplicaciones que se esté usando en caso de estar correctamente configurada. ¿Desde consola? Tomando como ejemplo el paquete Flatpak de GIMP descargado de Flathub, pondremos el siguiente ejemplo:

sudo flatpak install org.gimp.GIMP.flatpakref

Instalando GIMP desde un paquete Flatpak descargado

Tras seguir estos pasos y en caso de disponer de un lanzador de aplicaciones, el usuario tendría que ser capaz de iniciar Spotify y GIMP desde ahí siguiendo el procedimiento estándar, como si hubiesen sido instalados mediante paquetes con dependencias tradicionales (Deb, RPM… ).

GIMP tras ser instalado mediante Flatpak en Fedora 28 Spotify tras ser instalado mediante Flatpak en Fedora 28

Ejecutando, desinstalando y actualizando aplicaciones de Flatpak

Como ya hemos dicho, Flatpak ha sido concebido para ser usado desde una interfaz gráfica, por lo que su utilización desde consola puede terminar siendo un tanto compleja para algunos usuarios.

Aquí hay que tener cuidado, ya que para ejecutar una aplicación Flatpak desde consola hay que invocarlo a partir del nombre del paquete en ese formato, y no con el nombre de la aplicación como pasaría con los paquetes de “dependencias tradicionales”. Siguiendo con el ejemplo de Spotify, su ejecución se realiza con el siguiente comando:

flatpak run com.spotify.Client

Spotify ejecutado desde Flatpak

Si se quiere desinstalar una aplicación se tiene que hacer de la siguiente manera (en este caso seguiremos el caso de GIMP):

sudo flatpak uninstall org.gimp.GIMP # El .flatpakref es la extensión del paquete, por lo que no es necesario volverlo a escribir

Desinstalando GIMP desde Flatpak en Fedora 28

Las aplicaciones pueden ser actualizadas de una vez, como si estuvieran instaladas desde un gestor de paquetes tradicional:

sudo flatpak update

Una tecnología con mucho potencial

Como se puede apreciar, Flatpak es una tecnología con mucho potencial, sin embargo, todavía le falta para poder sustituir a los paquetes de “dependencias tradicionales” en algunas situaciones.

Primero, y como ya hemos mencionado, características como el sandbox no mostrarán todo su potencial hasta que Wayland se consolide. Por otro lado, parece que aún presenta ciertos problemas de integración con el sistema.

Un ejemplo de lo último mostrado en el párrafo anterior es MonoDevelop, que estuvo distriubyéndose mediante paquete Flatpak, pero debido a problemas de integración con tecnologías como MonoGame ha tenido que volver a ser distribuido bajo el formato de “dependencias tradicionales”.

Leave A Comment

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