Tutoriales

Por qué las aplicaciones Flatpak usan tanto espacio en disco en Linux

Si comienzas a usar Aplicación plana En los sistemas Linux, es posible que haya notado que parecen ocupar un espacio sorprendente en el disco duro. Por qué La aplicación Flatpak usa demasiado espacio en discoTamaño mayor ¿En comparación con los paquetes tradicionales?

Puede descargar una pequeña aplicación, pero la descarga es enorme. O revisas tu Uso de disco Y ver Flatpak usa muchos gigabytes, que está mucho más allá de la lista de fusiones de las aplicaciones que instala.

¿Qué está sucediendo?

Este es un problema común, y se reduce al diseño de Flatpak es resolver un gran problema para los desarrolladores y usuarios de Linux.

El gran problema Flatpak resuelto

Tradicionalmente, hacer que el software funcione correctamente en diferentes versiones de Linux puede ser complicado. Como ya sabrá, las aplicaciones dependen de otro software llamado «bibliotecas» o «dependencias».

Estas dependencias pueden variar entre las distribuciones de Linux y diferentes versiones de la misma distribución. Esto puede causar problemas que la aplicación no funciona correctamente debido a las dependencias que faltan o la versión incorrecta. Esto se llama «Dependencia del infierno».

Platero Es la creación de objetivos revolucionarios: dejar que los desarrolladores Cree una aplicación y distribíla a todo el ecosistema de escritorio de Linux.

Es para procesar Cualquier sistema operativo Linux. El nombre «Flatpak» es incluso un asentimiento de Ikea Incubadora tardíaproponer eficiencia y nuevos métodos de embalaje.

Solución: dependencias de paquetes

Para lograr este objetivo de «construir una vez, ejecutar en cualquier lugar», Flatpak adopta un enfoque diferente a los administradores de paquetes Linux tradicionales (p. Ej. .deb o .rpm documento).

En lugar de confiar en las dependencias ya instaladas en el sistema, Flatpak Aplicación envuelve todas las dependencias necesarias Justo dentro del embalaje.

Esto significa que la aplicación contiene todo lo que necesita ejecutar independientemente de su distribución específica de Linux. Esto asegura que la aplicación tenga la versión correcta de sus dependencias, Un entorno consistente Para desarrolladores y usuarios.

El desarrollador ha obtenido Control completo sobre las dependenciasaplicaciones adquiridas por el usuario futuro Y compatible con nuevas versiones de Linux.

Por el contrario, los administradores de paquetes tradicionales intentan instalar solo una copia de cada dependencia de su sistema y luego compartirla con todas las aplicaciones requeridas. Esto ahorra espacio, pero puede causar problemas de compatibilidad.

Lectura recomendada: Afiliado VS Snap VS Flatpak: Comparación de formato de empaque de Linux

Razones por las cuales las aplicaciones Flatpak usan un gran espacio en disco

Las dependencias de paquetes son la razón principal por la cual las aplicaciones planas son más grandes Más que sus compañeros tradicionales. Si dos aplicaciones planas diferentes requieren la misma biblioteca, pueden llevar su propia copia de la biblioteca a menos que sean parte del tiempo de ejecución compartido.

Por ejemplo, decimos que está tratando de instalar el editor de video Kdenlive. La aplicación en sí puede ser de solo 40 MB, pero la descarga será de 3 GB, ya que requiere un conjunto de software relacionado llamado «tiempo de ejecución».

Otro ejemplo notable es GIMP. GIMP Flatpak es de aproximadamente 2 GB, mientras que otro formato de envoltura (adjunto) es de solo 500 MB.

Cómo plano intenta ahorrar espacio: tiempo de ejecución y deduplicación

Flatpak no es solo un paquete todo repetidamente. Utiliza un sistema inteligente para intentar ahorrar espacio:

1. Tiempo de ejecución

Flatpak usa «Runtimes», un conjunto base de biblioteca común compartido. La aplicación declara el tiempo de ejecución que necesitan.

Por ejemplo, muchas aplicaciones de gnomo usan org.gnome.Platform Cuando se ejecuta, muchas aplicaciones KDE usan org.kde.Platform Tiempo de ejecución.

Estos tiempos de ejecución se instalan por separado y pueden compartirse mediante múltiples aplicaciones que las requieren.

Incluso diferentes tiempos de ejecución comparten una parte de ti mismo. Los tiempos de ejecución de GNOME y KDE se basan en el tiempo de ejecución básico de Freedesktop y las bibliotecas compartidas.

2. Deduplicación

Flatpak utiliza una tecnología llamada Ultrasimilar a git Sistema de control de versiones. El sistema almacena archivos de manera efectiva en un repositorio central, y cuando la aplicación está instalada, crea un «enlace difícil» para apuntar a los archivos en el repositorio.

Esto significa El mismo archivo que pertenece a múltiples aplicaciones o tiempos de ejecución se almacena solo una vez En el disco. El sistema Ostree también puede mejorar las actualizaciones y permitir una fácil reversión.

