ubuntuusers.de

snap/flatpak vs. apt?

Status: Ungelöst | Ubuntu-Version: Ubuntu 17.10 (Artful Aardvark)
Antworten |

Cruiz Team-Icon

Avatar von Cruiz

Anmeldungsdatum:
6. März 2014

Beiträge: 5557

Wohnort: Freiburg i. Brsg.

eider schrieb:

Ich gehe von der Sachlage und vorliegenden Informationen aus. Diskussionen auf der Grundlagen von "Glauben" und Spekulativem finde ich nicht spannend.

Spekulationen sind das ab sofort nicht mehr: https://www.pro-linux.de/news/1/25354/ubuntu-1804-lts-soll-gnome-apps-als-snaps-bringen.html

Canonical drückt bei Snaps ganz schön aufs Tempo. KDE neon zieht nun mit und auch Solus arbeitet in diese Richtung. Eventuell kann sich hier die Canonical-Lösung tatsächlich gegen das RedHat-Projekt behaupten. Letztlich kommt es darauf an wer sich zuerst am Markt etabliert.

eider

Anmeldungsdatum:
5. Dezember 2009

Beiträge: 6274

Heißt für mich, dass ich mich ab Mai 2018 damit je nach dann aktueller Sachlage beschäftige. Besonders Ankündigungen im IT-Bereich sind für mich erst einmal gar nichts. Aber interessant ist das Thema grundsätzlich. Mal gucken.

k1l

Avatar von k1l

Anmeldungsdatum:
22. September 2006

Beiträge: 1253

Wohnort: Köln

tomtomtom schrieb:

k1l schrieb:

Global betrachtet muss also ein Entwickler von einem Programm (nicht lib) für die 2-5% Marketshare von Linux die 3-10fache Arbeit machen, damit sein Programm auf dem jeweiligen Linux läuft.

Eigentlich kann dem Entwickler das relativ am Gesäß vorbeigehen, denn das ist die Arbeit der Maintainer. Der Entwickler sollte an der Upstream-Software arbeiten.

In einer perfekten Welt sicherlich. Aber in der Realität haben wir verwaiste Pakete und Projekte wie Nextcloud, die von vorne herein beim Wechsel von Owncloud zu Nextcloud angesagt haben, dass sie keine Repos mehr für die verschiedenen Distris und dort noch verschiedene Releases machen sondern auf snap setzen.

Als Enduser sollte man es weniger sehen, dass einem apt "weggenommen" wird, sondern das einem mit snap (oder flatpak) ein besserer Programm-Support angeboten wird.
Denn die PPA und 3rd Party Hölle, wie sie aktuell stattfindet, kann ja nicht wirklich die Lösung sein.

Developer92 Team-Icon

Avatar von Developer92

Anmeldungsdatum:
31. Dezember 2008

Beiträge: 4101

k1l schrieb:

Aber in der Realität haben wir verwaiste Pakete und Projekte wie Nextcloud, die von vorne herein beim Wechsel von Owncloud zu Nextcloud angesagt haben, dass sie keine Repos mehr für die verschiedenen Distris und dort noch verschiedene Releases machen sondern auf snap setzen.

Das war sowieso schon immer Job der Paketmaintainer. Insofern ändert sich hier nichts.

k1l

Avatar von k1l

Anmeldungsdatum:
22. September 2006

Beiträge: 1253

Wohnort: Köln

Developer92 schrieb:

Das war sowieso schon immer Job der Paketmaintainer. Insofern ändert sich hier nichts.

Ich verstehe absolut nicht, warum hier so getan wird als würden Horden von Paketmaintainern in der Schlange stehen und nur darauf warten endlich was zu tun zu bekommen … m(

Developer92 Team-Icon

Avatar von Developer92

Anmeldungsdatum:
31. Dezember 2008

Beiträge: 4101

k1l schrieb:

Ich verstehe absolut nicht, warum hier so getan wird als würden Horden von Paketmaintainern in der Schlange stehen und nur darauf warten endlich was zu tun zu bekommen … m(

Abgesehen davon, dass das niemand behauptet hat: Software zu entwickeln, und aus der Software Pakete zu schnüren, sind zwei verschiedene Dinge. Es ergibt wenig Sinn für jede Software ein PPA aufzusetzen. Wesentlich praktischer ist es, wenn man dafür einen Paketmantainer hat, welcher in der Regel mehr als ein Paket betreut, sich mit der Distribution für die er Pakete schnürt auskennt und auch als Ansprechpartner dienen kann. Wieso sollte das jemand übernehmen, der von der Distribution evtl. überhaupt keine Ahnung hat?

Cruiz Team-Icon

Avatar von Cruiz

Anmeldungsdatum:
6. März 2014

Beiträge: 5557

Wohnort: Freiburg i. Brsg.

Die Idee war ja auch mal ganz gut - bevor es hunderte Distributionen gab. Selbst wenn man die ganzen Nischenprojekte ausklammert gibt es bestimmt 10 ernstzunehmende Linux-Distributionen. D.h. die selbe Arbeit wird mindestens 10 mal gemacht und faktisch noch häufiger weil jede dieser Distributionen unterschiedliche Versionen gleichzeitig pflegt. Man muss schon ganz schöne Linux-Scheuklappen aufhaben um hier nicht die unfassbare Verschwendung von Arbeitszeit zu sehen.

Das ist ja der Vorteil von Flatpak/Snap. Ein Paket wird ein einziges Mal geschnürt und lässt sich dann auf allen Versionen (vermutlich in einer gewissen Spannbreite) aller Distributionen (die Snaps oder Flatpaks unterstützen) installieren.

tomtomtom Team-Icon

Supporter
Avatar von tomtomtom

Anmeldungsdatum:
22. August 2008

Beiträge: 55207

Wohnort: Berlin

Cruiz schrieb:

Man muss schon ganz schöne Linux-Scheuklappen aufhaben um hier nicht die unfassbare Verschwendung von Arbeitszeit zu sehen.

Dem Argument nach dürfte es auch nur eine einzige Linux-Distribution geben, denn alles andere wäre ja auch unglaubliche Verschwendung von Arbeitszeit...

Das ist ja der Vorteil von Flatpak/Snap. Ein Paket wird ein einziges Mal geschnürt und lässt sich dann auf allen Versionen (vermutlich in einer gewissen Spannbreite) aller Distributionen (die Snaps oder Flatpaks unterstützen) installieren.

Alle, die sich länger mit verschiedenen Linux-Distributionen befasst haben, können dir hundertfach von schlecht gewarteter Fremdsoftware erzählen. Mir Flat/Snap ist dann nicht mehr nur die Software an sich, sondern alles, was für deren Betrieb benötigt wird, ebenso schlecht gewartet.

Das ist ja gerade einer der größten Nachteile von Flatpak/Snap.

p53

Anmeldungsdatum:
12. August 2017

Beiträge: 20

Cruiz schrieb:

Die Idee war ja auch mal ganz gut - bevor es hunderte Distributionen gab. Selbst wenn man die ganzen Nischenprojekte ausklammert gibt es bestimmt 10 ernstzunehmende Linux-Distributionen. D.h. die selbe Arbeit wird mindestens 10 mal gemacht und faktisch noch häufiger weil jede dieser Distributionen unterschiedliche Versionen gleichzeitig pflegt. Man muss schon ganz schöne Linux-Scheuklappen aufhaben um hier nicht die unfassbare Verschwendung von Arbeitszeit zu sehen.

Das ist ja der Vorteil von Flatpak/Snap. Ein Paket wird ein einziges Mal geschnürt und lässt sich dann auf allen Versionen (vermutlich in einer gewissen Spannbreite) aller Distributionen (die Snaps oder Flatpaks unterstützen) installieren.

Das ist wahrlich eine schiere Verschwendung von Ressourcen, wenn jede Distribution erneut sämtliche Software verpackt. Trotz der Gefahr, dass ich mich unbeliebt mache, möchte ich meinen, eine der Ursachen dieses Paketiererei-Wahnsinns liegt in der Art und Weise, wie Software auf Linux-Systemen gegenwärtig gehandhabt wird. Obwohl überall aufgrund des gleichen Kernels (Linux) sowie Binärformates (ELF) vollständige Binärkompatibilität vorliegt, d h ein Programm kann ohne irgendwelche Anpassungen / Emulationen auf ALLEN Linux-Distributionen laufen, lassen sich dennoch die Programme nicht distributionsübergreifend verteilen, insbesondere bedingt durch die völlig veraltete Verzeichnisstruktur, wo jede Art von Software – bspw Anwendungen, Bibliotheken, sogar Themen – wie eine Schleimspur über zig viele Ordner verteilt wird, bildhaft „alles in einen Topf gebatzt“. Natürlich darf man das nicht sagen, da diese Unix-Verzeichnisstruktur als "heilig" und "der Standard schlechthin" gilt. Der Witz ist aber, würde man die zu einer bestimmten Software gehörenden Teile nicht über das gesamte System zerfetzen, ließen sich beispielsweise Anwendungen („Apps“) ähnlich wie bei macOS als eine einzige Datei bzw inform eines Ordners ausliefern, UNABHÄNGIG von der bestehenden Verzeichnisstruktur. Damit die Anwendungen nicht zu fett werden, sondern zumindest die Bibliotheken geteilt, würden hier einheitliche Standards beim Versionieren Abhilfe schaffen, die es eigentlich auch gibt, jedoch werden nur selten mehrere Bibliotheksversionen nebeneinander geduldet, sodass stets alle abhängigen Pakete angepasst werde müssen bzw sich die Entwickler nicht darauf verlassen können, dass die Abhängigkeiten immer erfüllbar sind, und sie auch keine Möglichkeit besitzen, selbst distributionsübergreifend die Abhängigkeiten bereitzustellen. Das ganze ist also ein durch und durch hausgemachtes Problem und hat mit Linux an sich eigentlich gar nichts zu tun. Dass Linux locker marktführend sein kann, beweist bestens Android.

–-

Nachdem ich mit großer Erwartung flatpak installiert und getestet habe, ließ die Ernüchterung nicht lange auf sich warten: Die Anwendungen sehen meist richtig fremdartig aus (Fenster, Schaltflächen). Man muss zudem irgendeine komische – ziemlich fette – Laufzeitumgebung installieren, welche auch nur einen begrenzten Stock an Abhängigkeiten bieten. Das gemeinsame Teilen von Abhängigkeiten klingt also wieder nur in der Theorie gut, scheitert praktisch an dem Umstand, dass man hier als Entwickler ebenfalls von irgendwelchen Maintainern abhängt, nur diesmal keiner Distribution, sondern einer Laufzeitumgebung. Kein Unternehmen wird dieses System ernsthaft nutzen wollen, um für Linux seine Produkte anzubieten.

Ich sehe jetzt auch keinen wirklichen Sinn in Flatpak, wenn nicht das Bestrebnis darin bestand, ein einfaches distributionsübergreifendes Paketformat zu entwickeln, welches VOR ALLEM für KOMMERZIELLE Software eine echte Lösung darstellt.

Flatpak ist mal wieder so ein typisches GNU-Ding, wo Ideologen ausschließlich mit Tunnelblick auf "freie Software" am Werk waren. Das bringt Linux in keiner Weise weiter.

Flatpak und Snappy stellen eigentlich ohnehin überflüssige Entwicklungen dar, denn mit AppImage liegt ein simples Format vor, über welches ergänzende Anwendungen ausnahmslos FÜR ALLE Distributionen bereitgestellt werden können. Einfacher kann ein Format nicht sein, denn die Programme müssen nur runtergeladen, mit Rechtsklick ausführbar gemacht und können sofort ohne Installation gestartet werden. DAS WARS! Und gerade für die Endanwender, welche aus der Windows-Welt kommend auch nichts anderes kennen – nur eben mit einer anderen Dateiendung (EXE), wäre dies eine ausreichende Lösung. Die Paranoiden können solche AppImage-Anwendungen natürlich auch in einer Sandbox starten. Der Kernel bringt hierfür von Haus aus gewisse Funktionen mit. Somit ist Flatpak tatsächlich mehr als unnötig kompliziert, und bereits von Anfang an überholt gewesen.

tomtomtom schrieb:

Alle, die sich länger mit verschiedenen Linux-Distributionen befasst haben, können dir hundertfach von schlecht gewarteter Fremdsoftware erzählen. Mir Flat/Snap ist dann nicht mehr nur die Software an sich, sondern alles, was für deren Betrieb benötigt wird, ebenso schlecht gewartet.

Ich hab mich länger mit verschiedenen Linux-Distributionen befasst, und sehe wirklich keine produktiv einsetzbare Distribution, welche hier etwas grundlegend neues oder anderes macht. Die eine Distro ist auf "Beständigkeit" aus, die andere auf "stets das Neuste", aber im großen und ganzes installiert man immer die gleiche Software, nur halt mal etwas älter oder aktueller. Aus Sicht von Otto Normalbürger kein wirklicher Unterschied, außer in der Handhabung (in Arch über die Konsole mit komischem Buchstabensalat; in Ubuntu durch Rumklicken im schicken Softwarecenter). Eigentlich völlig hirnrissige, warum hier zig Distributionsformate bestehen: APT, RPM, Pacman, Portage, GUIX fallen mir spontan an; und jedes mit seinen unzähligen eigenen Repositorien.

Bearbeitet von Developer92:

Zitat gefixt

tomtomtom Team-Icon

Supporter
Avatar von tomtomtom

Anmeldungsdatum:
22. August 2008

Beiträge: 55207

Wohnort: Berlin

p53 schrieb:

Obwohl überall aufgrund des gleichen Kernels (Linux) sowie Binärformates (ELF) vollständige Binärkompatibilität vorliegt, d h ein Programm kann ohne irgendwelche Anpassungen / Emulationen auf ALLEN Linux-Distributionen laufen

Das ist eben gerade NICHT der Fall, eben gerade wegen den verschiedenen Versionen...

k1l

Avatar von k1l

Anmeldungsdatum:
22. September 2006

Beiträge: 1253

Wohnort: Köln

p53 schrieb:

Das gemeinsame Teilen von Abhängigkeiten klingt also wieder nur in der Theorie gut, scheitert praktisch an dem Umstand, dass man hier als Entwickler ebenfalls von irgendwelchen Maintainern abhängt, nur diesmal keiner Distribution, sondern einer Laufzeitumgebung.

Das ist ja eben der technische Haupt-Unterschied zwischen flatpak und snappy, wird nur aufgrund der ideologisch und politischen Stimmung gegen Canonical gar nicht richtig mit einbezogen in der Diskussion. Flatpak ist zwar nur die halbe "Abhängigkeitshölle" aber immer noch eine Abhängigkeitshölle. Das hat auch Canonical selber schon ausprobiert; der Vorgänger von snap war nämlich das Click Paketformat. Dieses wurde bereits bei ubuntu-touch eingesetzt. Dort hat man dann gemerkt, dass dieses Setup nur eine halbgare Lösung ist. Deswegen wurde dann auf snap gewechselt.

WilhelmHH

Avatar von WilhelmHH

Anmeldungsdatum:
29. März 2005

Beiträge: 706

Wohnort: Hamburg

p53 schrieb:

Eigentlich völlig hirnrissige, warum hier zig Distributionsformate bestehen: APT, RPM, Pacman, Portage, GUIX fallen mir spontan an; und jedes mit seinen unzähligen eigenen Repositorien.

https://de.wikipedia.org/wiki/GNU_Guix musste ich ergoogeln.

p53 schrieb:

Der Witz ist aber, würde man die zu einer bestimmten Software gehörenden Teile nicht über das gesamte System zerfetzen, ließen sich beispielsweise Anwendungen („Apps“) ähnlich wie bei macOS als eine einzige Datei bzw inform eines Ordners ausliefern, UNABHÄNGIG von der bestehenden Verzeichnisstruktur.

Schon vor Jahren fiel GOBOLinux auf:

http://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2015/01/Evolutionaer

luge86

Anmeldungsdatum:
26. Januar 2012

Beiträge: 201

@ p53:

Danke, du sprichst mir aus der Seele!

Planspiel

Anmeldungsdatum:
2. Mai 2016

Beiträge: 673

Wohnort: Spielplan

Von wegen Snaps bringen alle Abhängigkeiten mit. Als ich letztens der/die/das Glade-Snap ausprobieren wollte, lies sich Glade nicht über die GUI starten. Im Terminal kam dann folgende Meldung:

You need to connect this snap to the gnome platform snap.

You can do this with those commands:
snap install gnome-3-26-1604
snap connect glade:gnome-3-26-1604 gnome-3-26-1604

(the '3-26-1604' number defines the platform version and might change)

Was auch nervig ist, dass alte Versionen auf dem System bleiben. Die kann man sich zwar mit

snap list --all

anzeigen lassen und mit

snap remove --revision=''xy'' ''snap_z''

löschen, aber anwenderfreundlich ist das nicht. Man könnte fast meinen Canonical möchte, damit der 'Müll' nicht mehr so auffällt, Snaps bzw. das Loop-Device aus der Anzeigen von gnome-disks verbannen https://bugzilla.gnome.org/show_bug.cgi?id=790279.

tomtomtom Team-Icon

Supporter
Avatar von tomtomtom

Anmeldungsdatum:
22. August 2008

Beiträge: 55207

Wohnort: Berlin

Planspiel schrieb:

Von wegen Snaps bringen alle Abhängigkeiten mit. Als ich letztens der/die/das Glade-Snap ausprobieren wollte, lies sich Glade nicht über die GUI starten. Im Terminal kam dann folgende Meldung:

You need to connect this snap to the gnome platform snap.

You can do this with those commands:
snap install gnome-3-26-1604
snap connect glade:gnome-3-26-1604 gnome-3-26-1604

(the '3-26-1604' number defines the platform version and might change)

Hatten wir schon, das einige Snaps andere Snaps als Abhängigkeiten benötigen. 😉

Man könnte fast meinen Canonical möchte, damit der 'Müll' nicht mehr so auffällt, Snaps bzw. das Loop-Device aus der Anzeigen von gnome-disks verbannen https://bugzilla.gnome.org/show_bug.cgi?id=790279.

Ach, nur weil der Bug von einem Canonical-Mitarbeiter eingereicht wurde? 😀

Es gibt auch User, die das nicht haben wollen, obwohl das nunmal die ureigene Funktion von Gnome-Disk ist, das anzuzeigen, siehe https://forum.ubuntuusers.de/topic/snap-dateien-als-laufwerke/.

Danke für den Link, ich werd das gleich mal dahin weiterleiten. 🦆