The OpenNET Project / Index page

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

Релиз системы самодостаточных пакетов Flatpak 1.6.0

21.12.2019 13:21

Опубликована новая стабильная ветка инструментария Flatpak 1.6, который предоставляет систему для сборки самодостаточных пакетов, не привязанных к конкретным дистрибутивам Linux и выполняемым в специальном контейнере, изолирующем приложение от остальной системы. Поддержка выполнения Flatpak-пакетов обеспечена для Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint и Ubuntu. Пакеты с Flatpak включены в репозиторий Fedora и поддерживаются в штатной программе управления приложениями GNOME.

Ключевые новшества в ветке Flatpak 1.6:

  • В API Portal добавлен метод CreateUpdateMonitor, позволяющий приложениям отслеживать появление обновлений и запрашивать установку появившегося обновления. Для запрета полномочий самостоятельной установки обновлений приложением можно использовать команду "flatpak permission-set flatpak updates $APPID no" (если указать "ask" вместо "no", то каждый раз будет выводиться диалог для подтверждения обновления);
  • Для упрощения создания обработчиков предложена библиотека libportal, которая даёт возможность обработки событий без прямого использования API Portal и разбора сигналов, приходящих через D-Bus. Libportal предоставляет простые асинхронно работающие прослойки для большинства "порталов";
  • Добавлено новое полномочие "--socket=cups" для предоставления прямого доступа к серверу печати CUPS;
  • Изменены протокол и API для обработки аутентификации. Добавлен аутентификатор для OCI (Open Container Initiative). Реализована поддержка автоматической установки аутентификаторов из внешнего репозитория flatpak. В FlatpakTransaction добавлен callback-обработчик для использования аутентификации по логину и паролю по аналогии с методом аутентификации HTTP basic;
  • Добавлена поддержка защищённых приложений и систем, требующих аутентификации при загрузке;
  • Используемая для изоляции прослойка bubblewrap обновлена до выпуска 0.4.0;
  • Добавлена опциональная поддержка родительского контроля через применение библиотеки libmalcontent, позволяющей ограничить доступ к определённым видам контента;
  • Расширения теперь устанавливаются до приложения, что позволяет получить рабочее приложение сразу после завершения его установки;
  • Переработаны манипуляции с временными файлами, что позволило улучшить работу в условиях недостатка свободного дискового пространства;
  • Для выполнения команды "flatpak enter" больше не требуется использование sudo;
  • В порталы добавлена возможность запуска вложенных изолированных окружений (sub-sandbox) для дочерних процессов;
  • Добавлены новые команды "flatpak permission-set" и "permission-remove" для управления установкой полномочий;
  • Добавлена опция "flatpak install --or-update", выполняющая обновление, если приложение уже установлено;
  • Добавлена команда "flatpak mask" для закрепления версии и запрета установки обновлений;
  • Для образов в формате OCI (Open Container Initiative) добавлена поддержка привязки меток, генерации истории изменений в образе и включения mime-типов docker, помимо mime-типов OCI;
  • В настройки добавлен ключ default-languages для определения списка используемых языков, в дополнение к системному списку.

Напомним, что разработчикам приложений Flatpak даёт возможность упростить распространение своих программ, не входящих в штатные репозитории дистрибутивов за счет подготовки одного универсального контейнера без формирования отдельных сборок для каждого дистрибутива. Пользователям, заботящимся о безопасности, Flatpak позволяет выполнить вызывающее сомнение приложение в контейнере, предоставив доступ только к сетевым функциям и файлам пользователя, связанным с приложением. Пользователям, интересующимся новинками, Flatpak позволяет установить самые свежие тестовые и стабильные выпуски приложений без необходимости внесения изменений в систему. Например, в настоящее время Flatpak-пакеты уже собираются для LibreOffice, Midori, 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), устанавливаемого через специальный репозиторий, поставляются дополнительные зависимости (bundle), требуемые для работы приложения. В сумме runtime и bundle образуют начинку контейнера, при том, что runtime устанавливается отдельно и привязывается сразу к нескольким контейнерам, что позволяет обойтись без дублирования общих для контейнеров системных файлов. В одной системе может быть установлено несколько разных runtime (GNOME, KDE) или несколько версий одного runtime (GNOME 3.26, GNOME 3.28). Контейнер с приложением в качестве зависимости использует привязку только к определённому runtime, без учета отдельных пакетов, из которых состоит runtime. Все недостающие элементы упаковываются непосредственно вместе с приложением. При формировании контейнера содержимое runtime монтируется как раздел /usr, а bundle монтируется в директорию /app.

Начинка runtime и контейнеров приложений формируется с использованием технологии OSTree, при которой образ атомарно обновляется из Git-подобного хранилища, позволяющего применять методы версионного контроля к компонентам дистрибутива (например, можно быстро откатить систему к прошлому состоянию). RPM-пакеты транслируются в репозиторий OSTree при помощи специальной прослойки rpm-ostree. Отдельная установка и обновление пакетов внутри рабочего окружения не поддерживается, система обновляется не на уровне отдельных компонентов, а целиком, атомарно меняя своё состояние. Предоставляются средства для инкрементального применения обновлений, избавляющие от необходимости полной замены образа при каждом обновлении.

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



  1. Главная ссылка к новости (https://blogs.gnome.org/mclase...)
  2. OpenNews: Релиз системы самодостаточных пакетов Flatpak 1.4.0
  3. OpenNews: Уязвимость в snapd и flatpak, позволяющая обойти режим изоляции
  4. OpenNews: Релиз системы самодостаточных пакетов Flatpak 1.0
  5. OpenNews: Проект Chef представил формат самодостаточных универсальных пакетов Habitat
  6. OpenNews: Выпуск Bubblewrap 0.4.0, прослойки для создания изолированных окружений
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/52075-flatpak
Ключевые слова: flatpak
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (51) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 13:26, 21/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –29 +/
    snap значительно лучше и безопаснее.
    пишите и о релизах этого пакетного менеджера!
     
     
  • 2.2, Петр (??), 13:39, 21/12/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В снап на федоре добавили поддержку селинукс?
     
     
  • 3.26, BlackRot (ok), 21:51, 21/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Снап на федоре не нужон
     
     
  • 4.29, Пенсионер. (?), 22:22, 21/12/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Федора не нужна.
     
     
  • 5.38, username (??), 12:02, 22/12/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вы не правы, федора 31 на 2 девайсаx заработала с лучшей поддерzhкой оборудования.
    Время абанты прошло.
    По теме снап против флатпак могу только сказать что снап пакеты чуть дольше стартуют на xолодном старте у меня, и в снап софте часто выбор файла сломан и надо браузить от корня системы а не в своем xоуме
     
     
  • 6.40, BlackRot (ok), 12:47, 22/12/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У меня на федоре 31 сборка андроида последнего проходит заметно быстрее чем на убунте последней (даже лтс) даже, не смотря на то, что сама гугл рекомендует убунту как беспроблемное решение для сборки андроида, но и на федоре проблем не возникло да ещё и быстрее.
     
  • 6.48, Аноним (48), 22:15, 27/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >поддерzhкой

    А что, местный бот стал банить слово "поддержка"?

     
  • 2.3, Аноним (-), 13:42, 21/12/2019 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > лучше

    субъективно,

    > безопаснее

    нет.

     
  • 2.4, bubblewrapper (?), 13:43, 21/12/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Сами пишите.
     
  • 2.5, Бен Криведко (?), 13:48, 21/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Оно уже научилось работать с кастомными хомедирами?
     
     
  • 3.30, Put In (?), 22:26, 21/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Историю болезни знает только лечащий врач.
     
  • 2.8, qetuo (?), 14:18, 21/12/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Чем лучше-то? Чем безопаснее? Можно списки открытых и закрытых CVE для каждого из сравниваемых продуктов посмотреть? Не говоря уже о том, что поддерживается этот ваш snap полноценно разве что на Ubuntu и подобных.
     
  • 2.9, mikevmk (??), 14:22, 21/12/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    эскобар.джпг
     
  • 2.24, Онаним (?), 21:14, 21/12/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    оно на столько лучше и безопаснее что космонавту пришлось вернуть gnome-system-monitor со snap, обратно на apt пакеты, из-за жалоб на тормоза запуска, которые занимали аж по пол минуты на SSD, жрите такое сами.
     
     
  • 3.36, онаним (?), 05:21, 22/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    калькулятор тоже запускается пол года, но его можно удалить и поставить нормальный из системного репо.
     

  • 1.6, Аноним (6), 13:57, 21/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Такой самодостаточный, что надо еще отдавать ресурсы под доп. сервис. Не говоря про то, что даже в дженте управление пакетами проще
     
  • 1.10, Аноним (10), 14:48, 21/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    > Для вывода звука применяется PulseAudio.

    Надо ещё к Systemd прибить намертво, чтобы в нормальные дистрибутивы не распространялось.

     
     
  • 2.11, Аноним (11), 17:09, 21/12/2019 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Если чё, systemd и так в 100% дистрибутивов. Не сам, так куски его, никуда не денетесь. А вот пульса совершенно не упала, я предпочитаю минимальные задержки без рассинхрона с картинкой. Я из тех людей, для которых 0.1с рассинхрона - причина упасть в припадке. Простительно не более ~0.02с (порог чувствительности около 0.03с).
     
     
  • 3.14, колба (?), 17:25, 21/12/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    и почему ты ещё не научился настраивать пульс? почему ты не в числе тех ранних энтузиастов которые заморочились с пайпвайр?
     
     
  • 4.17, Аноним (11), 18:33, 21/12/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > и почему ты ещё не научился настраивать пульс? почему ты не в
    > числе тех ранних энтузиастов которые заморочились с пайпвайр?

    Он не настраивается у меня. Постоянно то браузер на 5 секунд отстаёт, то mpv через секунду на паузу реагирует.

     
     
  • 5.19, анонимус (??), 19:11, 21/12/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > то браузер на 5 секунд отстаёт, то mpv через секунду на паузу реагирует

    Судя по симптомам, у тебя проблема не только с pa.

     
     
  • 6.21, Аноним (11), 19:20, 21/12/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не знаю, что-то после выкидывания пульсы проблем больше так и не было. Реалтайм приоритеты у неё настроены были, не помогло. Я каждый код ставлю и настраиваю пульсу только что потом заметить как она опять глючит.
     
  • 3.45, Аноним (45), 22:08, 22/12/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Если чё, systemd и так в 100% дистрибутивов

    Из 146%, надо полагать? Войд, диван, пклос, альпин, антикс, парабола, гуих, шляка отлично живут без этого.

     
  • 3.47, Аноним (47), 15:01, 23/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Сверхчеловек!
     
  • 3.49, Аноним (48), 22:19, 27/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >Простительно не более ~0.02с (порог чувствительности около 0.03с).

    Ох, свистишь... ;)

     
     
  • 4.51, Аноним (11), 07:06, 28/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >>Простительно не более ~0.02с (порог чувствительности около 0.03с).
    > Ох, свистишь... ;)

    Достаточно задержек монитора, звуковухи, и usb, чтобы испытывать боль. А тут ещё левый софт добавляет латенси, нененен. Я знаю что говорят что-то про 0.2, но лично моя чувствительность минимум на порядок выше (выяснено экспериментальным путём, тысячекратно подвержено).

     
     
  • 5.52, Аноним (11), 07:10, 28/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >>>Простительно не более ~0.02с (порог чувствительности около 0.03с).
    >> Ох, свистишь... ;)
    > Достаточно задержек монитора, звуковухи, и usb, чтобы испытывать боль. А тут ещё
    > левый софт добавляет латенси, нененен. Я знаю что говорят что-то про
    > 0.2, но лично моя чувствительность минимум на порядок выше (выяснено экспериментальным
    > путём, тысячекратно подвержено).
    >чувствительность

    Зрительная, слуховая, тактильная, все вместе. Физическая реакция имеет огромный лаг (причём, зависит от удалённости от головы, реагировать нужно спинным мозгом и заранее), но мозг успевает всё обработать и осознать. Если работают рефлексы, то мозг осознаёт сигналы постфактум - интересное ощущение.

     
  • 2.34, Аноним (34), 04:57, 22/12/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А как ещё разрешить приложению воспроизводить звук, но при этом не давать доступ к микрофону?
     
     
  • 3.50, Аноним (48), 22:22, 27/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А что, для воспроизведения звука плейером, ему нужен микрофон? Оригинально...
     

  • 1.12, ан (?), 17:12, 21/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Отличная вещь для установки всяких Skype, Viber, telegram, Dropbox. A я и Remmina с PyCharm от туда устанавливаю. Как-то оно так спокойнее.
     
     
  • 2.13, Аноним (11), 17:22, 21/12/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    У этой шляпы не слишком много прав? Я хотел бы какой-нибудь runc, но только на расте, вместо го. Го это но го.
     
     
  • 3.20, Аноним (-), 19:18, 21/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Flatpak юзает даже не runc, а свою минималистичную прослойку для работы с неймспейсами: bublewrap. Которая вообще почти аналог firejail c некоторыми отличиями. Притом, оно rootless, и вообще не позволяет изнутри повышать привелегии. А вот с доступом в пределах доступного пользователю могут быть варианты. От полного доступа к хомяку, до отдельных подкаталогов. По дефолту разрешения могут быть более пермиссивные ради работоспособности софта и удобства, но это можно переопределять через flatpak override.
     
  • 2.15, iPony129412 (?), 18:18, 21/12/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Жесть.
    От совершенно левых людей что-то ставить.
    Да и Flatpak не обеспечивает изоляцию сам по себе — это десктоп, слишком много связей.
     
     
  • 3.23, user_name (?), 20:28, 21/12/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Кстати, да. В дистре мэйнтейнер хоть часть сообщества, допущенный туда не просто так.

    А тут абы кто наваял майнеров, ловко рекламнул и - привет ненужное, все скачали.

     
     
  • 4.28, Аноним (-), 22:03, 21/12/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нужно развивать Reproducible Builds. Тогда и мейнтернеры не нужны, которые часто норовят что-то испортить, потому как считают себя умнее разработчиков.
     
  • 2.16, Ан даш м (?), 18:29, 21/12/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да только вот перечисленое и будет то, кроме чего ничего не нужно.

    Получается, уходит гибкость взаимо-согласованных внутри дистров. Приходит мешанина несовместимых версий блобов больших размеров. Зато мозг можно выключить.

    Но удобство - цена возможностей и размен свободы.

     

  • 1.18, Аноним (18), 18:55, 21/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Маздай-вэй.
     
     
  • 2.22, axredneck (?), 19:41, 21/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Не, маздай-вэй - это сетап.ехе
     
     
  • 3.25, Аноним (-), 21:45, 21/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    В случае онтопика - сетап.ш
     
  • 3.35, Аноним (34), 04:58, 22/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Уже не сетап.ехе, а даунлоадер.ехе.
     

  • 1.27, suslikk (?), 22:02, 21/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ага, в бунте менеджер приложений  предлагает установить телеграмм из флэтпака, но размер 900 Мб?
     
     
  • 2.37, iPony129412 (?), 06:17, 22/12/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я как-то попробовал чисто ради теста.
    Там гигабайт КДЕ прилетело... на мой дефолтный GNOMe.
    Не то чтобы я был какой-то тулкитофоб или ещё что, но как-то жирно всё же.
     

  • 1.31, Аноним (31), 23:24, 21/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Полезно для проприетарщины, но нездорове влечение отдельных дистров запаковать в это вообще все - беспокоит
     
  • 1.32, DerRoteBaron (ok), 01:26, 22/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    В теории это может быть жизнеспособно, если паковать под новое окружение софтину сложнее, чем притянуть гигабайт рантайма старого окружения, но получается не очень.

    С безопасностью всё примерно как во времена Android 4.x, т.е. как бы изоляция как бы где-то, вот только ей никто толком не пользуется.

    Получается ещё одна технология, удобная только проприетарщикам, не освоившим rpm и dpkg, и производителям SSD, а остальным лишь кучу неудобств

     
  • 1.33, Аноним (33), 04:29, 22/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    оверинженирнутая неюзабельная хр--ь, искусственно проталкиваемая. а все потому, что в свое время всякие дебианы не поддерживали нормально LSB.

    Мертворожденное, конечно. Хотел бы я посмотреть на коммерческое ПО в этом флатпаке. реальное бизнес-ПО, типа лотуса или видеомонтажа, а не поделок типа скайпа, на который всем пох, работает там половина фич или нет.

     
     
  • 2.39, username (??), 12:07, 22/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    а что не работает в скайпе
     

  • 1.41, Аноним (41), 14:15, 22/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Это такая прогрессивная штука где для установки каждой программы весом в 30мб нужно скачать ещё гигабайт всякого барахла для её запуска? Спасибо конечно, но нет, мы уж как-нибудь по старинке...
     
     
  • 2.42, soarin (ok), 19:04, 22/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ещё дело в том, что это барахло не удаляется.

    У меня вот только GIMP стоит

    3. [|] org.freedesktop.Platform.GL.nvidia-390-116      1.4         u       flathub                    < 47,6 МБ
    4. [ ] org.freedesktop.Platform.GL.nvidia-430-50       1.4         u       flathub                    < 71,3 МБ
    5. [ ] org.freedesktop.Platform.GL.nvidia-435-21       1.4         i       flathub                   < 103,3 МБ

    Это значит все рантаймы NVIDIA будут собираться.

     

  • 1.43, soarin (ok), 19:07, 22/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Мда... Сколько лет, а одни грабли

    https://gitlab.com/freedesktop-sdk/freedesktop-sdk/issues/886

     
  • 1.44, Аноним (44), 21:34, 22/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Тока Хипстеры используют такое.
    Нормисы юзают связку wget && make -j4 && make install clean
     
  • 1.46, анонимчик (?), 08:41, 23/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    пробовал ставить - какой-то монстр. со snap такой фигни не было
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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