Flatpak (раніше відомий як xdg-app) — система для збирання самодостатніх пакунків, не прив'язаних до конкретних дистрибутивів Linux і виконуваних в спеціальному контейнері, що ізолює застосунок від решти системи. Підтримка виконання Flatpak-пакунків забезпечена для Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint і Ubuntu. Пакунки з Flatpak включені в репозиторій Fedora і підтримуються в штатній програмі управління застосунками GNOME.
Тип | вільне та відкрите програмне забезпечення і система керування пакунками |
---|---|
Автор | Alex Larsson |
Розробник | Flatpak Team |
Перший випуск | вересень 2015 |
Стабільний випуск | 1.4.1 (13 червня, 2019 ) |
Операційна система | Linux |
Мова програмування | C |
Ліцензія | LGPL |
Онлайн-документація | docs.flatpak.org/en/latest/ |
Репозиторій | github.com/flatpak/flatpak |
Вебсайт | flatpak.org |
|
Огляд
Розробникам застосунків Flatpak дає можливість спростити поширення своїх програм, що не входять у штатні репозиторії дистрибутивів, за рахунок підготовки одного універсального контейнера без формування окремих складань для кожного дистрибутиву. Для користувачів, що піклуються про безпеку, Flatpak дозволяє виконати застосунок, що викликає сумнів, у контейнері, надавши доступ тільки до мережевих функцій та файлів користувача, пов'язаних із застосунком. Для користувачів, які цікавляться новинками, Flatpak дозволяє встановити найсвіжіші тестові і стабільні випуски програм, без необхідності внесення змін до системи. Наприклад, Flatpak-пакунки вже збираються для 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), що встановлюється через спеціальний репозиторій, поставляються додаткові залежності (bundle), необхідні для роботи програми. В сумі runtime і bundle утворюють начинку контейнера, при тому, що runtime встановлюється окремо і прив'язується відразу до декількох контейнерів, що дозволяє обійтися без дублювання спільних для контейнерів системних файлів. В одній системі може бути встановлено кілька різних runtime (GNOME, KDE) або кілька версій одного runtime (GNOME 3.26, GNOME 3.28). Контейнер із застосунком як залежність використовує прив'язку тільки до певного runtime, без урахування окремих пакунків, з яких складається runtime. Всі відсутні елементи упаковуються безпосередньо разом з застосунком. При формуванні контейнера вміст runtime монтується як розділ /usr, а bundle монтується в директорію /app.
Начинка runtime і контейнерів застосунків формується з використанням технології , при якій образ атомарно оновлюється з Git-подібного сховища, що дозволяє застосовувати методи версійного контролю до компонентів дистрибутиву (наприклад, можна швидко відкотити систему до минулого стану). RPM-пакунки транслюються в репозиторій OSTree за допомогою спеціальної прошарку rpm-ostree. Окрема установка і оновлення пакунків всередині робочого оточення не підтримується, система оновлюється не на рівні окремих компонентів, а цілком, атомарному змінюючи свій стан. Надаються засоби для інкрементального застосування оновлень, які позбавляють від необхідності повної заміни способу при кожному оновленні.
Сформоване ізольоване оточення повністю незалежно від використовуваного дистрибутива, і при належних настройках пакунку не має доступу до файлів і процесів користувача або основної системи, не може безпосередньо звертатися до обладнання, за винятком виводу через DRI, і мережевої підсистеми. Вивід графіки і організація вводу реалізована за допомогою протоколу Wayland або через кидок сокета X11. Взаємодія з зовнішнім середовищем побудовано на основі системи обміну повідомленнями DBus і спеціального API Portals. Для ізоляції використовується прошарок Bubblewrap і традиційні для Linux технології контейнерної віртуалізації, засновані на використанні cgroups, просторів імен (namespaces), і SELinux. Для виводу звуку застосовується PulseAudio.
Flathub
Flathub [ 23 грудня 2019 у Wayback Machine.] — це магазин застосунків Flatpak. У ньому присутні складання GIMP, VS Code, Steam та інших популярних програм До деякого часу застосунки перебували в репозиторії програм GNOME.
Виноски
- . GitHub. Архів оригіналу за 10 квітня 2022. Процитовано 24 квітня 2022.
- . GitHub. Архів оригіналу за 22 грудня 2020. Процитовано 21 грудня 2019.
- . xdg-app repository. freedesktop.org. Архів оригіналу за 18 серпня 2019. Процитовано 21 листопада 2016.
- . Flatpak FAQ (англ.). Архів оригіналу за 20 вересня 2018. Процитовано 17 жовтня 2018.
- Sneddon, Joey (18 червня 2017). . OMG! Ubuntu! (англ.). Архів оригіналу за 16 травня 2018. Процитовано 17 жовтня 2018.
- (англ.). Архів оригіналу за 21 грудня 2019. Процитовано 17 жовтня 2018.
- Larsson, Alexander (13 листопада 2017). . Блог GNOME (англ.). Архів оригіналу за 20 лютого 2018. Процитовано 17 жовтня 2018.
Посилання
- Офіційний сайт
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Flatpak ranishe vidomij yak xdg app sistema dlya zbirannya samodostatnih pakunkiv ne priv yazanih do konkretnih distributiviv Linux i vikonuvanih v specialnomu kontejneri sho izolyuye zastosunok vid reshti sistemi Pidtrimka vikonannya Flatpak pakunkiv zabezpechena dlya Arch Linux CentOS Debian Fedora Gentoo Mageia Linux Mint i Ubuntu Pakunki z Flatpak vklyucheni v repozitorij Fedora i pidtrimuyutsya v shtatnij programi upravlinnya zastosunkami GNOME FlatpakTipvilne ta vidkrite programne zabezpechennya i sistema keruvannya pakunkamiAvtorAlex LarssonRozrobnikFlatpak TeamPershij vipuskveresen 2015 8 rokiv tomu 2015 09 Stabilnij vipusk1 4 1 13 chervnya 2019 5 rokiv tomu 2019 06 13 Operacijna sistemaLinuxMova programuvannyaCLicenziyaLGPLOnlajn dokumentaciyadocs flatpak org en latest Repozitorijgithub com flatpak flatpakVebsajtflatpak org Mediafajli u VikishovishiOglyadRozrobnikam zastosunkiv Flatpak daye mozhlivist sprostiti poshirennya svoyih program sho ne vhodyat u shtatni repozitoriyi distributiviv za rahunok pidgotovki odnogo universalnogo kontejnera bez formuvannya okremih skladan dlya kozhnogo distributivu Dlya koristuvachiv sho pikluyutsya pro bezpeku Flatpak dozvolyaye vikonati zastosunok sho viklikaye sumniv u kontejneri nadavshi dostup tilki do merezhevih funkcij ta fajliv koristuvacha pov yazanih iz zastosunkom Dlya koristuvachiv yaki cikavlyatsya novinkami Flatpak dozvolyaye vstanoviti najsvizhishi testovi i stabilni vipuski program bez neobhidnosti vnesennya zmin do sistemi Napriklad Flatpak pakunki vzhe zbirayutsya dlya LibreOffice Firefox GIMP Inkscape Kdenlive Steam 0 A D Visual Studio Code VLC Slack Skype Telegram Desktop Android Studio tosho Dlya zmenshennya rozmiru paketa vin vklyuchaye lishe zalezhnosti specifichni dlya zastosunku a bazovi sistemni i grafichni biblioteki GTK Qt biblioteki GNOME i KDE tosho oformleni u viglyadi pidklyuchenih tipovih runtime otochen Klyuchova vidminnist Flatpak vid Snap polyagaye v tomu sho Snap vikoristovuye komponenti otochennya osnovnoyi sistemi i izolyaciyu na osnovi filtraciyi sistemnih viklikiv todi yak Flatpak stvoryuye okremij vid sistemi kontejner i operuye velikimi runtime naborami nadayuchi yak zalezhnosti pakunki a tipovi sistemni otochennya napriklad vsi biblioteki neobhidni dlya roboti program GNOME abo KDE Krim tipovogo sistemnogo otochennya runtime sho vstanovlyuyetsya cherez specialnij repozitorij postavlyayutsya dodatkovi zalezhnosti bundle neobhidni dlya roboti programi V sumi runtime i bundle utvoryuyut nachinku kontejnera pri tomu sho runtime vstanovlyuyetsya okremo i priv yazuyetsya vidrazu do dekilkoh kontejneriv sho dozvolyaye obijtisya bez dublyuvannya spilnih dlya kontejneriv sistemnih fajliv V odnij sistemi mozhe buti vstanovleno kilka riznih runtime GNOME KDE abo kilka versij odnogo runtime GNOME 3 26 GNOME 3 28 Kontejner iz zastosunkom yak zalezhnist vikoristovuye priv yazku tilki do pevnogo runtime bez urahuvannya okremih pakunkiv z yakih skladayetsya runtime Vsi vidsutni elementi upakovuyutsya bezposeredno razom z zastosunkom Pri formuvanni kontejnera vmist runtime montuyetsya yak rozdil usr a bundle montuyetsya v direktoriyu app Nachinka runtime i kontejneriv zastosunkiv formuyetsya z vikoristannyam tehnologiyi pri yakij obraz atomarno onovlyuyetsya z Git podibnogo shovisha sho dozvolyaye zastosovuvati metodi versijnogo kontrolyu do komponentiv distributivu napriklad mozhna shvidko vidkotiti sistemu do minulogo stanu RPM pakunki translyuyutsya v repozitorij OSTree za dopomogoyu specialnoyi prosharku rpm ostree Okrema ustanovka i onovlennya pakunkiv vseredini robochogo otochennya ne pidtrimuyetsya sistema onovlyuyetsya ne na rivni okremih komponentiv a cilkom atomarnomu zminyuyuchi svij stan Nadayutsya zasobi dlya inkrementalnogo zastosuvannya onovlen yaki pozbavlyayut vid neobhidnosti povnoyi zamini sposobu pri kozhnomu onovlenni Sformovane izolovane otochennya povnistyu nezalezhno vid vikoristovuvanogo distributiva i pri nalezhnih nastrojkah pakunku ne maye dostupu do fajliv i procesiv koristuvacha abo osnovnoyi sistemi ne mozhe bezposeredno zvertatisya do obladnannya za vinyatkom vivodu cherez DRI i merezhevoyi pidsistemi Vivid grafiki i organizaciya vvodu realizovana za dopomogoyu protokolu Wayland abo cherez kidok soketa X11 Vzayemodiya z zovnishnim seredovishem pobudovano na osnovi sistemi obminu povidomlennyami DBus i specialnogo API Portals Dlya izolyaciyi vikoristovuyetsya prosharok Bubblewrap i tradicijni dlya Linux tehnologiyi kontejnernoyi virtualizaciyi zasnovani na vikoristanni cgroups prostoriv imen namespaces i SELinux Dlya vivodu zvuku zastosovuyetsya PulseAudio FlathubFlathub 23 grudnya 2019 u Wayback Machine ce magazin zastosunkiv Flatpak U nomu prisutni skladannya GIMP VS Code Steam ta inshih populyarnih program Do deyakogo chasu zastosunki perebuvali v repozitoriyi program GNOME Vinoski GitHub Arhiv originalu za 10 kvitnya 2022 Procitovano 24 kvitnya 2022 GitHub Arhiv originalu za 22 grudnya 2020 Procitovano 21 grudnya 2019 xdg app repository freedesktop org Arhiv originalu za 18 serpnya 2019 Procitovano 21 listopada 2016 Flatpak FAQ angl Arhiv originalu za 20 veresnya 2018 Procitovano 17 zhovtnya 2018 Sneddon Joey 18 chervnya 2017 OMG Ubuntu angl Arhiv originalu za 16 travnya 2018 Procitovano 17 zhovtnya 2018 angl Arhiv originalu za 21 grudnya 2019 Procitovano 17 zhovtnya 2018 Larsson Alexander 13 listopada 2017 Blog GNOME angl Arhiv originalu za 20 lyutogo 2018 Procitovano 17 zhovtnya 2018 PosilannyaOficijnij sajt