The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Релиз системы самодостаточных пакетов Flatpak 1.4.0"
Отправлено opennews, 28-Май-19 23:52 
Опубликована (https://github.com/flatpak/flatpak/releases/tag/1.4.0)  новая стабильная ветка инструментария Flatpak 1.4 (http://flatpak.org/), который предоставляет систему для сборки самодостаточных пакетов, не привязанных к конкретным дистрибутивам Linux и выполняемым в специальном контейнере, изолирующем приложение от остальной системы. Поддержка выполнения Flatpak-пакетов обеспечена для Arch Linux, CentOS (https://copr.fedorainfracloud.org/coprs/amigadave/flatpak-epel7/), Debian, Fedora, Gentoo, Mageia, Linux Mint и Ubuntu. Пакеты с Flatpak включены в репозиторий Fedora и поддерживаются в штатной программе управления приложениями GNOME.

Ключевые новшества (https://github.com/flatpak/flatpak/blob/master/NEWS) в ветке Flatpak 1.4:

-  Изменена организация настройки параметров внешних репозиториев. В каталоге /etc/flatpak/remotes.d вместо *.conf файлов с настройками теперь применяются обычные файлы  ".flatpakrepo", которые автоматически импортируются при первом использовании flatpak. Данные файлы можно свободно редактировать и удалять, по аналогии с вручную добавленными репозиториями;


-  Значительно изменена организация установок доступных для всей системы  пакетов. В прошлых выпусках вначале пакет устанавливается в  принадлежащий пользователю временный каталог, а заем вызываля процесс system-helper для импорта в систему из данного каталога. Подобный подход приводил к большому расходованию дисковых ресурсов, лишнему вводу/выводу и потенциальным проблемам с безопасностью. В новой версии для установки системных пакетов задействована специальная новая файловая система FUSE, в которую пользователь может записать данные, но после окончания записи доступ к записанным файлам для пользователя блокируются. Новый подход подразумевает необходимость заведения для flatpak отдельного пользователя (по умолчанию "flatpak") и изменения правил SELinux;

-  Добавлена возможность определения на стороне клиентской системы фильтров для внешних репозиториев. При помощи фильтров можно ограничить видимые в репозитории приложения, используя модель белого и чёрного списков;
-  Добавлен библиотечный API для добавления внешних репозиториев из файлов flatpakref;

-  Добавлен seccomp-профиль для Docker, позволяющий запускать flatpak внутри контейнеров;

-  Улучшена возможность установки из нескольких источников P2P (через USB-накопители или по локальной сети);
-  В команде "flatpak remote-ls" обеспечена автоматическая фильтрация приложений для которых завершилось время сопровождения;-   В "flatpak remote-ls" и  "flatpak remote-info" реализована опция "--cached" для отдачи информации на основе локальной прокэшированных данных;


-  Добавлена возможность указания версии окончания времени жизни пакета, после которой будет выводиться предложение перейти на новую ветку;

-  Добавлена опция "--socket=pcsc" для получения доступа к смарт-картам;
-  Добавлена поддержка систем, в которых присутствует несколько видеокарт NVIDIA;
-  Реализована поддержка помещённого в sandbox-окружение dconf;

-  В команду build-update-repo добавлены опции "--no-update-[summary,appstream]" и "--static-delta-ignore-ref=PATTERN";
-  Существенно повышена скорость регенерации веток appstream для больших репозиториев.


Напомним, что разработчикам приложений Flatpak даёт возможность упростить распространение своих программ, не входящих в штатные репозитории дистрибутивов, за счет подготовки (http://flatpak.org/developer.html) одного универсального контейнера без формирования отдельных сборок для каждого дистрибутива. Для пользователей, заботящихся о безопасности,  Flatpak позволяет выполнить вызывающее сомнение приложение в контейнере, предоставив доступ только к сетевым функциям и файлам пользователя, связанным с приложением. Для пользователей, интересующихся новинками, Flatpak позволяет установить самые свежие тестовые и стабильные выпуски приложений, без необходимости внесения изменений в систему. Например, в настоящее время Flatpak-пакеты уже собираются (https://flathub.org) для LibreOffice, Firefox, GIMP,  Inkscape, Kdenlive, Steam, 0 A.D., Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio и т.д.


Для уменьшения размера пакета, он включает лишь специфичные для приложения зависимости, а базовые системные и графические библиотеки (Gtk+, Qt, библиотеки GNOME и KDE и т.п.) оформлены в виде подключаемых типовых runtime-окружений. Ключевое отличие Flatpak от Snap заключается в том, что Snap использует компоненты окружения основной системы и изоляцию на основе фильтрации системных вызовов, в то время как Flatpak создаёт отдельный от системы контейнер и  оперирует крупными runtime-наборами, предоставляя в качестве зависимостей не пакеты, а  типовые системные окружения (например, все библиотеки, необходимые для работы программ GNOME или KDE).

Помимо типового системного окружения (runtime), устанавливаемого через специальный репозиторий (http://sdk.gnome.org/repo/), поставляются дополнительные зависимости (bundle), требуемые для работы приложения. В сумме runtime и bundle образуют начинку контейнера, при том, что runtime устанавливается отдельно и привязывается сразу к нескольким контейнерам, что позволяет обойтись без дублирования общих для контейнеров системных файлов. В одной системе может быть установлено несколько разных runtime (GNOME, KDE) или несколько версий одного runtime (GNOME 3.26, GNOME 3.28). Контейнер с приложением в качестве зависимости использует привязку только к определённому runtime, без учета отдельных пакетов, из которых состоит runtime. Все недостающие  элементы упаковываются непосредственно вместе с приложением. При формировании контейнера содержимое runtime монтируется как раздел /usr, а bundle монтируется в директорию /app.

Начинка runtime и контейнеров приложений формируется с использованием технологии OSTree (https://www.opennet.ru/opennews/art.shtml?num=37750), при которой образ атомарно обновляется из Git-подобного хранилища, позволяющего применять методы версионного контроля к компонентам дистрибутива (например, можно быстро откатить систему к прошлому состоянию). RPM-пакеты транслируются в репозиторий OSTree при помощи специальной прослойки rpm-ostree (http://rpm-ostree.cloud.fedoraproject.org/). Отдельная установка и обновление пакетов внутри рабочего окружения не поддерживается, система обновляется не на уровне отдельных компонентов, а целиком, атомарно меняя своё состояние. Предоставляются средства для инкрементального применения обновлений, избавляющие от необходимости полной замены образа при каждом обновлении.

Формируемое изолированное окружение полностью независимо от используемого дистрибутива, и при надлежащих настройках пакета не имеет доступа к файлам и процессам пользователя или основной системы, не может напрямую обращаться к оборудованию, за исключением вывода через DRI, и сетевой подсистеме. Вывод графики и организация ввода реализована (https://github.com/flatpak/flatpak/wiki) при помощи протокола Wayland или через  проброс сокета X11. Взаимодействие с внешней средой построено на основе системы обмена сообщениями DBus и специального API Portals. Для изоляции  используется (https://github.com/flatpak/flatpak/wiki/Sandbox) прослойка Bubblewrap (https://github.com/projectatomic/bubblewrap) и традиционные для Linux технологии контейнерной виртуализации, основанные на использовании cgroups, пространств имён (namespaces), Seccomp и SELinux. Для вывода звука применяется PulseAudio.


URL: https://github.com/flatpak/flatpak/releases/tag/1.4.0
Новость: https://www.opennet.ru/opennews/art.shtml?num=50762

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру