Flatpak 1.18.0 бие даасан багц системийг гаргасан

После полутора лет разработки опубликована новая стабильная ветка инструментария Flatpak 1.18, предоставляющего систему для сборки самодостаточных пакетов, не привязанных к конкретным дистрибутивам Linux мөн програмыг системийн бусад хэсгээс тусгаарладаг тусгай контейнерт гүйцэтгэгддэг. Flatpak багцуудыг ажиллуулах дэмжлэгийг Fedora-д зориулсан. CentOS, Debian, Арч Linux, Гентоо, Linux Гаа, Альт Linux и UbuntuFlatpak багцууд нь Fedora репозиторт багтсан бөгөөд стандарт GNOME болон KDE програмын удирдлагын програмуудад дэмжигддэг.

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-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 Студи гэх мэт

Хэмжээг багасгахын тулд багцад зөвхөн програмд ​​хамаарах хамаарлыг оруулсан болно. Үндсэн систем болон график сангууд (GTK, Qt, GNOME болон KDE номын сан гэх мэт) нь залгаастай стандарт ажиллах орчин хэлбэрээр нийлүүлэгддэг. Flatpak болон Snap хоёрын гол ялгаа нь Snap нь системийн дуудлагыг шүүх дээр үндэслэсэн системийн үндсэн орчны бүрдэл хэсгүүд болон тусгаарлалтыг ашигладаг бол Flatpak системээс тусдаа контейнер үүсгэж, багцуудыг хамаарал хэлбэрээр бус харин стандарт байдлаар хангадаг том ажлын цагтай ажилладаг. системийн орчин (жишээлбэл, GNOME эсвэл KDE програмуудыг ажиллуулахад шаардлагатай бүх номын сангууд).

Тусгай репозитороор суулгасан стандарт системийн орчноос (ажлын хугацаа) гадна програмыг ажиллуулахад шаардлагатай нэмэлт хамаарлыг (багц) нийлүүлдэг. Нийтдээ "ажиллах хугацаа" ба "багц" нь контейнерийн агуулгыг бүрдүүлдэг бол "ажлын цаг" нь тусад нь суулгаж, нэг дор хэд хэдэн контейнерт холбогддог бөгөөд энэ нь контейнерт нийтлэг системийн файлуудыг хуулбарлахаас зайлсхийх боломжийг олгодог.

Нэг системд хэд хэдэн өөр "ажиллуулах хугацаа" (GNOME, KDE) эсвэл ижил "ажлын цаг"-ын хэд хэдэн хувилбар (GNOME 50, GNOME 49) суулгаж болно. Хамааралтай хэрэглүүр бүхий контейнер нь сонгосон ажиллах цагийг бүрдүүлдэг бие даасан багцуудыг харгалзахгүйгээр зөвхөн тодорхой ажиллах цагтай холбохыг ашигладаг. Бүх дутуу элементүүдийг програмын хамт шууд багцалсан болно. Контейнер үүсгэх үед "ажиллах цаг"-ын агуулгыг /usr хуваалт болгон, "багц"-ыг /app директорт суулгана.

Ашиглалтын хугацаа болон хэрэглээний контейнерууд нь OSTree технологийг ашиглан бүтээгдсэн бөгөөд зураг нь Git-тэй төстэй агуулахаас атомаар шинэчлэгддэг бөгөөд энэ нь түгээлтийн бүрэлдэхүүн хэсгүүдэд хувилбарын хяналтын аргуудыг ашиглах боломжийг олгодог (жишээлбэл, та системийг өмнөх хувилбар руу хурдан буцаах боломжтой). муж). RPM багцуудыг rpm-ostree давхаргыг ашиглан OSTree репозитор руу хөрвүүлдэг.

Ажлын орчинд багцуудыг сонгон суулгах, шинэчлэхийг дэмждэггүй - систем нь бие даасан бүрэлдэхүүн хэсгүүдийн түвшинд биш, харин бүхэлдээ төлөв байдлыг нь атомаар өөрчилдөг. Шинэчлэлтүүдийг үе шаттайгаар хэрэгжүүлэх хэрэгслүүдээр хангаж, шинэчлэлт бүрт зургийг бүрэн солих шаардлагагүй болно.

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

Дулаалгын хувьд Bubblewrap давхарга болон уламжлалт Linux cgroups, namespace, Seccomp болон SE ашиглахад суурилсан контейнер виртуалчлалын технологиудLinux. При создании пакета изоляция может быть отключена, чем пользуются разработчики некоторых пакетов для получения полного доступа к ФС и всем устройствам в системе.

Эх сурвалж: opennet.ru

DDoS хамгаалалт, VPS VDS сервер бүхий сайтуудад найдвартай хостинг худалдаж аваарай 🔥 DDoS хамгаалалттай, VPS VDS сервертэй найдвартай вэбсайт хостинг худалдаж аваарай | ProHoster