Llançament del sistema de paquets autònoms Flatpak 1.18.0

После полутора лет разработки опубликована новая стабильная ветка инструментария Flatpak 1.18, предоставляющего систему для сборки самодостаточных пакетов, не привязанных к конкретным дистрибутивам Linux i s'executa en un contenidor especial que aïlla l'aplicació de la resta del sistema. Es proporciona suport per executar paquets Flatpak per a Fedora, CentOS, Debian, Arqueig Linux, Gentoo, Linux Menta, Alt Linux и UbuntuEls paquets Flatpak s'inclouen al repositori de Fedora i són compatibles amb els programes estàndard de gestió d'aplicacions del GNOME i el KDE.

Innovacions clau a la branca Flatpak 1.18:

  • Реализована поддержка условных полномочий (conditional permission), позволяющих при запросе полномочий проверить наличие определённых возможностей в системе или в runtime. Например, при необходимости получения доступа к устройству ввода вместо «—device=all» можно запросить полномочие «—device-if=all:!has-input-device —device=input», которое предоставит доступ только к устройствам ввода или откатится на доступ ко всем устройствам если выборочное предоставление доступа не поддерживается в runtime. Аналогично можно запросить доступ к USB-устройвствам («has-usb-device» и «has-usb-portal») или совместно используемым подсистемам.
  • Разрешён доступ к устройству /dev/ntsync для обращения к
    модулю ядра NTSYNC, реализующему набор примитивов для синхронизации, применяемых в ядре Windows NT и позволяющих существенно поднять производительность Windows-jocs llançats amb Wine.
  • Для GPU Intel Xe включена поддержка API VA-API для аппаратного ускорения декодирования видео.
  • Реализована возможность доступа к устройству /dev/kfd (Kernel Fusion Driver) с использованием полномочий, предоставляемых для DRI-устройств. Драйвер kfd реализует интерфейс для прямого выполнения вычислений на GPU AMD из приложений, использующих AMD ROCm, HIP и OpenCL.
  • Добавлена поддержка использования опций командой строки для проброса доступа к каталогам в изолированные приложения.
  • Добавлена поддержка каталога «preinstall.d», определяющего список предустанавливаемых Flatpak-приложений (для включения Flatpak-приложений в состав операционной системы).
  • Разрешена прямая установка приложений из образов контейнеров в формате OCI, которые могут загружаться из собственных OCI-репозиториев и локальных архивов.
  • В команду «flatpak install —from» добавлена поддержка URI «flatpak+https://».
  • В команду «flatpak run» добавлена опция «—clear-env» для очистки переменных окружения перед запуском приложения.
  • Предоставлена возможность экспорта корневого каталога хост-окружения в изолированное окружение приложения с доступом через каталог /run/host/root.
  • Добавлена возможность вывода результата выполнения команд в формате JSON.
  • Усилена изоляция сборочного окружения — команда «flatpak build» теперь не предоставляет по умолчанию доступ к хосту.
  • Добавлена команда «reinstall» для переустановки зависимостей (bundle).
  • Настройки D-Bus по умолчанию перенесены из каталога /etc в /usr.
  • Сокращено время запуска при использовании командного интерпретатора fish.
  • В libflatpak добавлена функция для получения информации о времени создания конфигурации, что позволяет приложениям, таким как GNOME Software, определить, что прокэшированные ими данные требуют обновления.
  • Удалена сборочная опция http_backend, вместо libsoup2 для загрузки по HTTP/HTTPS задействована библиотека libcurl.
  • По умолчанию включено использование escape-последовательностей для индикации прогресса выполнения операции.
  • Разрешено передавать права доступа к устройствам во вложенные sandbox-окружения, созданные через порталы Flatpak.
  • Для приложений, поставляемых в форме OCI-образов, реализован механизм «extra-data», например, позволяющий организовать воспроизведение видео h.265 во Flatpak-пакетах Fedora Linux.
  • Добавлена поддержка сжатия зависимостей (OCI bundle) с использованием алгоритма zstd, более эффективно сжимающего данные. По умолчанию для сжатия продолжает использоваться gzip, обеспечивающий максимальную совместимость.

