Latinoamérica
de.novatoanovato@gmail.com

Gestor de paquetes Flatpak CLI

Gestor de paquetes Flatpak CLI

Paquetes Flatpak en GNU/Linux

Flatpak, básicamente, es un formato de paquete que nos ofrece una alternativa a la forma en la que estamos acostumbrados a adquirir nuevo software en nuestros GNU/Linux. En este artículo, pretendemos a utilizar este gestor para poder llevar a cabo tareas de instalación, eliminación y actualización de los paquetes cuya procedencia sea de los repositorios con los que Flatpak cuenta.

Un poco de historia

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.

Que son los paquetes Flatpak?

Flatpak es un nuevo formato de empaquetado universal, conocido como xdg-app hasta mayo de 2016, los Flatpaks son una utilidad para despliegue de software, administración de paquetes y virtualización de aplicaciones para entornos de escritorio de GNU/Linux.

Tiene como objetivo brindar una solución multiplataforma. Hace que el trabajo para los desarrolladores sea aún más fácil. Se puede usar una sola compilación de aplicaciones en casi toda la distribución de Linux (que admite Flatpak) sin ninguna modificación en el paquete.

Además de ofrecer un único paquete para diferentes distribuciones de GNU/Linux, Flatpak ofrece integración con los escritorios de GNU/Linux, lo que facilita navegar, instalar y usar aplicaciones de Flatpak, por ejemplo Gnome Software Center se puede usar para instalar un Flatpak. Ademas es compatible con versiones anteriores, es decir, la misma aplicación Flatpak puede ejecutarse en las próximas versiones de una distribución sin cambios.

La utilidad proporciona un entorno de aislamiento de procesos llamado Bubblewrap, en el que los usuarios pueden ejecutar aplicaciones aisladas del resto del sistema y​ contamos con paquetes flatpak, oficiales o desarrollados por terceros.

Como funcionan los paquetes flatpak?

Básicamente se compone de tres partes…

Runtimes (Tiempos de ejecución)

Tiempos de ejecución contienen las dependencias que son utilizadas por las aplicaciones. Ellos son siempre los mismos independientemente de la distribución Linux que se esté utilizando. En este aspecto, las aplicaciones no tendrán que actualizarse para adaptarse a los cambios de la distribución.

Actualmente se encuentran disponibles tres tiempos de ejecución:

  • GNOME
  • KDE
  • FreeDesktop

Bundles (Bibliotecas empaquetadas)

Aquí se encuentran las bibliotecas que no están en Runtimes. Estas son agrupadas —empaquetadas— como parte de la aplicación. De esta forma posibilita el uso de las dependencias que no están en una distribución, y de utilizar una versión diferente de una dependencia de la que está en una distribución.

Sandboxes (Cajas de arena)

Esta tecnología cuyo objetivo es el aislamiento de procesos es bastante empleada en multiplicidad de proyectos: máquinas virtuales, contenedores, micro-kernels, servicios web, etc. Particularmente me familiaricé con el término Sandbox en Gentoo Linux, el cual también nos permite crear cajas de arena. La mayoría de las distribuciones tienen disponible esta útil herramienta.

En el caso que nos atañe; Flatpak, este aísla aplicaciones desde el sistema operativo anfitrión, así como de otras aplicaciones. Esto proporciona seguridad para los usuarios y un entorno previsible para los desarrolladores.

Instalación de Flatpak en las principales distribuciones GNU/Linux

Flatpak está disponible para muchas de las distribuciones GNU/Linux más populares, como: ArchLinux, Debian, Fedora, Gentoo, RedHat, Linux Mint, openSUSE, Solus, Mageia y Ubuntu. Instalar Flatpak es un proceso de dos sencillos pasos. El primero consiste en instalar Flatpak y segundo, agregar el repositorio de Flathub desde donde podemos gestionar las aplicaciones.

Instalación de Flatpak

Ubuntu 18.04 y derivados

En Ubuntu 18.04 viene Flatpak instalado por defecto. Pero si no llega a ser el caso, puedes instalarlo de la siguiente manera:

sudo apt install flatpak

Debian y derivados

Para instalarlo en Debian y sus derivados puedes ejecutar la siguiente linea de comandos

sudo apt install flatpak

Si no se encuentra en los repositorios oficiales de la versión del sistema que dispongas (siempre que sea Debian o alguna de sus derivadas), pueden usar el PPA oficial para instalar Flatpak de la siguiente manera.

Agregando el repositorio PPA, ejecutando la siguiente linea de comando

sudo add-apt-repository ppa:alexlarsson/flatpak

Sincronizamos los repositorios…

sudo apt update

…y ejecutamos la siguiente linea de comando para su instalación

sudo apt install flatpak

Fedora y derivadas

Como Flatpak es un proyecto desarrollado por Fedora, todas las versiones recientes de Fedora son compatibles. Sin embargo, si lo necesitas…

sudo dnf install flatpak

openSUSE y derivadas

Para instalar Flatpak en openSUSE o cualquiera de sus derivadas, usa el siguiente comando:

sudo zypper install flatpak

ArchLinux y derivadas

Para instalar Flatpak en ArchLinux y sus derivadas, usa el siguiente comando:

sudo pacman -S flatpak

RedHat y derivadas

Para instalar Flatpak en RedHat y basadas en RedHat, usa el siguiente comando:

sudo yum install flatpak

Solus y sus derivadas

Para poder instalar el paquete Flatpak en Solus, ejecuta la siguiente orden:

sudo eopkg install flatpak

Agregar repositorios de software Flatpak

Como todo gestor de paquetes, Flatpak necesita tener repositorios a los que pueda acceder para encontrar, descargar, instalar y actualizar las aplicaciones.

Existen varios repositorios disponibles para agregar, pero para el desarrollo de este articulo, solo agregaremos el repositorio oficial del gestor.

Para ello, ejecuta la siguiente orden en la terminal, sea cual sea tu distribución.

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

Nota: Otro repositorio que podría resultar de interés es winepak, que es un repositorio de paquetes Flatpak de juegos y aplicaciones de Windows (Wine).

Gestión de paquetes Flatpak

Una vez hemos instalado y visto cómo habilitar el soporte de Flatpak es recomendable reiniciar el sistema y ya podremos empezar a gestionar este tipo de paquetes.

Sintaxis

El gestor de paquetes Flatpak se corresponde con la siguiente sintaxis

flatpak [parámetro][repositorio][paquete]

En el caso de que tengamos solo el repositorio oficial añadido, no es necesario indicarle el repositorio. Por ejemplo:

Da lo mismo

flatpak install flathub gimp (indicando que vamos a trabajar con el repo flahub)

que

flatpak install gimp (Sin indicarle el repositorio)

Pero si tenemos varios repositorios, debemos especificar con cual queremos trabajar.

Buscar paquetes en los repositorios

Si queremos saber si un paquete se encuentra disponible en el repositorio Flathub, flatpak nos ofrece el parámetro search.

flatpak search <paquete>

No es necesario que el nombre de la aplicación sea exacto, ya que se nos mostrarán todos los resultados posibles que coincidan con el nombre del paquetes que queramos encontrar. Para ver un ejemplo, buscaremos el paquete Gimp. Para ello, y según la sintaxis ejecutamos:

flatpak search gimp

En el resulta se nos imprimen las posibles coincidencias, donde podremos ver un breve descripcion, el nombre de la aplicación, la versión en la que se encuentra disponible, el estado de la aplicación (si es testing o stable) y el repositorio de donde proviene.

Instalación de paquetes con flatpak

Instalación de un paquete

El gestor de paquetes flatpak, nos brinda del parámetro install para realizar tareas de instalación de paquetes, donde posteriormente indicaremos el software a instalar. Para este caso utilizaremos el paquete gimp.

flatpak install <nombre de paquete>

ejecutemos:

flatpak install gimp

El proceso de instalación se lee de la siguiente manera:

Búsqueda del paquete

El gestor buscara coincidencias de el paquete solicitado en los repositorios

Localización del paquete

No indica que el paquete indicado se encontró en el repositorio flathub.

Punto de referencia del paquete solicitado

Básicamente en esta instancia nos muestra el nombre de referencia del paquete que estamos intentando instalar tal cual se encuentra en el repositorio. De ser el que buscamos, flatpak nos consulta si es el que estamos necesitando y nos pide una confirmación.

Nota: Para instalarlo podríamos utilizar también el nombre de referencia, en este caso flatpak install org.gimp.GIMP

Solicita crear un runtime

Previo a comenzar con el proceso de instalación, se nos pedirá autorización para que flatpak cree un runtime para el paquete que va a ser instalado

Solicitud de permisos

En esta instancia se nos pedirá darle los permisos necesario para las funciones del paquete

Instalando el flatpak

Por ultimo, la instalación del paquete flatpak, que concluye con «Installation complete».

Instalación de un grupo de paquetes

Del mismo modo en que instalamos un paquete, podemos indicar uno al lado del otro para instalar un conjunto o grupo de paquetes a la vez. A continuación ejemplificaremos instalando el conjunto de paquetes gimp, mypaint y spotify

