Lëshimi i sistemit të paketave të pavarura Flatpak 1.18.0

После полутора лет разработки опубликована новая стабильная ветка инструментария Flatpak 1.18, предоставляющего систему для сборки самодостаточных пакетов, не привязанных к конкретным дистрибутивам Linux dhe ekzekutohet në një kontejner të veçantë që e izolon aplikacionin nga pjesa tjetër e sistemit. Mbështetja për ekzekutimin e paketave Flatpak ofrohet për Fedora-n, CentOS, Debian, Hark Linux, Gentoo, Linux Mentë, Alternativë Linux и UbuntuPaketat Flatpak përfshihen në repozitorin Fedora dhe mbështeten në programet standarde të menaxhimit të aplikacioneve GNOME dhe KDE.

Risitë kryesore në degën 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-lojëra të lançuara duke përdorur 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 Studio, etj.

Për të zvogëluar madhësinë, në paketë përfshihen vetëm varësitë specifike të aplikacionit. Sistemet bazë dhe bibliotekat grafike (bibliotekat GTK, Qt, GNOME dhe KDE, etj.) ofrohen në formën e mjediseve standarde të funksionimit plug-in. Dallimi kryesor midis Flatpak dhe Snap është se Snap përdor përbërësit e mjedisit kryesor të sistemit dhe izolimin e bazuar në thirrjet e sistemit të filtrimit, ndërsa Flatpak krijon një kontejner të veçantë nga sistemi dhe funksionon me grupe të mëdha kohëzgjatjeje, duke ofruar jo paketa si varësi, por standarde. mjedisi i sistemit (për shembull, të gjitha bibliotekat e nevojshme për funksionimin e programeve GNOME ose KDE).

Përveç mjedisit standard të sistemit (koha e funksionimit), të instaluar përmes një depoje të veçantë, ofrohen varësi shtesë (paketë) të nevojshme për funksionimin e aplikacionit. Në total, "runtime" dhe "bundle" formojnë përmbajtjen e kontejnerit, ndërsa "runtime" instalohet veçmas dhe lidhet me disa kontejnerë menjëherë, gjë që ju lejon të shmangni dublikimin e skedarëve të sistemit të zakonshëm për kontejnerët.

Një sistem mund të ketë të instaluar disa "kohë ekzekutimi" të ndryshme (GNOME, KDE) ose disa versione të së njëjtës "kohë ekzekutimi" (GNOME 50, GNOME 49). Një kontejner me një aplikacion si varësi përdor një lidhje vetëm për një kohë të caktuar ekzekutimi, pa marrë parasysh paketat individuale që formojnë kohën e zgjedhur të ekzekutimit. Të gjithë elementët që mungojnë paketohen drejtpërdrejt me aplikacionin. Kur krijoni një kontejner, përmbajtja e "runtime" montohet si ndarje /usr dhe "bundle" montohet në drejtorinë /app.

Koha e ekzekutimit dhe kontejnerët e aplikacionit janë ndërtuar duke përdorur teknologjinë OSTree, në të cilën imazhi përditësohet në mënyrë atomike nga një depo e ngjashme me Git, e cila lejon që metodat e kontrollit të versionit të aplikohen në komponentët e shpërndarjes (për shembull, mund ta ktheni shpejt sistemin në një të mëparshëm shtet). Paketat RPM përkthehen në depon e OSTree duke përdorur shtresën rpm-ostree.

Instalimi dhe përditësimi selektiv i paketave brenda mjedisit të punës nuk mbështetet - sistemi përditësohet jo në nivelin e përbërësve individualë, por në tërësi, duke ndryshuar atomikisht gjendjen e tij. Ofron mjete për të aplikuar përditësimet gradualisht, duke eliminuar nevojën për të zëvendësuar plotësisht imazhin me çdo përditësim.

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

Për izolim, një shtresë mbështjellëse me flluska dhe tradicionale Linux Teknologjitë e virtualizimit të kontejnerëve bazuar në përdorimin e cgroups, namespaces, Seccomp dhe SELinux. При создании пакета изоляция может быть отключена, чем пользуются разработчики некоторых пакетов для получения полного доступа к ФС и всем устройствам в системе.

Burimi: opennet.ru

Bleni një host të besueshëm për faqet me mbrojtje DDoS, serverë VPS VDS 🔥 Bleni hosting të besueshëm të faqeve të internetit me mbrojtje DDoS, servera VPS VDS | ProHoster