Flatpak упрощает распространение программ, не входящих в штатные репозитории дистрибутивов, за счёт подготовки одного универсального контейнера, избавляющего разработчиков программ от необходимости формировать отдельные сборки для каждого дистрибутива. Пользователям, заботящимся о безопасности, Flatpak даёт возможность выполнить вызывающее сомнение приложение в контейнере, предоставив выборочный доступ только к необходимым сетевым функциям и файлам пользователя. Пользователям, интересующимся новинками, Flatpak позволяет установить самые свежие тестовые и стабильные выпуски приложений без необходимости внесения изменений в систему. Например, Flatpak-пакеты собираются для LibreOffice, GIMP, Inkscape, Kdenlive, Steam, 0 A.D., Visual Studio Code, VLC, Slack, Telegram Desktop, Android Estudi, etc.

Per reduir la mida, només s'inclouen dependències específiques de l'aplicació al paquet. Les biblioteques bàsiques del sistema i de gràfics (bibliotecaries GTK, Qt, GNOME i KDE, etc.) es subministren en forma d'entorns d'execució estàndard de connectors. La diferència clau entre Flatpak i Snap és que Snap utilitza els components de l'entorn del sistema principal i l'aïllament basat en el filtratge de les trucades del sistema, mentre que Flatpak crea un contenidor separat del sistema i funciona amb grans conjunts de temps d'execució, proporcionant no paquets com a dependències, sinó estàndard. l'entorn del sistema (per exemple, totes les biblioteques necessàries per al funcionament dels programes GNOME o KDE).

A més de l'entorn del sistema estàndard (temps d'execució), instal·lat a través d'un dipòsit especial, es proporcionen dependències addicionals (paquet) necessàries per al funcionament de l'aplicació. En total, "runtime" i "bundle" formen el contingut del contenidor, mentre que "runtime" s'instal·la per separat i lliga a diversos contenidors alhora, la qual cosa permet evitar la duplicació dels fitxers del sistema comuns als contenidors.

Un sistema pot tenir instal·lats diversos "temps d'execució" diferents (GNOME, KDE) o diverses versions del mateix "temps d'execució" (GNOME 50, GNOME 49). Un contenidor amb una aplicació com a dependència utilitza una vinculació només a un temps d'execució específic, sense tenir en compte els paquets individuals que formen el temps d'execució seleccionat. Tots els elements que falten s'empaqueten directament amb l'aplicació. Quan es crea un contenidor, el contingut de "runtime" es munta com a partició /usr i "bundle" es munta al directori /app.

El temps d'execució i els contenidors d'aplicacions es creen utilitzant la tecnologia OSTree, en la qual la imatge s'actualitza atòmicament des d'un dipòsit semblant a Git, que permet aplicar mètodes de control de versions als components de distribució (per exemple, podeu tornar ràpidament al sistema a una versió anterior). estat). Els paquets RPM es tradueixen al repositori OSTree mitjançant la capa rpm-ostree.

No s'admet la instal·lació selectiva i l'actualització de paquets dins de l'entorn de treball: el sistema s'actualitza no a nivell de components individuals, sinó en conjunt, canviant atòmicament el seu estat. Proporciona eines per aplicar actualitzacions de manera incremental, eliminant la necessitat de substituir completament la imatge amb cada actualització.

Формируемое изолированное окружение не зависит от используемого дистрибутива и при надлежащих настройках пакета не имеет доступа к файлам и процессам пользователя или основной системы, а также не может напрямую обращаться к оборудованию, за исключением вывода через DRI. Вывод графики и организация ввода реализованы при помощи протокола Wayland или через проброс сокета X11. Взаимодействие с внешней средой построено через систему обмена сообщениями DBus и специальный API Portals.

Per a l'aïllament, una capa de plàstic de bombolles i tradicional Linux tecnologies de virtualització de contenidors basades en l'ús de cgroups, espais de noms, Seccomp i SELinux. При создании пакета изоляция может быть отключена, чем пользуются разработчики некоторых пакетов для получения полного доступа к ФС и всем устройствам в системе.

Font: opennet.ru

Compreu allotjament fiable per a llocs amb protecció DDoS, servidors VPS VDS 🔥 Compra allotjament web fiable amb protecció DDoS, servidors VPS VDS | ProHoster