Beiträge von kim88 im Thema „Ubuntu 24.04: Klassische und Snap-basierte Versionen“

    torius

    Die allererste Ubuntu Version die veröffentlicht wurde 4.10 war jetzt noch nicht das spannendste Produkt. Es war weitgehend 1:1 ein Debian mit anderem Namen und einem orangen Theme.

    Spannend war aber Lunchpad. Canonical hat eine eigene Plattform namens Lunchpad entwickelt auf der die komplette Entwicklung von Ubuntu stattfindet (bis heute).

    Auf Lunchpad kann der Code von Softwareprojekte wie z.b. Firefox, LibreOffice, etc 1:1 nach Lunchpad kopieren (Forken). Also die Ubuntu Entwickler können sagen LibreOffice in Version 7.4.5 wird nun geforkt dann wird der Code von dieser Version 1:1 ins Lunchpad kopiert.

    Im Lunchpad selbst kann man dann DEB Files generieren, die Pakete in ein Repository einpflegen als Update markieren usw.

    Auch nicht Canonical Mitarbeiter können Lunchpad nutzen - jeder kann einen Lunchpad Account erstellen (heute Ubuntu One Account) und an der Software mitarbeiten. Über einen eigenen Lunchpad Account kann man z.b. auch ein eigenes PPA erstellen.

    Noch spannender finde ich die "Rosetta" Version von Lunchgate. Damit kann jeder bei der Übersetzung von Software mithelfen. Ohne das er Programmieren können muss oder technisch verstehen muss wie die Übersetzungen funktionieren.

    Das ganze war super spannend umgesetzt. Wenn man ein neues Projekt in Lunchpad reinkopiert hat - z.b. Firefox. Wurden auch gerade die Übersetzungen reinkopiert.

    Dennoch wurden die Übersetzungen nochmal angepasst. Es ist oft so das unter Ubuntu gewisse Programme anders übersetzt sind als z.b. bei Fedora, ArchLinux etc.

    Das liegt daran, dass Ubuntu bereits übersetzte Anwendungen nochmal überprüft, und so eine gewisse Einheitlichkeit sicherstellt. So das der Menüpunkt "Einstellungen" bei allen Anwendungen "Einstellungen" heisst und nicht plötzlich irgendwo "Optionen" oder sowas steht.

    Jedenfalls war Lunchpad zu damaliger und auch heutiger Zeit ein cooles Stück Software - mit dem man den Release und die Pakete von Ubuntu zentral verwalten konnte.

    Dennoch gab es extrem viel Kritik - ähnlich wie heute bei Snapcraft. Lunchgate war Anfangs nicht OpenSource. Sowohl die Webschnittelle wie der Backendbereich waren ClosedSource.

    Die "Community" hat getobt und sagte sowas sollte man nicht nutzen, etc

    Irgendwann hat Canonical dann eingelenkt und über mehrere Jahren unzählig viele Arbeitsstunden und Aufwände dafür investiert den Plattformcode zu veröffentlichen.

    Ich weiss nicht wie gut du dich mit Software Entwicklung auskennst - aber du kannst in der Regel nicht einfach nur die Lizenz ändern und Code veröffentlichen.

    Du musst den Code nochmal Stück für Stück durchgehen. Falls du irgendwo API Keys, Zugangsdaten, etc im Code oder einem Code Kommentar hast muss das raus.

    Oft verwendet man auch Bibliotheken von Drittanbietern die dann mit einer offenen Lizenz nicht mehr kompatibel sind - dann muss man diese Module ersetzen und selbst neuprogramieren - usw.

    Jedenfalls wurde aber 2008 Stück für Stück einzelne Teile von Lunchpad unter einer offenen Lizenz veröffentlicht. Im Sommer 2009 war dann das komplette Lunchpad OpenSource.

    Tja und dann? Es gab kaum jemand der sich den Code angesehen hat. Es gab keine Forks, keine Reviews und auch keine aktive Mitarbeit durch die Community.

    Die Menschen die Canonical und Ubuntu kritisiert haben, haben dann halt einfach irgendwas anderes kritisiert.

    Die Erfahrung war damals ziemlich ernüchternd. Unmenge an Geld und Arbeitsstunden verbraten - eigentlich für nichts. Daher das "offen" Stellen vom Server Backend wird wenig Priorität haben.

    Die Leute die heute darüber reklamieren "Snap ist nicht offen" nutzen jetzt kein Snap und nur weil es offen wird werden sie ebenfalls nicht nutzen. Die kritisieren nachher irgendwas anderes "Snap Daemon läuft immer als root", etc.

    Das ist keine automatische Updates gibt, ist ja auch Teil des Sicherheitskonzeptes. Ich würde kein

    Betriebssystem haben wollen, dass sich automatisch updated! Es ist halt immer die Frage, womit

    man sich Vorteile die man gern hätte, erkaufen muss.

    Kommt am Ende darauf an wie die Updates organisiert sind. Das Problem bei Updates bei klassischen DEB oder RPM Paketen ist das es ein Rollback kaum möglich ist. Ausser du nutzt ein spezielles Dateisystem wie Btrfs - was die dann aber in der Dateisystem-Auswahl einschränkt.

    Oder du nutzt sowas wie Timeshift, das aber durch komplette "Clones" die angelegt werden Zeit und Ressourcenintensiv ist - und man manuell konfigurieren muss und mit den meisten Paketmanagern nicht direkt kompatibel ist - im Sinne von "sudo dnf update" (macht automatisch ein Timeshift Snapshot vorher).

    Snaps kannst du aber jederzeit problemlos auf vorherige Versionen zurückrollen. Snap selbst behält immer die letzten 3 Versionen auf der Platte (ist eine Standardeinstellung, kann man in der Config aber erhöhen oder kleiner machen) - somit kannst du einzelne Snap Pakete problemlos zurückrollen.

    Code
    sudo snap revert firefox

    installiert dir automatisch die vorherige Version von Firefox. Mit

    Code
    snap list firefox --all

    werden dir alle verfügbaren Snap Rollbacks angezeigt und du kannst direkt eines auswählen:

    Anhand der Revisionsnummer kannst du ein gezieltes Rollback auf eine gewünschte Version machen (In meiner VM ist Snap so konfiguriert das nur eine vorheriger Version statt drei zwischengespeichert wird).

    Code
    sudo snap revert firefox --revision 1540

    Daher mit dieser Rollback Funktion sind automatische Updates eigentlich kein Problem. Sollte da mal was schiefgehen kann man ja einfach zurückrollen.

    An alle: Kann mir hier vielleicht einmal jemand verraten, was denn nun an immutable so toll

    sein soll ? Prinzipiell ist es mir doch als Linux-Nutzer wichtig, dass ich prinzipiell mein

    Betriebssystem so umgestalten kann, wie ich dies möchte. Nehme ich aus dem Betriebssystem

    Flexibilität heraus, dann nehme ich mir doch auch einen Teil dieser Gestaltungsfreiheit

    (oder habe ich hier etwas ganz Grundsätzliches nicht verstanden) ?

    Es gibt die unterschiedlichsten Gründe Linux zu verwenden. Und es gibt sicher ein Anwender-Teil die sich viel aus Anpassung und Customisierung machen. Es gibt aber auch ein sehr sehr grosser Teil an Menschen denen ist sowas völlig egal.

    Ich denke ab dem Zeitpunkt wo Linux in beruflichem Umfeld eingesetzt wird - spielt Anpassbarkeit absolut keine Rolle mehr. Bei uns im Büro ändern unsere Mitarbeiter nicht mal das Hintergrundbild ihres Windows Rechners (Mein Mac hat übrigens auch das Default Hintergrundbild und keine Anpassungen).

    Sind halt Arbeitsgeräte, man kommt am Morgen stellt die Dinger an, öffnet seine Programme arbeitet damit und stellt sie dann irgendwann wieder aus.

    Und gerade in diesem Umfeld ist Anpassbarkeit von irgendwelchen Ordner-Icons oder zusätzlichen Leisten oder Themes einfach nicht relevant.

    Und wenn man bedenkt welche 3 grossen Player an "Immutable Distributionen" arbeiten macht das ganze wieder Sinn. Es sind Red Hat (bei Fedora), Suse mit MicroOS und Ubuntu mit CoreOS (bzw einer bald vollwertigen Distribution). Das heisst im Bereich "Immutable" sind die Distributionen aktiv die ihr Produkt im "professionellen/beruflichen" Umfeld vermarkten und verkaufen - und dort macht das definitiv Sinn.

    Dass der "Bastler" der sein Linux bis in die kleinste Stufe anpassen, konfigurieren und verändern will damit wenig anfangen kann ist klar. Die Person legt in der Regel aber auch nicht viel Wert auf Gnome (was bei Fedora (Red Hat), Suse und Ubuntu aber der absolute Kern Desktop ist und auch die weitreichendsten "Immutable" Tests gemacht werden.

    Aber aus diesem Grund gibt es ja verschiedene Distributionen. Wenn das nichts für dich ist - ist das voll okay und es wird sicher auch in Zukunft noch Distributionen geben die nicht ummutable sind.

    Zu den Vorteilen ansich:

    Mit Immutable hast du halt eine saubere Trennung zwischen "System" und "Apps". Ähnlich wie auf Smartphones - wo du keinen Zugriff auf Systemdateien oder sowas hast. Android und iPhoneOS aktualisieren sich ja auch unabhängig von den Apps.

    Die Apps laufen auf einer eigenen Ebene - bei Fedora/ RedHat als Flatpak bei Ubuntu als Snaps. Hat halt den Vorteil das du in Firmenumgebungen das Grundsystem einmal einrichten kannst (mit Mounting von Netzlaufwerken, etc) - Du dem User kein Admin Passwort geben musst. Er aber dennoch Software "frei" aus dem App Store installieren kann ohne das irgendwas am System kaputt gehen kann.

    Das führt am Ende zu geringerer interner IT-Komplexität, weniger Ausfällen (z.b. bei fehlgeschlagenem Update da man nicht das Problem sofort lösen muss, sondern einfach zurückrollen und der Mitarbeiter dann direkt weiterarbeiten kann). Das ganze fördert wiederum die Effizienz in der Arbeitsleistung was immer was gutes ist.

    Durch saubere Trennung von "System und User Ebene" und dem erzwungenen Sandboxing von Apps hast du auch eine höhere Sicherheit, vor z.b. Verschlüsselungstrojaner, etc.

    Selbst wenn der Mitarbeiter in einer E-Mail auf einen komischen Link klickt - ist am Ende am schlimmsten Fall der Browser am Arsch (den man zurückrollen kann). Da der Browser Dank der Sandbox aber keinen Zugriff auf irgendwelche Dateien im Dateisystem oder Netzlaufwerken hat konnte keinen Schaden wie z.b. Verschlüsselung, etc angerichtet werden.

    Der Snap Store basiert auf poprietäre Software.

    Jein der allergrösste Teil von Snap ist freie Software. Das betrifft den "Snap Store" (damit meine ich die Software Snap Store wo man seine Snaps suchen, installieren und verwalten kann).

    Das Snap-Paketsystem an sich ist ebenfalls komplett offen.

    Snapcraft (die Software zum erstellen von Snap-Paketen) ist ebenfalls GPL.

    Snapd der Daemon auf deinem Gerät, dass die Snaps herunterlädt, zurückrollen, aktualisiert, etc ist ebenfalls OpenSource.

    Das einzige was nicht OpenSource ist, ist der Snap Server. also der Server von wo aus die Pakete heruntergeladen werden. Ich verstehe auch das das bei Canonical eine extrem tiefe Priorität hat. Ich denke Canonical will verhindern das damit das Lunchpad Desaster von 2008/2009 wiederholt wird.