Русская Википедия:Flatpak
Шаблон:Карточка программы Flatpak (ранее известный как xdg-app)[1] — это утилита для развёртывания, управления пакетами и Шаблон:Нп5 для Linux. Предоставляет собой песочницу, в которой пользователи могут запускать приложения без влияния на основную систему.[2][3][4] Приложения, использующие Flatpak, требуют дополнительных разрешений на использование дискового пространства.[5]
Описание
Для работы с Flatpak пакетам возможно использовать как Flathub (репозиторий разработчика), так и сторонние репозитории, что отличается от подхода Snappy.
Выполнение приложений происходит в изолированном контейнере.
Библиотеки приложений могут находиться в одном пакете вместе с приложением или же находиться в окружениях, общих для нескольких пакетов[6]
История
Автором Flatpak является Алекс Ларсон Шаблон:L6e, одним из мотиваторов стал klik.[7] Название произошло от соединения GNOME и klik, как это обычно происходило в GNOME-сообществе. Проект утилиты претерпел несколько изменений.
“ | Я игрался с системой образов приложений Klik, у которой были интересные идеи | ” |
I had played a bit with a application image system called Klik, which had some interesting ideas, Алекс Ларсон[7] |
“ | Название — это каламбур от старой схемы наименования в KDE и GNOME — первая буква и название, получилось Klik и Glick | ” |
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., Алекс Ларсон[7] |
Glick
Изначально идея зародилась в проекте Glick — фреймворк для упаковки Шаблон:L6e приложений.[8][9][10] Он позиционировался как приложение, позволяющее разработчикам создавать самодостаточные пакеты для своих приложений. Первая публичная версия 0.1 была выпущена в 2007 году.[11] Позже был выпущен последний релиз 0.2, где удалось обойти ограничение fuse на одновременное выполнение 10 программ.[12]
Особенности реализации:
- для целевой системы не требуется дополнительная среда выполнения: пока fuse правильно работает — программа ничего не требует;
- приложение, установленное в комплекте, не должно быть перемещено, так как Glick использует трюк со ссылкой
/proc/self
, чтобы найти свои файлы на/proc/self/fd/1023
. Это значит, что разработчику не нужно менять приложение для работы, просто нужно выполнитьconfigure --prefix /proc/self/fd/1023
; - внутрь файла можно вставить значки и другие файлы, которые хранятся в виде отдельных секций ELF, поэтому их легко извлечь.
Glick2
Вскоре проект перерос в Glick2.[13] В 2011 году появилась первая запись в блоге GNOME о переосмыслении распространения запускаемых файлов, где и был представлен новый Glick2.[14][15] Когда программа запускается, она создаёт новое Шаблон:Нп5 — это функция ядра Linux, позволяющая смотреть на списки монтирования; после этого файл монтируется при помощи fuse с уже известным префиксом, например, в /opt/bundle
— эта точка монтирования доступна только программе и её дочерним процессам. Далее запускается стартовый файл, который читает нужные данные и библиотеки из этой точки. С помощью другой функции ядра — разделяемых поддеревьев Шаблон:L6e — имеющееся пространство имён открывается в общий доступ в систему, например, появится возможность использовать USB носитель, вставленный после запуска программы. Если установить дополнительное ПО, то установка составит собой лишь перемещение в папку (иначе в списке программ она не появится), а также появится слежение за дубликатами при помощи сравнения хешей SHA-1.[16]
Преимущества в сравнении с другими системами пакетов:
- возможна лёгкая установка в виде перемещения файла приложения в папку
~/Apps
- приложение работает даже если в системных пакетах будут несовместимые изменения;
- приложение работает как на старых, так и на новых ОС — не нужно заботиться о системе;
- можно устанавливать сразу несколько версий приложения;
- достигается высокий уровень кросс-платформенности; однако, из-за того, что разработчик приложения не распространяет xserver или kernel, есть ограничения в системных вещах.
На основе Glick2 был создан фреймворк bundler, который повторял идеи первого.
xdg-app
В 2013 году в ядро Linux добавили нативную поддержку контейнеров — LXC.[17][18] На Hackfest2013 Алекс Ларсон опубликовал свои идеи насчёт будущего Flatpak.[19] Первые публичные работы начались в 2014 году,[20] а первый релиз состоялся в 2015 году.[21]
Flatpak
xdg-app с версии 0.6 стал именоваться Flatpak.[22]
Flatpak 0.8 имеет долгосрочную поддержку.[23][24]
Flatpak 1.0 была выпущена 20 августа 2018 года.[25][26]
1 июля 2017 года Valve добавила в SteamOS поддержку Flatpak.[27][28]
С сентября 2018 года поддерживается и Windows 10 при помощи WSL.[29]
Источник приложений
Flathub — магазин приложений для Flatpak. В нём присутствуют сборки GIMP, VS Code, Steam[30] и других популярных программ.[31] До некоторого времени приложения находились в репозитории приложений GNOME.[32]
Проблемы безопасности
Команда исследователей создала сайт flatkill.org, на котором публикуются различные вопросы безопасности относительно Flatpak. Основные проблемы — наличие устаревшего ПО в Flathub и недоработки в песочнице.
См. также
Примечания
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite news
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ 7,0 7,1 7,2 Шаблон:Cite news
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite news
- ↑ Шаблон:Cite news
- ↑ Шаблон:Cite news
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite news
- ↑ Шаблон:YouTube
- ↑ Шаблон:Cite news
- ↑ Шаблон:Cite news
- ↑ Шаблон:Cite news
- ↑ Шаблон:Cite news
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite news
- ↑ Шаблон:Cite news
- ↑ Шаблон:Cite news
- ↑ Шаблон:Cite news
- ↑ Шаблон:Cite news
- ↑ Шаблон:Cite news
- ↑ Шаблон:Cite news
- ↑ Шаблон:Cite news
- ↑ Шаблон:Cite news
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite news
Шаблон:Выбор языка Шаблон:Пакетные менеджеры для Linux
- Русская Википедия
- Используется шаблон "Цитата2"
- Страница, на которой используется шаблон "Цитата2"
- Страницы, на которой используется шаблон "Цитата2"
- Свободное программное обеспечение, написанное на Си
- Распространение программного обеспечения
- Свободное системное программное обеспечение
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Википедия
- Статья из Википедии
- Статья из Русской Википедии