[[Vorlage(Baustelle, 31.8.2016, noisefloor march)]] [[Vorlage(Getestet, xenial)]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] [:sudo: Root-Rechte] }}} [[Inhaltsverzeichnis(1)]] [[Bild(snappy.png,72,align=left)]] Snappy Apps (Snap) sind ein Paketformat von Canonical, welches ursprünglich vor allem für den Einsatz im Server- bzw. Cloud-Umfeld gedacht war. In den Archiven sind alle benötigten Dateien und Abhängigkeiten, wie z.B. Binaries, Bibliotheken und Konfigurationsdateien, enthalten. Alle Dateien sind nach der Installation in einem einzigen Verzeichnis vorhanden. Entwickler können die Anwendungen teilweise oder komplett aktualisieren. Da eine neue Version in ein neues Verzeichnis installiert wird, werden keine Dateien überschrieben und die alte Programmversion bleibt komplett erhalten. So kann man bei Problemen auf einfache Art und Weise die vorherige Version verwenden (Rollback). Sofern ein Entwickler keine aktuelle Version seines Programms zur Verfügung stellt kann es vorkommen, dass veraltete und ggf. sicherheitsanfällige Programmteile installiert sind und verwendet werden. Neben Snap-Apps gibt es Frameworks, welche ebenfalls als '''.snap'''-Paket angeboten werden. Diese beinhalten Ressourcen die von anderen Anwendungen genutzt werden können. Für Frameworks gelten höhere Sicherheitsrichtlinien und können nur von Entwicklern hochgeladen werden, welche für Canonical arbeiten. Snappy ist ab Ubuntu 16.04 im System enthalten. snap ist eine Paketformat, welches maßgeblich von Canonical entwickelt wird. snap Pakete können dabei parallel und konfliktfrei zur "normalen" [:Paketverwaltung:] installiert und genutzt werden. Der grundlegende Unterschied zwischen snap-Paketen, songenannten "snaps" und den '''.deb''' Paketen ist, dass snaps alle benötigten Bibliotheken etc enthalten, es gibt keinerlei Abhängigkeiten mehr. Dafür kann es aber sein, dass man Bibliotheken mehrfach auf dem Rechner installiert hat, wenn mehrere snaps die gleiche Bibliothek mit an Bord haben. snaps ermöglichen es, dass mehrere Versionen des gleichen Programms gleichzeitig installiert sind. Gibt es z.B. Probleme mit einer neueren Version, dann kann man problemlos zu einer älteren zurück wechseln, da jede Version in einem eigenen, unabhängigen snap liegt. Die Grundlage, auf der alle snaps laufen, ist das "Core OS" im Falle von Ubuntu "ubuntu-core". Um die Verwaltung etc. der snaps kümmert sich der im Hintergrund laufende Dienst [http://snapcraft.io/docs/core/snapd snapd] {en}. snaps sind gegeneinander abgesichert, d.h. ein snap kann grundsätzlich nicht auf die Daten eines anderen snaps zugreifen. Außerdem unterliegen unter Ubuntu dies snaps der Überwachung durch [:AppArmor:]. snaps können aus dem zentralen Snap-Store von Canonical bezogen werden. Die Installation von lokal heruntergeladenen snaps ist aber auch möglich. = Installation = Ab Ubuntu 16.04 sind die für snap benötigten Pakete bereits vorinstalliert, können ansonsten aber auch nach installiert werden[1]: {{{#!vorlage Paketinstallation snapd snap-confine }}} [[Vorlage(Bildersammlung, right, 200 Terminal.jpg, "Snappy-Store" )]] = Bedienung = Über das Terminal [1] können die Befehle übergeben und ggf. Programmteile installiert [2] werden. Hierfür sind erweiterte Rechte [3] erforderlich. {{{#!vorlage Tabelle <-2 tablestyle="width: 75%;" rowclass="titel">Snappy +++ Parameter Beschreibung +++ snappy info Versioninformationen +++ snap find Anzeige der Inhalte aus dem Snappy-Store +++ snappy list Installierte Apps +++ snappy list -v Verfügbare Apps +++ snappy list -uv +++ snappy search webserver Suche im Store nach `webserver` +++ sudo snappy update Aktualisierungen durchführen +++ snappy versions Programmversionen anzeigen +++ sudo snappy rollback ubuntu-core Rollback auf eine ältere Version (reboot nötig) +++ snappy install Snap-Paket installieren +++ sudo snap remove NAME NAME deinstallieren +++ sudo snap install ubuntu-core +++ sudo snap refresh NAME Aktualisierung des Programms NAME }}} Um eigene Anwedungen sind entwickeln findet man unter [https://developer.ubuntu.com/en/snappy/guides/ ubuntu.com] {en} eine erste Anlaufstelle. = Benutzung = Der zentrale Kommandozeilenbefehl ist `snap`, die allgemeine Syntax lautet[3]: {{{#!vorlage Befehl snap BEFEHL [OPIONEN] }}} Je nach Befehl werden zusätzlich Root-Rechte[3] benötigt (z.B. zur Installation und Deinstallation von snaps). == snaps suchen == Mit dem Befehl {{{#!vorlage Befehl snap find SUCHBEGRIFF }}} werden alle im Snap-Store enthaltenen snaps, auf die der Suchbegriff `SUCHBEGRIFF` passt, angezeigt. Der Suchbegriff muss aus mindestens einem Buchstaben bestehen, dass Suchen z.B. mit nur `*` ist nicht möglich. == snaps installieren == == Channels === == snaps aktualisieren == Der Befehl `refresh` aktualisiert alle snaps: {{{#!vorlage Befehl sudo snap refresh }}} Man kann auch gezielt einzelne snaps aktualisieren. So würde {{{#!vorlage Befehl sudo snap refresh SNAPNAME }}} nur den snap `SNAPNAME` aktualisieren. == installierte snaps anzeigen == Der Befehl {{{#!vorlage Befehl snap list }}} listet alle installierten snaps auf. Dabei werden standardmäßig Name, Version, Revision, Entwicklet und Notizen des snaps angezeigt. == snaps deinstallieren == Zur Deinstallation dient der Befehl `remove`. mit {{{#! vorlage Befehl sudo snap remove SNAPNAME }}} würde der snap `SNAPNAME` entfernt. == Programme starten == Programme, die via `snap` installiert wurden, lassen sich normalerweise wie alle anderen Programme auch starten. Unter Ubuntu mit Unity tauschen diese z.B. in der Dash auf. Sollte dies nicht der Fall sein - was z.B. bei snaps passieren kann, die manuell lokal und nicht über das zentrale Snap-Store installiert wurden, dann kann man auch ins Verzeichnis '''/snap/bin'''/ wechseln und das Programm dann von dort manuell starten. [[Bild(how-it-works.png,200,align=right)]] = Links = * [ikhaya:2015/06/13/snappy-ubuntu-core:Snappy Ubuntu Core] * [ubuntu:snappy:Snappy] * [wikipedia_en:Snappy_(package_manager):Snappy] * [uappexplorer::][https://uappexplorer.com/apps?type=snappy uApp Explorer] * [launchpad:snappy:Snappy] * [github:ubuntu-core/snappy:Snappy] * [freenode:snappy:Snappy] * [youtube:lHO8j8uo5Z4:Snaps on classic Ubuntu Q&A with Olli Ries] * [http://snapcraft.io/docs/core/updates Transactional Updates] {en} - Erklärung, wie die Verwaltung der verschiedenen Versionen eines snaps funktioniert # tag: Snappy, Ubuntu, System, Paketverwaltung