Gracias al tiempo de ejecución y la deduplicación, instalando una segunda o tercera aplicación Flatpak que usa el mismo tiempo de ejecución que ya lo ha hecho, a menudo requiere descargas mucho más pequeñas y usa menos espacio en disco que el primero.

Si está interesado en aprender más, Esta fuente Proporciona ejemplos que muestran un intercambio de archivos importante (deduplicación) entre diferentes versiones de tiempo de ejecución o entre tiempos de ejecución base y derivados.

Por qué el espacio en disco aún se suma (aparentemente confuso)

A pesar de la tecnología de ahorro de espacio, Flatpak generalmente usa más espacio en disco que los paquetes tradicionales. Por qué:

  • La aplicación todavía agrupa las dependencias No Incluido en tiempo de ejecución.
  • Con el tiempo, puede terminar instalando múltiples versiones de tiempo de ejecución.
  • La forma en que Flatpak almacena datos en su repositorio interno, combinado con métodos como herramientas estándar du El recuento de enlaces duros puede hacer que el uso del espacio informado parezca más grande que los bloques de datos únicos.
  • este El tamaño de descarga inicial y el espacio en el disco pueden ser muy grandes Si no ha instalado el tiempo de ejecución necesario.
  • Si se debe actualizar el tiempo de ejecución, la actualización también puede requerir una gran cantidad de datos para descargar.

¿Vale la pena planos?

Las grandes aplicaciones de Flatpak son un problema importante, especialmente para tener Espacio de disco limitado (por ejemplo, SSD pequeño) o Conexión a Internet lenta o medida. En algunos casos, Flatpak solo puede usar espacio más que el tamaño de todo el sistema operativo para algunas aplicaciones.

Sin embargo, yo (incluidos muchos usuarios) creo que la compensación vale la pena. Flatpak proporciona una forma confiable de adquirir un software más nuevo, resolver los problemas de distribución histórica de los desarrolladores y proporcionar Salvadera Ejecutar aplicaciones en un entorno aislado para la seguridad.

Flatpak es No es adecuado para el servidor Porque se basa en la funcionalidad de escritorio.

Preguntas frecuentes (preguntas frecuentes)

P: ¿Por qué la aplicación Flatpak es tan grande en comparación con los paquetes tradicionales?

R: la aplicación plana se diseña como Poner todas las dependencias.

Esto significa que el software que la aplicación debe ejecutar se incluye en el paquete Flatpak en sí, en lugar de confiar en bibliotecas compartidas instaladas en el sistema. Es por eso que las aplicaciones Flatpak son tan grandes.

P: ¿La aplicación Flatpak comparte algún archivo o dependencias para ahorrar espacio?

A: Sí, Flatpak usa Tiempo de ejecuciónEstas son colecciones de bibliotecas comunes en las que las aplicaciones pueden depender. Cuando múltiples aplicaciones Flatpak usan el mismo tiempo de ejecución, comparten ese tiempo de ejecución.

Además, Flatpak utiliza una tecnología llamada Ultrasimilar a GIT, se utiliza para el control de versiones y la distribución de árboles del sistema de archivos. Ostree permite Deduplicación de archivospor lo que varias aplicaciones o el mismo archivo utilizado por Runtime se almacenan solo una vez en el disco.

P: ¿La descarga y actualización inicial de Flatpak es significativamente más grande?

A: Sí, El tamaño de descarga puede ser grande Use Flatpak, especialmente para las primeras aplicaciones que instala, o si la aplicación requiere un tiempo de ejecución que aún no tiene. Esto se debe a que es posible que deba descargar el tiempo de ejecución completo, que puede ser muy grande.

Si la aplicación o su tiempo de ejecución asociado tiene una nueva versión, la actualización también puede requerir una gran cantidad de datos para descargar.

P: Dado el tamaño más grande, Flatpak es adecuado para usuarios con espacio de disco limitado o conexión lenta a Internet?

A: Probablemente no.

El uso de espacio de gran disco y las descargas o actualizaciones iniciales potencialmente grandes son problemas importantes, especialmente para los usuarios con espacio en disco (como SSDS pequeños) o con conexiones a Internet lentas o medidas.

Para dichos usuarios, un administrador de paquetes tradicional que comparte la biblioteca del sistema puede ser más favorable si el software está disponible.

en conclusión

Las aplicaciones Flatpak consumen más espacio en disco principalmente porque agrupan dependencias para garantizar que siempre se encuentren con diferentes distribuciones de Linux.

Aunque el tiempo de ejecución y la deduplicación ayudan a reducir este impacto, el espacio total utilizado sigue siendo grande, lo que es una desventaja para los usuarios con recursos limitados.

Sin embargo, esta huella más grande trae beneficios importantes, como la asignación de aplicaciones simplificadas y el sandboxing.

Flatpak es un enfoque diferente para el envasado de software, con su propio conjunto de ventajas y desventajas. Depende de usted decidir si realmente desea usar la aplicación Flatpak.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba