Lanzamiento del sistema de paquetes autoconclusivos Flatpak 1.8.0

Publicado nueva rama estable de la herramienta Flatpak 1.8, que proporciona un sistema para construir paquetes autónomos, no vinculados a distribuciones específicas de Linux y ejecutándose en un contenedor especial que aísla la aplicación del resto del sistema. El soporte para la ejecución de paquetes Flatpak está disponible para Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint y Ubuntu. Los paquetes Flatpak se incluyen en el repositorio de Fedora y son soportados por la aplicación de gestión de paquetes GNOME.

Mejoras clave novedades en la rama Flatpak 1.8:

  • Se ha simplificado la implementación de la instalación en modo P2P (permite organizar la descarga de aplicaciones y conjuntos de runtime a través de nodos intermedios o unidades para sistemas sin conexión de red). Se ha eliminado el soporte para la instalación a través de hosts intermedios en la red local. La carga automática de repositorios (sideload) alojados en unidades USB locales está desactivada por defecto. Para activar repositorios locales intermedios, se debe configurar el repositorio creando un enlace simbólico desde /var/lib/flatpak/sideload-repos o
    /run/flatpak/sideload-repos. Изменение позволило упростить внутреннюю реализацию режима P2P и повысить его эффективность.
  • Se ha añadido una unidad opcional de systemd para la detección automática de repositorios adicionales en unidades USB externas conectadas.
  • Para aplicaciones con acceso al sistema de archivos, se ha habilitado el redireccionamiento del directorio /lib del entorno host a /run/host/lib.
  • Se han añadido nuevos permisos de acceso a FS: "host-etc" y "host-os", que permiten el acceso a los directorios del sistema /etc y /usr.
  • Para la generación de un código de análisis más eficiente de archivos GVariant desde ostree, se ha utilizado variant-schema-compiler.
  • En el script de construcción configure se ha añadido la posibilidad de compilar sin
    libsystemd;
  • Se ha asegurado el montaje de los sockets del Journal en modo solo lectura.
  • En document-export se ha añadido soporte para la exportación de directorios.
  • Se ha permitido el acceso directo a dispositivos de audio ALSA para aplicaciones con acceso a Pulseaudio.
  • En la API FlatpakTransaction se ha añadido la señal "install-authenticator", que puede ser utilizada por los clientes para instalar autenticadores necesarios para llevar a cabo la transacción.
  • Se ha asegurado el uso de datos sobre la zona horaria basados en /etc/localtime del sistema host, lo que ha resuelto problemas relacionados con zonas horarias en algunas aplicaciones.
  • Se ha descontinuado la instalación del archivo env.d desde gdm, ya que los generadores systemd manejan mejor esta tarea.
  • En la utilidad create-usb, la exportación de commits parciales está activada por defecto.
  • Se ha asegurado la entrega del archivo sysusers.d para crear los usuarios necesarios a través de systemd.
  • Se ha añadido la opción «—[no-]follow-redirect» a los comandos «flatpak remote-add» y «flatpak modify» para prohibir/permitir redireccionamientos a otro repositorio.
  • En el sistema
    de portales se ha añadido la API Spawn para obtener el identificador de proceso real (PID) de la aplicación en ejecución.
  • Todos los repositorios OCI (Open Container Initiative) han sido trasladados a utilizar el autenticador flatpak-oci-authenticator.
  • Se ha añadido la opción «—commit=» a los comandos «flatpak remote-info» y «flatpak update» para especificar una versión determinada de los repositorios OCI.
  • Se ha añadido soporte inicial para actualizaciones delta en los repositorios OCI.
  • Se ha añadido el comando «flatpak upgrade», que es un alias para el comando «flatpak update».
  • Se han implementado scripts de complementación de entrada para la shell fish.

