¿Qué es un Flatpak en Linux y cómo se instala?
Puntos clave
Los paquetes planos son una forma conveniente e independiente de la distribución de instalar aplicaciones de Linux. Con el sandboxing de aplicaciones y las dependencias empaquetadas, también evitan el infierno de las dependencias. La mayoría de las distribuciones ofrecen compatibilidad con Flatpak, pero en Ubuntu primero deberá instalar el marco Flatpak.
Los paquetes planos son una forma independiente de distribución de instalar aplicaciones en su computadora Linux. Pero si su distribución ya tiene una forma nativa de instalar aplicaciones, ¿por qué se molestaría en usar Flatpaks?
¿Qué es un paquete plano?
Flatpak es el nombre de un formato de paquete utilizado para instalar aplicaciones de manera fácil y confiable en cualquier distribución de Linux. Al igual que AppImages y Snaps, los contenedores Flatpaks vienen con todas las dependencias requeridas y las aplicaciones instaladas como Flatpaks también pueden actualizarse automáticamente. Puedes encontrarlos
El santo grial de la gestión de paquetes
Todas las distribuciones de Linux necesitan alguna forma de instalar aplicaciones. Es por eso que existen herramientas como apt de Debian, dnf de Fedora y pacman de Arch. Por necesidad, todas hacen lo mismo de maneras ligeramente diferentes.
Permiten al usuario instalar paquetes de software extrayendo paquetes especialmente envueltos de un repositorio. El empaquetado del paquete incluye información sobre cómo se deben copiar los archivos que componen el paquete (ejecutables, archivos de datos, páginas man, etc.) en diferentes ubicaciones en el sistema de archivos de Linux y qué permisos se les deben aplicar.
Desde el punto de vista de un desarrollador, empaquetar y lanzar una versión de su aplicación en cada uno de los diferentes formatos del administrador de paquetes es un gran problema. Incluso si deciden admitir solo los primeros tres o cuatro formatos, aún pueden dejarlos con una pérdida de desarrollo y una sobrecarga de soporte considerable.
Los desarrolladores prefieren trabajar en su propio código que luchar con las complejidades de varios formatos de paquetes. Cuánto mejor si existiera un formato de instalación universal. Los desarrolladores podían empaquetar sus aplicaciones una vez y los usuarios de cualquier distribución podían usarlas.
Relacionado: Cómo instalar software usando Git en Linux
Lo más parecido a ese santo grial era el código fuente, que es la antítesis exacta de una aplicación empaquetada. Significa que descargas el código fuente y otros componentes de la aplicación y los construyes en tu computadora. Como método funciona pero no es ni rápido ni especialmente cómodo, y necesitas saber lo que estás haciendo. Eso hace que esté fuera del alcance de la mayoría de los recién llegados al mundo de Linux.
Flatpaks es un intento de crear un formato de paquete universal. AppImages y Snaps son proyectos en competencia con los mismos objetivos. Flatpaks hace más que simplemente reducir la presión sobre los desarrolladores para admitir más formatos de paquetes. Contienen tanto la aplicación como todas sus dependencias, por lo que la aplicación no fallará debido, por ejemplo, a una biblioteca faltante o no coincidente. Las aplicaciones instaladas como Flatpaks también reciben actualizaciones automáticas.
Además, las aplicaciones de Flatpak se ejecutan en una especie de minicontenedor, en la zona de pruebas de otras aplicaciones, incluidas otras versiones de la misma aplicación. Se pueden instalar varias versiones de una sola aplicación sin que las dependencias de una versión interfieran entre sí. Esto hace la vida más fácil para el desarrollador y más fluida para el usuario.
Instalación de medios Flatpak en Ubuntu
Canonical (la empresa detrás de Ubuntu) quiere empujar a sus usuarios hacia Snaps, su versión de un instalador universal. Tanto es así que ha eliminado el soporte predeterminado para Flatpak en Ubuntu 23.04 Lunar Lobster y ha acordado con versiones alternativas de Ubuntu como Kubuntu, Lubuntu y Ubuntu Studio que también eliminarán el soporte para Flatpak.
Siendo Linux lo que es, por supuesto, puede instalar el soporte de Flatpak directamente en Ubuntu. Manjaro y Fedora admiten Flatpaks, por lo que si está utilizando una de esas distribuciones, puede pasar a la siguiente sección.
Para instalar Flatpak en Ubuntu, escriba:
sudo apt install flatpak
Hay un complemento de GNOME que permite que la aplicación de software de Ubuntu instale Flatpaks. Pero hay un problema. A partir de Ubuntu 20.04, la aplicación de software en sí es Snap, por lo que no funciona bien con el complemento Flatpak. Todavía puede instalar el complemento, pero instala una versión diferente basada en DEB de la aplicación de software. Entonces terminas con dos versiones de la aplicación de software.
No necesita el complemento si va a trabajar con Flatpaks en la línea de comandos, y la línea de comandos de Flatpak es muy simple. Sin embargo, si desea el complemento, el comando que necesita es:
sudo apt install gnome-software-plugin-flatpak
Necesitamos decirle al sistema Flatpak dónde buscar paquetes Flatpak. Podemos agregar el repositorio de Flathub con este comando:
flatpak remote-add --if-not-exists flathub
Después de reiniciar su computadora, puede verificar que Flatpak esté instalado correctamente y responda al verificar su número de versión.
flatpak --version
Relacionado: Cómo trabajar con paquetes Snap en Linux
Instalación de una aplicación Flatpak
Instalar una aplicación es simple, una vez que sepa el nombre de Flatpak del paquete que desea. Hay dos formas de averiguarlo.
Buscar el paquete en el sitio web de Flathub es una forma. Usaremos Discord como ejemplo.
Una vez ubicado, desplácese hasta la parte inferior de la página. Verá el comando necesario para instalar la aplicación.
Esto usa el nombre Flatpak de tres partes para la aplicación. Tenga en cuenta que no necesitamos incluir "flathub" en nuestro comando (porque ya hemos agregado el repositorio de Flathub a nuestro sistema), pero sí necesita usar las tres partes del nombre del paquete.
También podemos buscar en la línea de comandos. Para buscar paquetes relacionados con Discord, use este comando:
flatpak search Discord
Verá una lista de todos los paquetes que contienen su término de búsqueda. Esto se hace mejor con la ventana del terminal extendida a un tamaño mayor de lo normal para que las entradas de la tabla no se trunquen.
Ahora que conocemos el nombre del paquete, podemos ejecutar el comando para instalarlo.
flatpak install com.discordapp.Discord
Todas las dependencias u otros requisitos se instalan junto con Flatpak. Una barra de progreso muestra hasta dónde se va a completar la instalación.
Una vez completada la instalación, volverá a la línea de comandos. Ahora podemos ejecutar nuestra nueva aplicación.
Ejecutar una aplicación Flatpak
El comando para ejecutar la aplicación es como el comando de instalación con la palabra "instalar" reemplazada por "ejecutar".
flatpak run com.discordapp.Discord
La aplicación se inicia y Discord realiza sus comprobaciones de actualización habituales.
En poco tiempo, verá la aplicación Discord abierta en su escritorio.
En GNOME, ahora que hemos lanzado nuestra aplicación, su icono aparecerá en el tablero. Al hacer clic con el botón derecho en el icono, aparece un menú. Seleccione "Agregar al tablero" para crear un lanzador en su tablero.
Podrá iniciar la aplicación desde aquí en el futuro.
Lista de aplicaciones Flatpak instaladas
Para ver las aplicaciones que has instalado con Flatpak, usa el list
opción. También usamos el --app
opción para que solo se enumeren las aplicaciones que tenemos instaladas.
flatpak list --app
Sin el --app
También se enumeran todos los módulos y dependencias del marco Flatpak.
Relacionado: Cómo enumerar los paquetes instalados en Linux
Desinstalar una aplicación Flatpak
Desinstalar una aplicación es tan fácil como ejecutarla. Simplemente use la palabra "desinstalar" con el comando flatpak.
flatpak uninstall com.discordapp.Discord
La aplicación se elimina del sistema y se muestra un mensaje de confirmación.
¿Debería usar paquetes planos?
El sandboxing de aplicaciones y la garantía práctica de que una aplicación se ejecutará son características atractivas de Flatpaks. Sin embargo, dado que un Flatpak contiene todas las dependencias que necesita su aplicación, su huella es mayor. La hora de inicio de la aplicación también ha aumentado ligeramente.
Si usa Flatpaks o el administrador de paquetes nativo que viene con su Linux, puede depender de si las aplicaciones que está buscando están en los repositorios de su distribución.
Nunca he conocido a nadie que use Flatpaks exclusivamente, ni AppImages o Snaps, para el caso. Probablemente te conformarás con una combinación de lo que funciona para ti: tu administrador de paquetes predeterminado, Flatpaks, Snaps o Appimages.
Si una aplicación en particular no está en los repositorios de su distribución y no desea compilarla desde la fuente, Flatpak es probablemente su mejor opción. Encuentro que son mucho más rápidos que AppImages o Snaps.
Relacionado: Cómo usar AppImages en Linux