Ergebnis 1 bis 5 von 5

Flatpak oder Snap?

  1. #1 Zitieren
    Veteran Avatar von Gamer 23
    Registriert seit
    Mar 2006
    Ort
    Khorinis
    Beiträge
    699
    So, nachdem ich jetzt schon paar Wochen mein Linux am laufen habe (danke für die Tipps übrigens nochmals ), bin ich jetzt auf die Flatpak und Snap-Geschichte gestoßen.
    So richtig verstehen tue ich das zwar noch nicht weil ich im Grunde (bis jetzt) ja alles über die Paketverwaltung gefunden und installiert habe aber gut, evtl. kommt das ja noch

    Welcher von den beiden "Stores" ist denn in dem Fall besser (falls man das überhaupt so sagen kann)?
    Und wie sieht das hier mit der Sicherheit aus? Ist es bei den beiden auch so, wie z. B. bei F-Droid wo die Apps in Quellcode eingereicht werden müssen um so die Sicherheit zu gewährleisten?

    Was haltet ihr davon?
    Gamer 23 ist offline

  2. #2 Zitieren

    Metasyntaktische Variable
    Avatar von foobar
    Registriert seit
    Sep 2004
    Ort
    Direkt hinter dir! Buh!
    Beiträge
    24.011
    Das sind im Grunde keine Stores, sondern Technologien bzw. Formate. Jeder kann ein Flatpak-Repository betreiben - und es gibt auch ein paar. Bei Snap geht es vermutlich auch, aber da außer Ubuntu niemand Interesse an dem Format hat, bleibt es da bei deren Repo. Allgemein werden Flatpaks gerne für Desktopanwendungen genutzt, wohingegen Snaps auch für Serveranwendungen eingesetzt werden.

    Die Idee bei beiden ist die gleiche. Der Entwickler verpackt alle Bibliotheken und sonstigen Komponenten in genau den richtigen Versionen (alles so, wie sein Programm es braucht), in ein spezielles Paket. Das läuft dann überall, auch, wenn die Distri vielleicht andere und ggf. inkompatible Versionen der Libs mitbringt. Quellcode-Einreichungen gibt es nicht, der Entwickler liefert Binärcode. Allerdings steckt der Kram in einer Sandbox und ist daher vom restlichen System besser isoliert.

    Das bezahlt man damit, dass die Pakete größer sind, sie nicht über die Paketverwaltung aktualisiert werden und dass es nun die Aufgabe des jeweiligen Entwicklers ist, neben seinem eigentlichen Programm auch all die Bibliotheken in dem Snap/Flatpak/AppImage zu pflegen (Sicherheitspatches etc). Er kann diese Arbeit nicht mehr an die Distri delegieren und muss sie selber machen. Ob er das dann aber macht, tja, da muss man halt als Nutzer selbst aufpassen.

    Wenn du kein Ubuntu-System hast, bist du mit Flatpak (oder AppImage) auf jeden Fall besser bedient. Die restliche Linux-Welt hat sich nämlich mehr oder weniger entschieden, dass Snap das fünfte Rad am Wagen ist. Ansonsten spricht nix dagegen, sich halt da zu bedienen, wo es gibt, was du brauchst. Die lassen sich parallel betreiben. Ich persönlich würde aber immer zuerst mein Glück in der Paketverwaltung probieren.
    foobar ist gerade online Geändert von foobar (13.07.2021 um 16:12 Uhr) Grund: Tippfehler

  3. #3 Zitieren
    Veteran Avatar von Gamer 23
    Registriert seit
    Mar 2006
    Ort
    Khorinis
    Beiträge
    699
    Vielen Dank für deine Erklärung

    Zitat Zitat von foobar Beitrag anzeigen
    Quellcode-Einreichungen gibt es nicht, der Entwickler liefert Binärcode. Allerdings steckt der Kram in einer Sandbox und ist daher vom restlichen System besser isoliert.
    Das hört sich ja gut und beruhigend an. Gilt das dann für alle, sprich Flatpak, Snap und AppImage laufen alle in einer Sandbox?

    Hat das auch einen bestimmten Hintergrund warum die Programme in Binärcode geliefert werden (ich hätte immer gedacht, dass das schon recht nah an der Maschinensprache ist)?


    Zitat Zitat von foobar Beitrag anzeigen
    Der Entwickler verpackt alle Bibliotheken und sonstigen Komponenten in genau die richtigen Versionen (alles so, wie sein Programm es braucht), in ein spezielles Paket.
    Verstehe ich das richtig, dass ich dann ggf. sogar doppelt die benötigten Komponenten habe? Beispiel, ich habe bereits libc6:i386 installiert und jetzt lade ich mir ein Flatpak herunter, welches zufälligerweise genau die gleiche Bibliothek benötigt und dabei hat – dann ist es doch eigentlich doppelt vorhanden oder merkt das Paket das dann?


    Zitat Zitat von foobar Beitrag anzeigen
    Wenn du kein Ubuntu-System hast, bist du mit Flatpak (oder AppImage) auf jeden Fall besser bedient. […] Ich persönlich würde aber immer zuerst mein Glück in der Paketverwaltung probieren.
    Genau, ich fand das mit der Paketverwaltung bis jetzt eigentlich immer sehr komfortabel. Btw., bin ich ja gerade sowieso in der "Distro-Hopping-Phase" welche Lookbehind mal angesprochen hat. Zuerst bei Ubuntu, dann war ich bei Fedora weil ich das neue GNOME 40 sehen wollte und jetzt bin ich erst mal bei Pop! OS gelandet
    Gamer 23 ist offline

  4. #4 Zitieren

    Metasyntaktische Variable
    Avatar von foobar
    Registriert seit
    Sep 2004
    Ort
    Direkt hinter dir! Buh!
    Beiträge
    24.011
    Zitat Zitat von Gamer 23 Beitrag anzeigen
    Das hört sich ja gut und beruhigend an. Gilt das dann für alle, sprich Flatpak, Snap und AppImage laufen alle in einer Sandbox?
    AppImage nutzt keine Sandbox. Siehe auch: https://linuxnews.de/2020/02/appimag...ekannte-wesen/

    Hat das auch einen bestimmten Hintergrund warum die Programme in Binärcode geliefert werden (ich hätte immer gedacht, dass das schon recht nah an der Maschinensprache ist)?
    Binärcode ist Maschinensprache. Zwischencode für virtuelle Maschinen (wie bspw. Java) nennt man zur Abgrenzung normalerweise Bytecode.

    Ich vermute, der Grund ist der, dass es für die Betreiber der Repos einfacher ist. Man muss keine Ressourcen aufwenden, um Programme zu kompilieren. Und bei AppImage gibt es ja auch gar kein Repo, das ist einfach nur ein Format, das normal heruntergeladen wird.

    Verstehe ich das richtig, dass ich dann ggf. sogar doppelt die benötigten Komponenten habe? Beispiel, ich habe bereits libc6:i386 installiert und jetzt lade ich mir ein Flatpak herunter, welches zufälligerweise genau die gleiche Bibliothek benötigt und dabei hat – dann ist es doch eigentlich doppelt vorhanden oder merkt das Paket das dann?
    AFAIK teilen Snaps sich ein gemeinsames Minimalsystem (das sogenannte Base Snap). Das enthält bereits einige Dinge wie die libc, Python oder OpenSSL. Aber wenn Programm A und B bspw. beide KDE brauchen, dann hast du die KDE-Libs zweimal auf dem System. Einmal im Snap A und einmal im Snap B.

    Flatpak arbeitet ähnlich, allerdings gibt es statt eines Base Snaps für alle sogenannte Runtimes, aus denen sich der Entwickler eine aussuchen kann, die seinen Wünschen am nächsten kommt. Eine Liste findet sich z.B. hier. Mehrere Runtimes können parallel installiert und von unterschiedlichen Flatpaks gemeinsam genutzt werden. Aber jedes Flatpak für sich kann immer nur auf einer Runtime basieren, alles andere muss der Entwickler selbst beisteuern. Wenn du also zwei Libs brauchst, von denen eine nur in der Runtime X ist und die andere in Runtime Y, dann musst du eine der beiden selber mitliefern.

    Letztlich ist das halt die Idee: Es soll ja gerade der Entwickler alles so zusammen packen, wie er meint, dass es perfekt zusammen spielt. Das Base Snap und die Runtimes sollen nur dafür sorgen, dass man nicht ganz bei Null und dem nackten Kernel anfangen muss.

    Ein wichtiger Unterschied, den ich zu erwähnen vergaß, weil er für Heimnutzer nicht so wichtig ist: Snaps werden immer systemweit installiert, Flatpaks können (i.d.R.) auch ohne Root-Rechte genutzt werden. Das ist halt cool für Leute, die auf vorkonfigurierten Systemen arbeiten, auf denen sie nur normale Nutzerrechte haben (Uni oder so).
    foobar ist gerade online Geändert von foobar (22.02.2022 um 22:48 Uhr)

  5. #5 Zitieren
    Veteran Avatar von Gamer 23
    Registriert seit
    Mar 2006
    Ort
    Khorinis
    Beiträge
    699
    Vielen Dank, dann weiß ich jetzt bestens darüber bescheid
    Ich werde mal gucken was ich in den Flat- bzw. Snaps so finde und probiere mal bisschen aus.


    Zitat Zitat von foobar Beitrag anzeigen
    Ein wichtiger Unterschied, den ich zu erwähnen vergaß, weil er für Heimnutzer nicht so wichtig ist: Snaps werden immer systemweit installiert, Flatpaks können (i.d.R.) auch ohne Root-Rechte genutzt werden. Das ist halt cool für Leute, die auf vorkonfigurierten Systemen arbeiten, auf denen sie nur normale Nutzerrechte haben (Uni oder so).
    Das ist auch gut zu wissen, danke für den Hinweis.
    Gamer 23 ist offline

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •