Jakie są różnice między snapami, appimage, flatpak i innymi?


105

Ostatnio dostaję to pytanie od studentów i chociaż mam wiele informacji do zaoferowania, nie znalazłem źródła, w którym mogę wskazać ludziom, gdzie mogą przeczytać odpowiedź na aktualizację (znalazłem wiele błędnych informacji i nieaktualnych informacji ). Tak więc niektóre pytania dotyczące formatów opakowań, takich jak Snap, Appimage, Flatpak i inne w tej ewolucji uniwersalnych systemów pakowania to:

  • Kto stworzył format pakietu?
  • Jakie funkcje oferuje?
  • Jakie funkcje są dla niego unikalne? (Że inni jeszcze nie mają)
  • Kto to obsługuje?
  • Jakie dystrybucje tego używają?
  • Jaki jest cel pakietu? (Na komputery stacjonarne, chmury, urządzenia mobilne itp.)
  • Które są bardziej aktywnie rozwijane?

Odpowiedzi:


68

Oto długie tabelaryczne porównanie funkcji AppImage vs. Snap i Flatpak. Pochodzi z AppImage Wiki na GitHub :

AppImage vs. Snap vs. Flatpack Porównanie


43
Myślę, że warto zauważyć, że ten wykres jest zbudowany z perspektywy AppImage. Oznacza to, że domyślnym zestawem funkcji jest zestaw funkcji AppImage, a pozostałe są porównywane z jego funkcjami. To daje stronniczą przewagę AppImage. Jest również nieco nieaktualny. Na przykład Snap dodał obsługę motywów tej jesieni.
— Dan

1
@ Dan: Jeśli wiesz, że Snap dodał wsparcie dla nich - dlaczego po prostu nie edytujesz w tabeli? Ponadto, jeśli znasz inne funkcje Snap i / lub Flatpak: zapraszam do zmiany tabeli odpowiednimi pozycjami na wiki AppImage ...
— Kurt Pfeifle 16.04.18

11
Nie jestem pewien, jak to powiedzieć @Kurt. Spójrz na przykład w sekcji „Cele”. Pokazuje wyłącznie cele AppImage, tak jakby żaden inny projekt nie miał żadnych celów. Jakby liczyły się tylko cele AppImage.
— Dan

5
Rozumiem twój punkt widzenia - mógłbym edytować wiki. Jednak twoją odpowiedzią jest gigantyczny obraz, który prawdopodobnie pozostanie bez zmian, nawet przy zmianie wiki. Myślę, że uprzedzenie jest warte wspomnienia w kontekście twojej odpowiedzi dla przyszłych czytelników Zapytaj Ubuntu.
— Dan

2
@ Dan: Zredagowałem odpowiedź 4 lipca, aby wstawić zaktualizowaną wersję zrzutu ekranu ze strony internetowej (dokładnie w celu uwzględnienia pewnych modyfikacji, które miały miejsce na wiki). Gdzie jest dla Ciebie problem w edytowaniu oryginalnej Wiki, tworzeniu nowego zrzutu ekranu, a następnie sugerowaniu modyfikacji tej odpowiedzi za pomocą nowego zrzutu ekranu?
— Kurt Pfeifle,

51

Snapy zostały utworzone przez Canonical dla Ubuntu. Główne zalety zatrzasków to:

  • Niezależność od zależności - wszystkie biblioteki i zależności są zawarte w pakiecie. Pozwala to również na posiadanie większej liczby wersji tego samego programu.
  • Piaskownica - snapy używają zmodyfikowanego AppArmor do piaskownicy aplikacji
  • Aktualizacje delta - przystawki powinny również umożliwiać aktualizacje delty

Główną wadą snapów jest to, że oprogramowanie może używać tylko bibliotek zawartych w jego pakiecie. Jest to potencjalne zagrożenie bezpieczeństwa, ponieważ autor pakietu musi aktualizować i poprawiać wszystkie biblioteki.

Snap-y mogą obecnie działać w Ubuntu, Arch Linux, Fedora, Linux Mint, CentOS i Gentoo. Są one również używane w Ubuntu Touch. Są przeznaczone dla komputerów stacjonarnych, serwerów, telefonów, Internetu Rzeczy i routerów.

Flatpak ma te same zalety co snapy . Jednak używa piaskowników zamiast AppArmour. Główną różnicą jest to, że Flatpaks może zarówno korzystać z bibliotek zawartych w pakiecie, jak i bibliotek współdzielonych z innego Flatpaka.

Deweloper Flatpak to pracownik Red Hat Alexander Larsson. Oprogramowanie Flatpak jest obecnie dostępne w Arch Linux, Debian, Fedora, Mageia, Solus i Ubuntu. Jest skoncentrowany tylko na komputerach stacjonarnych.

AppImages opracował Simon Peter. Podobnie jak w snapach lub Flatpak, pakiet zawiera wszystkie biblioteki niezbędne do uruchomienia programu. Programy AppImage nie są w trybie piaskownicy i nie wymagają praw root do uruchomienia. Według strony internetowej projektu, AppImages powinien działać na Arch Linux, Centos, Debian, Fedora, OpenSUSE, Red Hat Linux i Ubuntu.


3
Solus ogłosił wsparcie dla flatpak w styczniu 2017 r.
— Anthon

8
Wszyscy powinni właśnie zbudować na appimage. Zamiast na nowo wynaleźć tę samą ideologię i wprowadzić fragmentację i zamieszanie. Zauważ też, że ponieważ te przenośne pakiety mają wszystkie biblioteki, będą miały znacznie większy rozmiar w porównaniu do aplikacji korzystającej z bibliotek współdzielonych instalowanych przez apt lub .deb. Jeśli musisz wiedzieć, który jest bardziej popularny, flatpak obecnie bije snapy.
— answerSeeker

Podejrzewam, że atak Spectre jest na wolności, dlatego ze względów bezpieczeństwa zainteresowanie bibliotekami współdzielonymi będzie mniejsze. :-)
— Chris

4
@answerSeeker: twój komentarz na temat przenośnych pakietów ma „znacznie większy rozmiar w porównaniu do aplikacji korzystającej z bibliotek współdzielonych instalowanych przez apt lub .deb” niekoniecznie poparty faktami. AppImages i Snap są kompresowane do obrazów SquashFS (nieprawda w przypadku Flatpak). Nigdy nie są one rozpakowywane na dysk, nawet w czasie wykonywania. AppImages, podczas uruchamiania, samodzielnie montują się na tymczasowo utworzonym punkcie montowania /tmp/.mount_<random-chars>i uruchamiają się stamtąd - nadal skompresowane! Zobacz liczby dla przykładu LibreOffice na zrzucie mojej odpowiedzi poniżej ...
— Kurt Pfeifle

1
@PabloBianchi: nowsze AppImages (nowszej odmiany „typu 2” ) mogą mieć wbudowany mechanizm aktualizacji. Spowoduje to pobranie pliku różnic binarnych różnic z oryginalnej lokalizacji AppImage, co pozwala zaoszczędzić rozmiar i czas pobierania, gdy nowa wersja będzie dostępna i gdy użytkownik wskaże, że jej chce. Pomagają w tym narzędzia appimageupdatetool(CLI) i AppImageUpdate-Qt(GUI) .
— Kurt Pfeifle
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.