Cómo instalar y usar Flatpak en Linux

En este tutorial, veremos qué es Flatpak, cómo instalar Flatpak en Linux y luego cómo usar la interfaz de usuario de línea de comandos de Flatpak para instalar aplicaciones.

Introducción a Flatpack

Hay tantas distribuciones de Linux y aplicaciones de empaquetado para todas esas distribuciones de Linux que es una tarea difícil y que requiere mucho tiempo. Aunque existen muchos convertidores de paquetes, todos tienen una funcionalidad limitada y problemas de compatibilidad.

Para superar este problema, un formato de paquete de aplicación llamado Quebrar ha sido presentado por Canonical. Snaps se desarrolló inicialmente para el sistema operativo Ubuntu , pero ahora es adoptado por las principales distribuciones de Linux, incluidas Arch, Gentoo, FedoraopenSUSE, etc.

Un complemento es un paquete binario único que incluye todas las bibliotecas y dependencias necesarias. Puedes instalarlo en cualquier distribución de Linux, independientemente de su versión y arquitectura. ¡No es necesario desarrollar una aplicación separada para cada distribución!

Similar a Snap, hay otra herramienta de formato de paquete de aplicación llamada paquete plano . Flatpak es un sistema para construir, instalar y ejecutar aplicaciones y tiempos de ejecución en diferentes distribuciones de Linux.

Ahora puede crear una sola aplicación Flatpak e instalarla en diferentes versiones de Linux. No tiene que preocuparse por las bibliotecas y las dependencias, todo está incluido en una sola aplicación.

Otra característica destacable es que podemos instalar varias versiones de la misma aplicación al mismo tiempo en el sistema Linux. Por ejemplo, es posible instalar la versión 2.1, 2.2 y 2.3 del reproductor VLC en el mismo sistema. Si es un desarrollador, puede probar diferentes versiones de una aplicación a la vez.

Flatpak fue desarrollado originalmente por Alex Larson y luego respaldado por Red Hat, Endless Computers y Collabora. Ahora es mantenido activamente por una comunidad independiente, formada por colaboradores, voluntarios y organizaciones de apoyo. El framework Flatpak está escrito en C y lanzado bajo LGPL licencia.

tiempos de ejecución

Cada aplicación flatpak depende de un tiempo de ejecución para funcionar correctamente en un sistema host. Un tiempo de ejecución no es más que un conjunto de dependencias básicas (bibliotecas) requeridas por una aplicación.

Cuando instalamos una aplicación usando el comando flatpak, se instalará automáticamente un tiempo de ejecución. Los tiempos de ejecución son independientes de la distribución, por lo que pueden funcionar en cualquier distribución de Linux. Más de una aplicación puede usar un solo tiempo de ejecución.

Actualmente hay tres tiempos de ejecución principales disponibles: escritorio libre , GNOMO y DONDE . Todos estos están alojados en centro plano repositorio.

Bibliotecas agrupadas

Los desarrolladores agrupan las bibliotecas que no están disponibles en un tiempo de ejecución junto con la aplicación. Las bibliotecas también pueden ser diferentes versiones de bibliotecas de las que están en tiempo de ejecución y/o versiones parcheadas de bibliotecas.

cajas de arena

Una aplicación Flaptpak se construye y ejecuta en un entorno aislado conocido como “Sandbox”. En otras palabras, las aplicaciones flatpak están aisladas del resto del sistema operativo host y otras aplicaciones.

Cada sandbox contiene la aplicación y su tiempo de ejecución. Una aplicación flatpak solo puede acceder al contenido de su sandbox de forma predeterminada. El acceso a los archivos, la red, los gráficos y los dispositivos del usuario debe ser otorgado explícitamente por el usuario.

Repositorios

Todas las aplicaciones Flatpak y sus tiempos de ejecución se almacenan en un lugar central llamado “Repositorios”. centro plano es el repositorio oficial de todas las aplicaciones de Flatpak. Podemos acceder e instalar las aplicaciones y tiempos de ejecución utilizando la interfaz de línea de comandos de flatpak.

Instalar Flatpak en Linux

Flatpak está disponible en los repositorios predeterminados de las distribuciones populares de Linux, como Arch Linux, Debian , FedoraGentoo, Red Hat, Linux Mint, openSUSE, Solus, Mageia y Ubuntu.

Para instalar Flatpak en arco linux y sus variantes como EndeavourOS y manjaro linux correr:

                      $ sudo pacman -S flatpak
                    

Flatpak está disponible en los repositorios predeterminados de Debian Buster y versiones más nuevas. Para instalar Flatpak en Debian, ejecute:

                      $ sudo apt install flatpak
                    

Si está utilizando GNOME DE en Debian, instale el complemento Flatpak para el software GNOME usando el comando:

                      $ sudo apt install gnome-software-plugin-flatpak
                    

En Fedora , Flatpak está instalado por defecto. Todo lo que tiene que hacer es habilitar Flathub como se describe en la siguiente sección.

En caso de que no esté instalado por algún motivo, ejecute:

                      $ sudo dnf install flatpak
                    

En RHEL 7 correr:

                      $ sudo yum install flatpak
                    

En CentOS 7 , Flatpak está instalado por defecto. ¡Así que no requiere configuración!

Empezando desde Linux Mint 18.3 , flatpak está instalado por defecto. Por lo tanto, no requiere configuración.

En abrirSUSE Tumbleweed, Flatpak se puede instalar usando Zypper:

                      $ sudo zypper install flatpak
                    

En ubuntu 18.10 (Cosmic Cuttlefish) y versiones más nuevas de Ubuntu, instala flatpak usando este comando:

                      $ sudo apt install flatpak
                    

En versiones anteriores de Ubuntu, agregue el siguiente repositorio e instale Flatpak como se muestra a continuación.

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

El complemento Flatpak para la aplicación de software GNOME permite instalar aplicaciones sin necesidad de la línea de comandos. Para instalar este complemento, ejecute:

                      $ sudo apt install gnome-software-plugin-flatpak
                    

En Solamente instala flatpak usando el comando:

                      $ sudo eopkg install flatpak xdg-desktop-portal-gtk
                    

En Magia 6 y versiones posteriores, puede instalar Flatpak con DNF:

                      $ sudo dnf install flatpak    
                    

O instalar con urpmi como abajo:

                      $ sudo urpmi flatpak
                    

Pop!_OS 20.04 tiene Flatpak instalado y Flathub configurado por defecto. Si está utilizando Pop!_OS 19.10 o versiones anteriores, ejecute:

                      $ sudo apt install flatpak
                    

sistema operativo elemental 5.1 y los más nuevos vienen con soporte Flatpak listo para usar.

Para otras distribuciones de Linux, consulte la instalación oficial Enlace .

Una guía para principiantes de Flatpak

Hay muchas aplicaciones populares como Gimp, Kdenlive, Steam, Spotify y Visual Studio Code, etc., disponibles como flatpaks. Para instalar una aplicación flatpak, primero debemos agregar repositorios flatpak (o controles remotos).

1. Agregar repositorios remotos

Como ya mencioné, las aplicaciones y los tiempos de ejecución se almacenan en un repositorio o remoto. El repositorio oficial de flatpak es centro plano .

Para habilitar el repositorio de Flathub en Linux, simplemente ejecute este comando:

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

Hay muchos otros repositorios flatpak no oficiales disponibles. Haz una búsqueda rápida en la web para encontrarlos.

2. Lista de controles remotos

Para enumerar todos los repositorios remotos configurados, ejecute:

                      $ flatpak remotes
                    

Salida de muestra:

                      Name    Options
flathub system
                    

Como puede ver, el comando anterior enumera los controles remotos que ha agregado en su sistema. También enumera si el control remoto se agregó por usuario o en todo el sistema. En mi caso, he agregado un repositorio flathub en todo el sistema.

3. Instalar aplicaciones Flatpak

En esta sección, veremos cómo instalar aplicaciones flatpak.

Para instalar una aplicación Flatpak, por example Cajas de GNOME, ejecute:

                      $ flatpak install flathub org.gnome.Boxes
                    

El comando anterior instalará la aplicación en todo el sistema.

Si no desea instalar aplicaciones en todo el sistema, también puede instalar aplicaciones flatpak por usuario, como se muestra a continuación.

                      $ flatpak install --user <name-of-app>
                    

Todas las aplicaciones instaladas se almacenarán en $HOME/.var/app/ ubicación.

                      
                        $ ls $HOME/.var/app/
                      
                      
com.github.calo001.fondo com.github.tchx84.Flatseal org.gnome.Boxes
                    

4. Ejecutar aplicaciones Flatpak

Puede iniciar las aplicaciones instaladas en cualquier momento desde el lanzador de aplicaciones. Desde la línea de comando, puede ejecutarlo, por example Cajas de GNOME, usando el comando:

                      $ flatpak run org.gnome.Boxes
                    

Flatpak agregará las entradas del menú para todas las aplicaciones de flatpak. Para que pueda iniciar directamente desde el menú o el iniciador de aplicaciones.

5. Buscar aplicaciones de flatpak

Para buscar una aplicación:

                      $ flatpak search gimp
                    

Salida de muestra:

                      Name                  Description                                                                                      Application ID               Version Branch Remotes
GNU Image Manipulati… Create images and edit photographs                                                               org.gimp.GIMP                2.10.20 stable flathub
GIMP User Manual      GIMP User Manual                                                                                 org.gimp.GIMP.Manual         2.10    2.10   flathub
Resynthesizer         Set of GIMP plug-ins that heal (in-paint), synthesize texture, theme an image, and more          …p.GIMP.Plugin.Resynthesizer 2.0.3   2-3.36 flathub
GimpLensfun           GimpLensfun is a Gimp plugin to correct lens distortion using the lensfun library and database.  org.gimp.GIMP.Plugin.Lensfun 0.2.4   2-3.36 flathub
Fourier               A simple GIMP plug-in to do fourier transform on your image.                                     org.gimp.GIMP.Plugin.Fourier 0.4.3   2-3.36 flathub
BIMP                  Batch Image Manipulation Program, a GIMP plugin to apply a set of manipulations to an entire gr… org.gimp.GIMP.Plugin.BIMP    2.4     2-3.36 flathub
LiquidRescale         LiquidRescale plugin to resize pictures non uniformly while preserving their features, i.e. avo… …p.GIMP.Plugin.LiquidRescale 0.7.2   2-3.36 flathub
G'MIC                 GREYC's Magic for Image Computing                                                                org.gimp.GIMP.Plugin.GMic    2.9.2   2-3.36 flathub
FocusBlur             Focus Blur plug-in crete a blurring effect similar to Depth of Field.                            ….gimp.GIMP.Plugin.FocusBlur 3.2.6   2-3.36 flathub
Glimpse               Create images and edit photographs                                                               org.glimpse_editor.Glimpse   0.2.0   stable flathub
Scans to PDF          Create small, searchable PDFs from scanned documents                                             com.github.unrud.djpdf       0.1.2   stable flathub
                    

Este comando devolverá todas las aplicaciones que coincidan con la cadena “gimp” de todos los controles remotos.

6. Enumere las aplicaciones y los tiempos de ejecución de Flatpak instalados localmente

Para ver todas las aplicaciones Flatpak y los tiempos de ejecución instalados en su sistema, ejecute:

                      $ flatpak list
                    

Salida de muestra:

                      Name                           Application ID                  Version Branch Installation
Fondo                          com.github.calo001.fondo        1.3.8   stable system
Flatseal                       com.github.tchx84.Flatseal      1.5.2   stable system
default                        …reedesktop.Platform.GL.default         19.08  system
Intel                          …eedesktop.Platform.VAAPI.Intel         19.08  system
openh264                       ….freedesktop.Platform.openh264 2.1.0   2.0    system
GNOME Boxes                    org.gnome.Boxes                 3.36.6  stable system
GNOME Application Platform ve… org.gnome.Platform                      3.36   system
Ambiance Gtk theme             org.gtk.Gtk3theme.Ambiance              3.22   system
Yaru-light Gtk Theme           org.gtk.Gtk3theme.Yaru-light            3.22   system
                    

Si desea ver la lista de aplicaciones instaladas y tiempos de ejecución con tamaño instalado utilizar -d bandera.

                      $ flatpak list -d
                    

