Interested Article - Flatpak

Flatpak (ранее известный как xdg-app ) — это утилита для развёртывания , управления пакетами и для Linux. Предоставляет собой песочницу , в которой пользователи могут запускать приложения без влияния на основную систему. Приложения, использующие Flatpak, требуют дополнительных разрешений на использование дискового пространства.

Описание

Для работы с Flatpak пакетам возможно использовать как Flathub (репозиторий разработчика), так и сторонние репозитории, что отличается от подхода Snappy .

Выполнение приложений происходит в изолированном контейнере.

Библиотеки приложений могут находиться в одном пакете вместе с приложением или же находиться в окружениях, общих для нескольких пакетов

История

Автором Flatpak является Алекс Ларсон ( англ. Alex Larsson ) , одним из мотиваторов стал klik . Название произошло от соединения GNOME и klik, как это обычно происходило в GNOME-сообществе. Проект утилиты претерпел несколько изменений.

Я игрался с системой образов приложений Klik, у которой были интересные идеи I had played a bit with a application image system called Klik, which had some interesting ideas
Алекс Ларсон
Название — это каламбур от старой схемы наименования в KDE и GNOME — первая буква и название, получилось K lik и G lick The name is sort of a pun on the old KDE/Gnome first-letter naming scheme, although neither Klik or Glick are really desktop-specific.
Алекс Ларсон

Glick

Изначально идея зародилась в проекте Glick — фреймворк для упаковки ( англ. bundling ) приложений. Он позиционировался как приложение, позволяющее разработчикам создавать самодостаточные пакеты для своих приложений. Первая публичная версия 0.1 была выпущена в 2007 году. Позже был выпущен последний релиз 0.2, где удалось обойти ограничение fuse на одновременное выполнение 10 программ.

Особенности реализации:

  • для целевой системы не требуется дополнительная среда выполнения: пока fuse правильно работает — программа ничего не требует;
  • приложение, установленное в комплекте, не должно быть перемещено, так как Glick использует трюк со ссылкой /proc/self , чтобы найти свои файлы на /proc/self/fd/1023 . Это значит, что разработчику не нужно менять приложение для работы, просто нужно выполнить configure --prefix /proc/self/fd/1023 ;
  • внутрь файла можно вставить значки и другие файлы, которые хранятся в виде отдельных секций ELF , поэтому их легко извлечь.

Glick2

Вскоре проект перерос в Glick2 . В 2011 году появилась первая запись в блоге GNOME о переосмыслении распространения запускаемых файлов, где и был представлен новый Glick2. Когда программа запускается, она создаёт новое — это функция ядра Linux , позволяющая смотреть на списки монтирования; после этого файл монтируется при помощи fuse с уже известным префиксом, например, в /opt/bundle — эта точка монтирования доступна только программе и её дочерним процессам. Далее запускается стартовый файл, который читает нужные данные и библиотеки из этой точки. С помощью другой функции ядра — разделяемых поддеревьев ( англ. shared subtrees ) — имеющееся пространство имён открывается в общий доступ в систему, например, появится возможность использовать USB носитель, вставленный после запуска программы. Если установить дополнительное ПО, то установка составит собой лишь перемещение в папку (иначе в списке программ она не появится), а также появится слежение за дубликатами при помощи сравнения хешей SHA-1 .

Преимущества в сравнении с другими системами пакетов:

  • возможна лёгкая установка в виде перемещения файла приложения в папку ~/Apps
  • приложение работает даже если в системных пакетах будут несовместимые изменения;
  • приложение работает как на старых, так и на новых ОС — не нужно заботиться о системе;
  • можно устанавливать сразу несколько версий приложения;
  • достигается высокий уровень кросс-платформенности; однако, из-за того, что разработчик приложения не распространяет xserver или kernel, есть ограничения в системных вещах.

На основе Glick2 был создан фреймворк , который повторял идеи первого.

xdg-app

В 2013 году в ядро Linux добавили нативную поддержку контейнеров — LXC . На Hackfest2013 Алекс Ларсон опубликовал свои идеи насчёт будущего Flatpak. Первые публичные работы начались в 2014 году, а первый релиз состоялся в 2015 году.

Flatpak

xdg-app с версии 0.6 стал именоваться Flatpak .

Flatpak 0.8 имеет долгосрочную поддержку .

Flatpak 1.0 была выпущена 20 августа 2018 года.

1 июля 2017 года Valve добавила в SteamOS поддержку Flatpak.

С сентября 2018 года поддерживается и Windows 10 при помощи WSL .

Источник приложений

магазин приложений для Flatpak. В нём присутствуют сборки GIMP , VS Code , Steam и других популярных программ. До некоторого времени приложения находились в репозитории приложений GNOME.

Проблемы безопасности

