Snap

Aus ArtisanCommerce Dokumentation
Version vom 27. März 2026, 00:05 Uhr von Admin (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „ == Was ist Snap? (Paketverwaltung & Container-System) == '''Snap''' ist ein von Canonical (den Machern von Ubuntu) entwickeltes System zur Softwareverteilung und Paketverwaltung. Es unterscheidet sich grundlegend von klassischen Formaten wie `.deb` oder `.rpm`. === 1. Kernkonzept: "Everything is Included" === Im Gegensatz zu klassischen Paketen, die Abhängigkeiten vom restlichen System teilen, bringt ein Snap-Paket fast alles mit, was es zum Laufen…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Was ist Snap? (Paketverwaltung & Container-System)

Snap ist ein von Canonical (den Machern von Ubuntu) entwickeltes System zur Softwareverteilung und Paketverwaltung. Es unterscheidet sich grundlegend von klassischen Formaten wie `.deb` oder `.rpm`.

1. Kernkonzept: "Everything is Included"

Im Gegensatz zu klassischen Paketen, die Abhängigkeiten vom restlichen System teilen, bringt ein Snap-Paket fast alles mit, was es zum Laufen braucht (Libraries, Python-Interpreter, etc.).

  • Vorteil: Eine App läuft auf Ubuntu 18.04 genauso wie auf Fedora oder Arch, ohne "Dependency Hell".
  • Nachteil: Die Pakete sind deutlich größer (Disk Space).

2. Die Architektur: SquashFS & Mount-Points

Das ist der technische Grund, warum Snap nach einem Timeshift-Restore oft bricht:

  • Ein Snap ist kein loser Ordner voller Dateien, sondern ein komprimiertes Read-Only Dateisystem (SquashFS).
  • Wenn du eine App startest, "mountet" (einhängen) Linux dieses File als virtuelles Laufwerk unter `/snap/`.
  • Die Basis-Umgebung (z.B. `core22`) ist das Fundament, auf dem die Apps aufbauen.

3. Sicherheit durch Sandboxing

Snaps laufen isoliert vom Rest des Systems. Sie nutzen Mechanismen wie:

  • AppArmor: Verhindert, dass eine App auf Dateien zugreift, die sie nichts angehen (z.B. dein Browser liest dein SSH-Key Verzeichnis).
  • Seccomp: Schränkt die Systemaufrufe ein, die eine App machen darf.

4. Die Rollback-Funktion

Snap behält standardmäßig die letzten zwei Versionen einer App auf der Platte. Wenn ein Update fehlschlägt, kann man sofort zurückspringen:

sudo snap revert [app-name]

Warum snapd nach Backups oft "streikt"

Da Snaps als virtuelle Laufwerke in das System eingehängt sind, speichert der Linux-Kernel Mount-Informationen in Echtzeit. Ein Backup-Tool wie Timeshift sichert oft die Dateien, aber nicht den Zustand der Mount-Punkte oder die spezifischen Sicherheits-Labels (AppArmor). Nach einem Restore versucht der Snap-Daemon (`snapd`), ein Laufwerk zu finden, das technisch nicht mehr "da" ist – es entsteht ein "Ghost Mount".