Rakirina pergala pakêtê ya xweser a Flatpak 1.18.0

После полутора лет разработки опубликована новая стабильная ветка инструментария Flatpak 1.18, предоставляющего систему для сборки самодостаточных пакетов, не привязанных к конкретным дистрибутивам Linux û di konteynirek taybetî de tê bicîhanîn ku serîlêdanê ji mayî ya pergalê vediqetîne. Piştgiriya xebitandina pakêtên Flatpak ji bo Fedora tê peyda kirin, CentOS, Debian, Kemer Linux, Gentoo, Linux Mint, Alt Linux и UbuntuPakêtên Flatpak di depoya Fedora de hene û di bernameyên rêveberiya sepanên standard ên GNOME û KDE de têne piştgirî kirin.

Nûvekirinên sereke di şaxê Flatpak 1.18 de:

  • Реализована поддержка условных полномочий (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-lîstikên ku bi karanîna Wine hatine destpêkirin.
  • Для 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 Studyo, û hwd.

Ji bo kêmkirina mezinbûnê, tenê girêdanên serîlêdanê-taybetî di pakêtê de hene. Pergalên bingehîn û pirtûkxaneyên grafîkê (Pirtûkxaneyên GTK, Qt, GNOME û KDE, hwd.) di şiklê hawîrdorên dema xebitandinê yên standard ên pêvekirî de têne peyda kirin. Cûdahiya sereke di navbera Flatpak û Snap de ev e ku Snap hêmanên hawîrdora pergalê ya sereke û veqetandinê li ser bingeha bangên pergalê parzûnkirinê bikar tîne, dema ku Flatpak konteynirek ji pergalê veqetandî diafirîne û bi setên mezin ên dema xebatê re tevdigere, ne pakêtan wekî pêwendiyê, lê standard peyda dike. hawîrdora pergalê (mînak, hemî pirtûkxaneyên ku ji bo xebitandina bernameyên GNOME an KDE-yê hewce ne).

Digel hawîrdora pergalê ya standard (demjimêr), ku bi navgîniya depoyek taybetî ve hatî saz kirin, pêwendiyên zêde (bundle) yên ku ji bo xebata serîlêdanê hewce ne têne peyda kirin. Bi tevahî, "runtime" û "bundle" naveroka konteynerê ava dikin, dema ku "runtime" ji hev veqetandî tê saz kirin û bi yekcarî bi çend konteyneran ve girêdayî ye, ku dihêle hûn ji dubarekirina pelên pergalê yên hevpar ên konteyneran dûr bisekinin.

Pergalek dikare çend "demên xebitandinê" yên cihêreng sazkirî be (GNOME, KDE) an jî çend guhertoyên heman "dema xebitandinê" (GNOME 50, GNOME 49). Konteynirek bi serîlêdanek wekî pêwendiyek tenê girêdanek bi dema xebitandinê ya taybetî re bikar tîne, bêyî ku pakêtên takekesî yên ku dema xebitandinê ya hilbijartî pêk tîne hesab bike. Hemî hêmanên winda rasterast bi serîlêdanê re têne pak kirin. Dema ku konteynir diafirîne, naveroka "runtime" wekî dabeşkirina /usr tê hilanîn, û "bundle" di pelrêça /appê de tê danîn.

Demjimêra xebitandinê û konteynerên serîlêdanê bi karanîna teknolojiya OSTree têne çêkirin, ku tê de wêne bi atomî ji depoyek mîna Git-ê tê nûve kirin, ku dihêle ku rêbazên kontrolkirina guhertoyê li ser hêmanên belavkirinê werin sepandin (mînak, hûn dikarin zû pergalê paşde vegerînin berê rewş). Pakêtên RPM bi karanîna qata rpm-ostree ve têne wergerandin depoya OSTree.

Sazkirin û nûvekirina bijartî ya pakêtan di hundurê hawîrdora xebatê de nayê piştgirî kirin - pergal ne di asta pêkhateyên kesane de, lê bi tevahî, bi atomî rewşa xwe diguhezîne. Amûran peyda dike da ku nûvekirinan bi zêdeyî bicîh bîne, hewcedariya ku bi her nûvekirinê re bi tevahî wêneyê biguhezîne ji holê radike.

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

Ji bo îzolasyonê, qatek pêça bilbilî û kevneşopî Linux Teknolojiyên virtualîzasyona konteynerê yên li ser bingeha karanîna cgroups, namespaces, Seccomp û SELinux. При создании пакета изоляция может быть отключена, чем пользуются разработчики некоторых пакетов для получения полного доступа к ФС и всем устройствам в системе.

Source: opennet.ru

Ji bo malperên bi parastina DDoS, serverên VPS VDS mêvandariya pêbawer bikirin 🔥 Hostinga malperê ya pêbawer bi parastina DDoS, serverên VPS VDS bikirin | ProHoster