Flatpak – prosty sposób na dostarczenie aplikacji...

Flatpak – prosty sposób na dostarczenie aplikacji

[vc_row][vc_column][vc_column_text]

Świat linuksowy jest bardzo różnorodny. Mnogość dystrybucji, formatów paczek oraz wersji oprogramowania jest przytłaczająca. Klasyczne podejście do dostarczenia oprogramowania wymusza przygotowanie stosownej paczki dla różnych dystrybucji, a wraz z nią, stosownych wymagań (zależności) w stosunku do systemu (innych paczek).

Podejście to ma swoje plusy. Na przykład usunięcie podatności z jednej biblioteki może uszczelnić wiele aplikacji z niej korzystających. Z drugiej strony, to klasyczne podejście powoduje, że programista zamiast skupiać się tylko na pisaniu aplikacji, ma dodatkowe zadanie – paczkowanie. Zatem pojawiła się potrzeba instalacji aplikacji niezależnej od dystrybucji linuksa.

Odpowiedzią na to jest dostarczanie aplikacji z wszystkimi zależnymi bibliotekami. Rozwiązanie jest stare i ogólnie znane. Ostatnio na rynku pojawiły się dwie nowe implementacje tego pomysłu. Canonical ma swoją odpowiedź: Snap – czyli każda aplikacja we własnym kontenerze. Kilka dni temu zdecydowano udostępnić tą technologie dla innych dystrybucji, ale równocześnie pojawił się inny ciekawy pomysł: Flatpak.

Pomysłodawcą tego projektu jest Alexander Larsson z Red Hat:

[/vc_column_text][us_testimonial author=”Alexander Larsson” company=”Lead developer” img=”7212″ link=”|||”]Application developers on Linux have always been prevented from having a direct relationship with their users. With Flatpak we’re aiming to change that, so developers know exactly what their users are getting. With this launch we are making that goal a reality.[/us_testimonial][us_separator type=”invisible” size=”small”][vc_column_text]

Obecnie Flatpak najlepiej integruje się ze środowiskiem Gnome (ale trwają prace nad integracją z KDE) i dostarcza aplikacje takie jak: LibreOffice, GIMP, InkScape, MyPaint, Darktable i wiele innych.

Jakie technologie stoją za tym:

  • OSTree – to narzędzie działa podobnie do Gita, ale operuje na plikach binarnych. Operujemy na drzewach plików i katalogów, które są przeznaczone do uruchamiana (kontener lub system operacyjny) uwzględniając konfigurację programu ładującego (bootloader). Projekt rpm-ostree jest wykorzystywany również w Red Hat Atomic Host do instalacji wielu wersji systemu operacyjnego. Projekt ten przyczynia się do wydajności, gdyż zawiera mechanizm deduplikacji oszczędzając przestrzeń dyskową. Do redukcji transferu sieciowego potrzebnego do aktualizacji przyczyniają się przyrostowe migawki (static delta).
  • Bubblewrap – Mechanizm separacji (sandbox), którego głównym celem jest dostarczenie bezpiecznego w działaniu kontenera, który może wykorzystać zwykły użytkownik systemu operacyjnego bez przekazywania mu żadnych dodatkowych uprawnień.
  • Jądro linuksa (cgroups, namespaces)

Projekt ten jest na wczesnym etapie. Czy ma szanse na sukces? W środowisku graficznym, dla aplikacji desktopowych, ma to sens. A jeśli chodzi o rozwiązania Enterprise? Kto wie, może kiedyś…

[/vc_column_text][/vc_column][/vc_row]