Salida de muestra:

                      … … … Version Branch Arch   Origin  Installation Ref                                               Active commit Latest commit Installed size …
… … … 1.3.9   stable x86_64 flathub system       com.github.calo001.fondo/x86_64/stable            4755529773f0  -              89.3 MB       …
… … … 1.6.2   stable x86_64 flathub system       com.github.tchx84.Flatseal/x86_64/stable          4e1efc03269e  -               2.9 MB       …
…  …         19.08  x86_64 flathub system       org.freedesktop.Platform.GL.default/x86_64/19.08  f68c8e930d04  -             255.7 MB       …
…  …         19.08  x86_64 flathub system       org.freedesktop.Platform.VAAPI.Intel/x86_64/19.08 19fe8e74d641  -              37.0 MB       …
… … … 2.1.0   2.0    x86_64 flathub system       org.freedesktop.Platform.openh264/x86_64/2.0      73f998362a6f  -             778.2 kB       …
… … … 3.36.6  stable x86_64 flathub system       org.gnome.Boxes/x86_64/stable                     98c619ed7873  -             706.9 MB       …
… … …         3.36   x86_64 flathub system       org.gnome.Platform/x86_64/3.36                    d79ff93caf2d  -             934.6 MB       …
… … …         3.22   x86_64 flathub system       org.gtk.Gtk3theme.Ambiance/x86_64/3.22            73fed99df212  -              16.3 MB       …
… … …         3.22   x86_64 flathub system       org.gtk.Gtk3theme.Yaru-light/x86_64/3.22          2573259417d8  -             718.3 kB       …

                    

Enumere solo los tiempos de ejecución con el comando:

                      $ flatpak list --runtime
                    

Salida de muestra:

                      Name                           Application ID                  Version Branch Installation
Locale                         com.github.calo001.fondo.Locale         stable system
default                        …reedesktop.Platform.GL.default         19.08  system
Intel                          …eedesktop.Platform.VAAPI.Intel         19.08  system
openh264                       ….freedesktop.Platform.openh264 2.1.0   2.0    system
Locale                         org.gnome.Boxes.Locale                  stable system
GNOME Application Platform ve… org.gnome.Platform                      3.36   system
Ambiance Gtk theme             org.gtk.Gtk3theme.Ambiance              3.22   system
Yaru-light Gtk Theme           org.gtk.Gtk3theme.Yaru-light            3.22   system
                    

Para ver solo las aplicaciones, no los tiempos de ejecución, use este comando en su lugar.

                      $ flatpak list --app
                    

Salida de muestra:

                      Name             Application ID                  Version      Branch      Installation
Fondo            com.github.calo001.fondo        1.3.8        stable      system
Flatseal         com.github.tchx84.Flatseal      1.5.2        stable      system
GNOME Boxes      org.gnome.Boxes                 3.36.6       stable      system
                    

7. Lista de aplicaciones y tiempos de ejecución remotos

También puede ver la lista de aplicaciones y tiempos de ejecución disponibles desde los repositorios remotos.

Para listar aplicaciones y tiempos de ejecución de todos los controles remotos usando el comando:

                      $ flatpak remote-ls
                    

Enumere solo los tiempos de ejecución:

                      $ flatpak remote-ls --runtime
                    

Enumere solo las aplicaciones:

                      $ flatpak remote-ls --app
                    

Listar aplicaciones y tiempos de ejecución de un repositorio específico, por example cubo plano correr:

                      $ flatpak remote-ls flathub
                    

Para enumerar solo las aplicaciones de un repositorio remoto, ejecute:

                      $ flatpak remote-ls flathub --app
                    

8. Actualizar aplicaciones flatpak

Para actualizar todas sus aplicaciones flatpak, ejecute:

                      $ flatpak update
                    

Para actualizar una aplicación específica, hacemos:

                      $ flatpak update org.gnome.Boxes
                    

9. Ver detalles de una aplicación flatpak

Para mostrar los detalles de una aplicación instalada, ejecute:

                      $ flatpak info org.gnome.Boxes
                    