Команда исследователей создала сайт , на котором публикуются различные вопросы безопасности относительно Flatpak. Основные проблемы — наличие устаревшего ПО в Flathub и недоработки в песочнице.

См. также

Примечания

  1. — 2023.
  2. — 2006.
  3. (англ.) . Flatpak FAQ . Дата обращения: 17 октября 2018. 20 сентября 2018 года.
  4. Larsson, Alexander (англ.) . Блог GNOME (17 февраля 2015). Дата обращения: 17 октября 2018. 29 августа 2018 года.
  5. . OpenNET . 2015-02-17. из оригинала 28 января 2018 . Дата обращения: 17 октября 2018 .
  6. Larsson, Alexander (англ.) . Блог GNOME (29 апреля 2016). Дата обращения: 17 октября 2018. 26 августа 2018 года.
  7. Willis, Nathan (англ.) . LWN.net (12 августа 2015). Дата обращения: 17 октября 2018. 23 августа 2018 года.
  8. . Losst (9 июля 2016). Дата обращения: 22 марта 2020. 22 марта 2020 года.
  9. Larsson, Alexander (2018-06-20). . Блог GNOME (англ.) . из оригинала 20 сентября 2018 . Дата обращения: 17 октября 2018 .
  10. (англ.) . Сайт Flatpak . Дата обращения: 17 октября 2018. 17 октября 2018 года.
  11. (англ.) . Страница Glick в проекте GNOME . Дата обращения: 17 октября 2018. 5 июля 2018 года.
  12. Paul, Ryan (2007-08-24). . Ars Technica (англ.) . из оригинала 20 марта 2014 . Дата обращения: 17 октября 2018 .
  13. Larsson, Alexander (2007-08-21). . Блог GNOME (англ.) . из оригинала 22 июля 2018 . Дата обращения: 17 октября 2018 .
  14. Larsson, Alexander (2007-08-23). . Блог GNOME (англ.) . из оригинала 27 августа 2018 . Дата обращения: 17 октября 2018 .
  15. (англ.) . Дата обращения: 17 октября 2018. 5 сентября 2018 года.
  16. Larsson, Alexander (2011-09-30). . Блог GNOME (англ.) . из оригинала 9 апреля 2016 . Дата обращения: 17 октября 2018 .
  17. на YouTube
  18. Larsson, Alexander (2011-10-12). . Блог GNOME (англ.) . из оригинала 16 марта 2017 . Дата обращения: 17 октября 2018 .
  19. . Новости LXC (англ.) . 2014-02-20. из оригинала 2 июня 2017 . Дата обращения: 17 октября 2018 .
  20. . OpenNET . 2014-02-21. из оригинала 9 декабря 2017 . Дата обращения: 17 октября 2018 .
  21. Larsson, Alexander (2013-02-01). . Блог GNOME (англ.) . из оригинала 27 августа 2016 . Дата обращения: 17 октября 2018 .
  22. (англ.) . Репозиторий alexlarsson на GitHub (17 декабря 2014). Дата обращения: 17 октября 2018. 17 октября 2018 года.
  23. (англ.) . Репозиторий alexlarsson на GitHub (23 марта 2015). Дата обращения: 17 октября 2018. 17 октября 2018 года.
  24. . Пресс-релизы Flatpak (англ.) . 2016-06-21. из оригинала 26 августа 2018 . Дата обращения: 17 октября 2018 .
  25. Alex, Larsson (2016-12-22). . Блог GNOME (англ.) . из оригинала 5 сентября 2018 . Дата обращения: 17 октября 2018 .
  26. . OpenNET . 2016-12-23. из оригинала 6 февраля 2018 . Дата обращения: 17 октября 2018 .
  27. . Пресс-релизы Flatpak (англ.) . 2018-08-20. из оригинала 6 октября 2018 . Дата обращения: 17 октября 2018 .
  28. . OpenNET . 2018-08-20. из оригинала 17 октября 2018 . Дата обращения: 17 октября 2018 .
  29. jvert (2017-04-01). . Steam Universe (англ.) . из оригинала 3 ноября 2017 . Дата обращения: 17 октября 2018 .
  30. . OpenNET . 2017-07-26. из оригинала 8 сентября 2018 . Дата обращения: 17 октября 2018 .
  31. Larsson, Alexander (2018-09-17). . Блог GNOME (англ.) . из оригинала 17 сентября 2018 . Дата обращения: 17 октября 2018 .
  32. Sneddon, Joey (2017-06-18). . OMG! Ubuntu! (англ.) . из оригинала 16 мая 2018 . Дата обращения: 17 октября 2018 .
  33. (англ.) . Дата обращения: 17 октября 2018. 21 декабря 2019 года.
  34. Larsson, Alexander (2017-11-13). . Блог GNOME (англ.) . из оригинала 20 февраля 2018 . Дата обращения: 17 октября 2018 .
Источник —

Same as Flatpak