Recordemos que Flatpak ofrece a los desarrolladores de aplicaciones la oportunidad de simplificar la distribución de sus programas, que no forman parte de los repositorios predeterminados de las distribuciones, a través de la preparación de un único contenedor universal sin necesidad de crear compilaciones separadas para cada distribución. A los usuarios preocupados por la seguridad, Flatpak les permite ejecutar aplicaciones cuestionables en un contenedor, proporcionando acceso solo a funciones de red y archivos del usuario relacionados con la aplicación. A los usuarios interesados en novedades, Flatpak les permite instalar las versiones de prueba y estables más recientes de aplicaciones sin necesidad de hacer cambios en el sistema. Por ejemplo, actualmente los paquetes Flatpak ya se compilan para LibreOffice, Midori, GIMP, Inkscape, Kdenlive, Steam, 0 A.D., Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio, etc.

Para reducir el tamaño del paquete, incluye solo las dependencias específicas de la aplicación, mientras que las bibliotecas del sistema y gráficas básicas (Gtk+, Qt, bibliotecas de GNOME y KDE, etc.) se presentan como entornos de ejecución de tipo plug-in. La diferencia clave entre Flatpak y Snap es que Snap utiliza componentes del entorno del sistema base y un aislamiento basado en la filtración de llamadas al sistema, mientras que Flatpak crea un contenedor que es independiente del sistema y opera con grandes conjuntos de entornos de ejecución, proporcionando como dependencias no paquetes, sino entornos de sistema estándar (por ejemplo, todas las bibliotecas necesarias para el funcionamiento de programas de GNOME o KDE).

Además del entorno de sistema típico (runtime) que se instala a través de un especial principal, se suministran dependencias adicionales (bundle) necesarias para el funcionamiento de la aplicación. En conjunto, el runtime y el bundle forman el contenido del contenedor, dado que el runtime se instala por separado y se vincula a múltiples contenedores, lo que permite evitar la duplicación de los archivos de sistema que son comunes a los contenedores. En un sistema pueden instalarse diferentes runtimes (GNOME, KDE) o varias versiones de un mismo runtime (GNOME 3.26, GNOME 3.28). Un contenedor con una aplicación como dependencia utiliza solo un runtime específico, sin tener en cuenta los paquetes individuales que componen el runtime. Todos los elementos faltantes se empaquetan directamente con la aplicación. Al formar el contenedor, el contenido del runtime se monta como la partición /usr, y el bundle se monta en el directorio /app.

El contenido de los runtimes y contenedores de aplicaciones se forma utilizando la tecnología OSTree, mediante la cual la imagen se actualiza de manera atómica desde un repositorio similar a Git, lo que permite aplicar métodos de control de versiones a los componentes de la distribución (por ejemplo, se puede restablecer el sistema a un estado anterior rápidamente). Los paquetes RPM se transmiten al repositorio OSTree mediante una capa especial rpm-ostree. La instalación y actualización de paquetes dentro del entorno de trabajo no es compatible, el sistema se actualiza no a nivel de componentes individuales, sino en su conjunto, cambiando atómicamente su estado. Se proporcionan herramientas para aplicar actualizaciones de manera incremental, lo que elimina la necesidad de reemplazar completamente la imagen en cada actualización.

El entorno aislado formado es completamente independiente de la distribución utilizada y, con la configuración adecuada del paquete, no tiene acceso a los archivos y procesos del usuario o del sistema principal, no puede acceder directamente al hardware, excepto a través de DRI, y a la subsistema de red. La salida gráfica y la organización de la entrada se han implementado se realizan mediante el protocolo Wayland o a través de la redirección de socket X11. La interacción con el entorno externo se basa en un sistema de mensajería DBus y una API especial de Portals. Para la aislamiento se utiliza una capa Bubblewrap y las tecnologías tradicionales de virtualización de contenedores en Linux, basadas en el uso de cgroups, espacios de nombres (namespaces), Seccomp y SELinux. Para la salida de sonido se utiliza PulseAudio.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster