자급자족 패키지 시스템 Flatpak 1.18.0 출시

После полутора лет разработки опубликована новая стабильная ветка инструментария Flatpak 1.18, предоставляющего систему для сборки самодостаточных пакетов, не привязанных к конкретным дистрибутивам Linux Flatpak 패키지는 시스템의 나머지 부분과 격리된 특수 컨테이너에서 실행됩니다. Fedora에서는 Flatpak 패키지 실행을 지원합니다. CentOS, Debian아치 Linux젠투, Linux 민트, 알트 Linux и Ubuntu. Пакеты с Flatpak включены в репозиторий 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)이 있을 수 있습니다. 애플리케이션을 종속성으로 포함하는 컨테이너는 선택한 런타임을 구성하는 개별 패키지를 고려하지 않고 특정 런타임에만 바인딩을 사용합니다. 누락된 모든 요소는 애플리케이션과 함께 직접 패키지됩니다. 컨테이너를 생성할 때 "runtime"의 내용은 /usr 파티션으로 마운트되고 "bundle"은 /app 디렉토리에 마운트됩니다.

런타임 및 애플리케이션 컨테이너는 Git과 같은 저장소에서 이미지가 원자적으로 업데이트되는 OSTree 기술을 사용하여 구축됩니다. 이를 통해 배포 구성 요소에 버전 제어 방법을 적용할 수 있습니다(예: 시스템을 이전 버전으로 신속하게 롤백할 수 있음). 상태). RPM 패키지는 rpm-ostree 계층을 사용하여 OSTree 저장소로 변환됩니다.

작업 환경 내에서 패키지를 선택적으로 설치하고 업데이트하는 것은 지원되지 않습니다. 시스템은 개별 구성 요소 수준에서 업데이트되는 것이 아니라 전체적으로 상태를 원자적으로 변경하여 업데이트됩니다. 업데이트를 점진적으로 적용하는 도구를 제공하므로 업데이트할 때마다 이미지를 완전히 교체할 필요가 없습니다.

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

Для изоляции используется прослойка Bubblewrap и традиционные для Linux cgroups, 네임스페이스, Seccomp 및 SE를 활용한 컨테이너 가상화 기술Linux. При создании пакета изоляция может быть отключена, чем пользуются разработчики некоторых пакетов для получения полного доступа к ФС и всем устройствам в системе.

출처 : opennet.ru

DDoS 보호, VPS VDS 서버가 있는 사이트를 위한 안정적인 호스팅 구입 🔥 DDoS 공격 방지 기능이 탑재된 안정적인 웹사이트 호스팅, VPS 및 VDS 서버를 구매하세요 | ProHoster