{{{#!vorlage Hinweis Dieses Howto wurde von [user:noisefloor:] erstellt. Bei Problemen mit der Anleitung melde dies bitte in der dazugehörigen Diskussion und wende dich gegebenenfalls zusätzlich an den/die Verfasser des Howtos. }}} [[Vorlage(Getestet, jammy)]] {{{#!vorlage Wissen [:snap: Umgang mit snap Paketen] [:Terminal: Ein Terminal öffnen] [:mit Root-Rechten arbeiten:] }}} [[Inhaltsverzeichnis()]] =Problembeschreibung= Ein Programm, welches als [:snap:][1] bereitgestellt wird, kann ausprobiert werden, ohne dass das snap Paket komplett installiert werden muss. Das Vorgehen wird im folgenden beschrieben. Im Vergleich zu einer normalen Installation eines snaps über `snap install` unterscheidet sich dieses Verfahren in vier Punkten: 1. Es werden keine Konfigurationsdateien im Homeverzeichnis des Nutzers unter '''~/.config''' angelegt - es werden aber trotzdem Dateien unter '''~/snap''' für das snap angelegt, das man testet. 1. Das snap wird bei einem `snap refresh` nicht aktualisiert. 1. Man könnte Dateien, die zum snap gehören, zur Laufzeit des snaps editieren und diese Änderung würden beim Start des Programms berücksichtigt. Was sich aber nicht ändern lässt ist das [:snap/#Confinements-Abschottung-von-Snaps:Confinement] sowie die [:snap/#Schnittstellen-Interfaces-Slots-und-Plugs:Connections] eines snaps. 1. Wenn man das Programm über die Kommandozeile startet, erhält man dort gegebenenfalls die Ausgaben des Programms wie Fehler- oder Warnmeldung. Dies kann bei der Fehlersuche hilfreich sein, wenn ein über ein snap installiertes Programm Probleme machen sollte. {{{#!vorlage Hinweis Diese Verfahren ist dazu gedacht, Programme auszuprobieren, die noch nicht regulär installiert sind. Möchte man zwei verschiedene Versionen eines snap parallel nutzen, ist das Vorgehen in [:Howto/snaps_parallel_installieren_und_nutzen:] beschrieben. }}} = Anleitung= Im folgenden wird das [https://snapcraft.io/inkscape Inkscape snap] {en} für das Vektorzeichenprogramm [:Inkscape:] als Beispiel genutzt. Die snap Version ist 10512. Für andere snaps sind natürlich Name und Versionsnummer entsprechend anzupassen. Außerdem wird davon ausgegangen, dass man sich im eigenen Homeverzeichnis befindet. == Herunterladen und testweise einbinden == Zuerst lädt man das snap herunter, ohne es zu installieren[2]: {{{#!vorlage Befehl snap download inkscape }}} Dabei werden zwei Dateien heruntergeladen: das snap an sich namens '''inkscape_10512.snap''' und die [https://snapcraft.io/docs/assertions Assertion-Datei] {en} (Verifizierungsdatei) '''inkscape_10512.assert''', welche die kryptographischen Schlüssel und Validierungsdaten enthält, die bei einer Installation des snaps geprüft würden. '''10512''' ist hierbei die Versionsnummer zur Zeit des Downloads aktuelle, stabilen snaps. Der Befehl `download` kennt auch ein Option für [:snap/#Snaps-aus-anderen-Tracks-und-Channels-installieren:Channels], d.h. man kann auch eine Beta- oder Testversion herunterladen - je nach dem was für das jeweilige snap bereit gestellt wird. snaps in ein [wikipedia:SquashFS] Dateisystem verpackt, welches zuerst in ein Verzeichnis entpackt werden muss. Das notwendige Programm '''unsquashfs''' ist bei Ubuntu standardmäßig installiert: {{{#!vorlage Befehl unsquashfs inkscape_10512.snap }}} Im Verzeichnis ist jetzt ein neues Unterverzeichnis namens '''squashfs-root''' angelegt worden, welches das entpackte snap enthält. Bei Interesse kann man durch das Verzeichnis und dessen Unterverzeichnisse navigieren, um zu sehen, wo welche Dateien liegen. Zum Ausprobieren von Inkscape muss man den folgenden Befehl ausführen[2][3]: {{{#!vorlage Befehl sudo snap try squashfs-root }}} Auch, wenn man sich im eigenen Homeverzeichnis befindet, sind Root-Rechte notwendig. Anschließend kann Inkscape regulär im Terminal oder die GNOME-Shell gestartet werden. Das testweise laufende snap erscheint jetzt auch in der Liste des installierten snaps, auch wenn es nicht "richtig" installiert ist: {{{#!vorlage Befehl snap list }}} {{{ Name Version Revision Tracking Herausgeber Hinweise ... inkscape 1.2.2-b0a8486541-2022-12-01-cust x1 - - try ... }}} Die Revisionsnummer für snap zum Ausprobieren ist `x1` und in der Spalte ''"Hinweis"'' ist zu sehen, dass das Inkscape snap im "try" Modus ist. Ein so eingebundenes snap wird auch bei einem Systemneustart wieder eingebunden, wie andere, regulär installierte snaps auch. Das deaktivieren / deinstallieren wird im folgenden Abschnitt beschrieben. == snap wieder entfernen == Das testweise installierte snap kann wie ein reguläres snap deinstalliert werden: {{{#!vorlage Befehl snap remove inkscape }}} Danach kann man das Verzeichnis '''~/squashfs-root''' und das Verzeichnis inklusive Unterverzeichnissen '''~/snap/inkscape''' löschen. Des Weiteren kann man die heruntergeladenen Dateien '''inkscape_10512.snap''' und '''inkscape_10512.assert''' löschen. == Was tun, wenn versehentlich auch ein produktiv genutztes snap ausprobiert wurde? == Hat man - versehentlich oder bewusst - ein snap testweise installiert, welches in einer anderen Version schon regulär installiert war (z.B. das Firefox snap), dann wird regulär installierte gegebenenfalls durch das testweise installierte ersetzt. Dies lässt sich aber einfach rückgängig machen, im folgenden am Beispiel des Firefox snaps gezeigt: Zuerst prüft man, ob noch eine reguläre Version des snap installiert ist. Dies sollte normalerweise der Fall sein, da immer mindestens eine ältere Version eines snap noch vorhanden ist: {{{#!vorlage Befehl snap list firefox --all }}} {{{ ... firefox 107.0.1-1 2154 latest/stable mozilla✓ deaktiviert,try firefox 108.0b9-1 x1 latest/stable - try ... }}} Wie in der Ausgabe zu sehen ist, gibt es die testweise installierte Version `x1` und eine weitere, reguläre Version `2154` auf dem System. Im nächsten Schritt kehrt man zur regulären Version zurück und löscht das snap der Testversion: {{{#!vorlage Befehl sudo snap revert firefox sudo snap remove firefox --revision=x1 }}} Für das vollständige Entfernen des testweise installierten Version löscht man noch die Dateien wie unter [#snap-wieder-entfernen snap wieder entfernen] beschrieben. = Links = * [https://snapcraft.io/docs/snap-try snap try] {en} Dokumentation ##tag: Howto, System, snap