Salida de muestra:

                      GNOME Boxes - Simple remote and virtual machines

          ID: org.gnome.Boxes
         Ref: app/org.gnome.Boxes/x86_64/stable
        Arch: x86_64
      Branch: stable
     Version: 3.36.6
     License: LGPL-2.1+
      Origin: flathub
  Collection: org.flathub.Stable
Installation: system
   Installed: 706.9 MB
     Runtime: org.gnome.Platform/x86_64/3.36
         Sdk: org.gnome.Sdk/x86_64/3.36

      Commit: 98c619ed78736e85433bcbecd5c4392ad30d4890a71ddc909f5b4c51dfcde340
      Parent: 72ec972e0ce7fdf640f478d406a8acad5f90ebd1f8c0ac330baa7ed3dd5ccd70
     Subject: Build vte from git master (a8cf05d9)
        Date: 2020-09-02 10:02:20 +0000
                    

10. Desinstalar aplicaciones flatpak

Para eliminar una aplicación flatpak, ejecute:

                      $ sudo flatpak uninstall org.gnome.Boxes
                    

11. Eliminar repositorios remotos

Para quitar un control remoto, por example cubo plano:

                      $ sudo flatpak remote-delete flathub
                    

Aquí, cubo plano es el nombre del control remoto.

12. Eliminar los tiempos de ejecución no utilizados

Después de eliminar todas las aplicaciones que dependen de un tiempo de ejecución específico, el tiempo de ejecución en sí no se eliminará automáticamente.

Para eliminar tiempos de ejecución y extensiones que no utilice ninguna aplicación instalada, ejecute:

                      $ flatpak uninstall --unused
                    

13. Elimina el caché de flatpak

Para eliminar el caché Flatpak sobrante en el tmp ubicación, ejecute:

                      $ sudo bash -c "! pgrep -x flatpak && rm -r /var/tmp/flatpak-cache-*"
                    

Si estás usando systemd como su administrador de sistema predeterminado, puede automatizar la tarea de limpieza de caché sobrante de flatpak como se muestra a continuación.

Cree un archivo de servicio llamado clear_flatpak_cache.service en /lib/systemd/system/ directorio con el siguiente contenido:

                      [Unit]
Description=Flatpak cache cleaner

[Service]
ExecStart=bash -c "! pgrep -x flatpak && rm -r /var/tmp/flatpak-cache-*"

[Install]
WantedBy=multi-user.target
                    

Inicie y habilite este servicio en el arranque:

                      $ sudo systemctl enable --now clear_flatpak_cache
                    

A partir de ahora, los archivos de caché de flatpak sobrantes se borrarán al inicio.

14. Reparación de instalación de flatpak

Podemos reparar una instalación de flatpak eliminando y reinstalando objetos no válidos.

Para hacerlo, ejecuta:

                      $ flatpak repair
                    

También puede realizar reparaciones por usuario y por sistema con --user y --system banderas

Reparar instalación por usuario:

                      $ flatpak repair --user
                    

Reparación por instalación del sistema:

                      $ flatpak repair --system
                    

15. Ver el historial de flatpak

Es posible que haya instalado algunas aplicaciones, las haya actualizado o las haya eliminado. Flatpak registrará todas las transacciones de flatpak.

Puede consultar estos registros para averiguar qué cambios se han realizado en su instalación de Flatpak a lo largo del tiempo.

                      $ flatpak history
                    

16. Muestra la sección de ayuda de flatpak

Para obtener ayuda con flatpak, ejecute:

                      $ flatpak --help
                    

Este comando mostrará la lista de todas las opciones y subcomandos de flatpak disponibles con una pequeña descripción.

Conclusión

Este tutorial de flatpak le brindó una breve introducción a Flatpak y las tecnologías subyacentes utilizadas en Flatpak, como tiempos de ejecución, controles remotos, bibliotecas agrupadas y cajas de arena, etc. Y luego, también explicó cómo instalar y usar flatpak en distribuciones de Linux.

  • Cómo configurar fácilmente los permisos de las aplicaciones Flatpak con Flatseal
  • Administradores de paquetes de Linux comparados: AppImage vs Snap vs Flatpak

Recursos:

Related Posts