flatpak install <nombre de paquete 1> <nombre de paquete 2> <nombre de paquete 3>

ejecutemos:

flatpak install gimp mypaint spotify

Una vez vemos que todo esta en orden, aceptamos los permisos y comenzara la instalacion…

Nota: Los paquetes flatpak se instalan en el directorio .var/app/ del usuario. Si lo listamos…

Eliminar paquetes con flatpak

Parte de la gestión de paquetes consiste en la tarea de eliminar o suprimir el software que ya no estemos utilizando. Esto se puede hacer de a un paquete a la vez o indicando el grupo de paquetes que queramos eliminar. veamos ambos casos.

Eliminación de un paquete

El gestor de paquetes flatpak, nos brinda del parámetro uninstall para realizar tareas de eliminación de paquetes, donde luego deberemos indicar el software que queremos quitar de nuestro sistema. Para este caso utilizaremos el paquete gimp.

En la supresión, seguiremos la siguiente sintaxis:

flatpak uninstall <paquete>

Eliminemos Gimp

flatpak uninstall gimp

Donde una vez que confirmemos, este se eliminara, sin mas.

Eliminar un grupo de paquetes

Del mismo modo en que eliminamos un paquetes del sistema, podemos indicar un grupo de paquetes a la vez para que flatpak los elimine. Haciendo uso del parámetro uninstall, acudimos a la siguiente sintaxis

flatpak uninstall <nombre de paquete 1> <nombre de paquete 2> <nombre de paquete 3>

Para este ejemplo eliminaremos los paquetes Spotify y MyPaint que serán el grupo de software en cuestión

flatpak uninstall gimp mypaint

Luego de confirmar, ambos parques serán eliminados de nuestro sistema.

Actualización de paquetes flatpak

Mantener nuestra paquetería actualizada a la ultima es fundamental en cualquier sistema operativo, si bien mediante los gestores de paquetes, independientemente de la distribución que tengamos, actualizan toda nuestra paquetería, esta acción no aplica para los paquetes flatpak, ya que estos son mantenidos desde los repositorios de los que provienen (flathub) y no desde los repositorios oficiales de la distribución. Esto quiere decir que si actualizamos todos nuestros paquetes haciendo uso del gestor de paquetes de nuestra distribución, esta actualización no aplicara a los paquetes flatpak, para que estos sean actualizados necesitamos hacelo de forma independiente.

El gestor de paquetes flatpak cuenta con el parámetro update para llevar a cabo la actualización de todos los paquetes que fueron instalados por este gestor. Para actualiza los paquetes flatpak debemos ejecutar

flatpak update

Obtener informacion de un paquete flatpak

Muchas son las ocasiones en las que necesitamos obtener informacion de un paquete, ya sea que este instalado o no en nuestro sistema, flatpak nos ofrece para cada caso la sintaxis adecuada. Veamos ambas situaciones a continuación.

Obtener información de un paquete local

Para obtener informacion de un paquete flatpak ya instalado en nuestro sistema, este gestor nos brinda el parámetro info, al que posterior mente debe riamos de indicar el paquete del que queremos obtener informacion. Vemos su sintaxis

flatpak info <paquete textual>

Ya que anteriormente instalamos el paquete gimp, obtendremos informacion de este ejecutando…

flatpak info org.mypaint.MyPaint

Obtener informacion de un paquete desde el repositorio

Del mismo modo en que podemos obtener informacion de un paquete ya instalado, podemos acudir a la informacion de cualquier paquete que se encuentre alojado en el repositorio, pero a diferencia del método anterior en este caso utilizaremos el parámetro search e indicamos el nombre del paquete requerido. En caso de contar con varios repositorios, debemos indicar sobre cual se realizara la búsqueda. La sintaxis seria la siguiente.

flatpak search <repositorio> <paquete>

Para este ejemplo buscaremos informacion sobre el paquete mypaint alojado en el repositorio flathub.

flatpak search flathub mypaint

Donde obtendremos una lista de las coincidencias con una table que nos brinda:

  • Description: una breve descripcion
  • Application: El nombre literal del paquete
  • Version: El numero de la ultima versión del paquete disponible
  • Branch: El estado del paquete
  • Remotes: El repositorio donde esta alojado

Puedes unírtenos en el grupo de Facebook GNU/Linux Para Todos
Grupo en Telegram Novato en Linux

Espero sea de utilidad.
Saludos, Cristian.

 

 

Deja un comentario

Tu dirección de correo electrónico no será publicada.