Wie kann ich ein Snap-Paket aus einer lokalen Datei installieren

Wie kann ich ein Snap-Paket aus einer lokalen Datei installieren

Ich habe ein Einmalprogramm, das in Python geschrieben ist.

Kann Snapcraft es verpacken? Wie installiere ich das Paket lokal? Gibt es so etwas wie GDebi für Snaps?

Antwort1

Hier ist ein Beispiel für die lokale Installation eines Snaps aus dem Snap Store (Quelle).

Dies wird bei Ihnen jedoch nicht funktionieren. Im Folgenden erfahren Sie ausführlich, warum es nicht funktioniert und welche Methode Sie stattdessen verwenden müssen.

$ snap download hello-world
Fetching snap "hello-world"
Fetching assertions for "hello-world"

$ sudo snap ack hello-world_27.assert 

$ sudo snap install hello-world_27.snap
hello-world 6.3 from 'canonical' installed

$ snap list
Name                   Version                   Rev   Developer      Notes
<snip>
hello-world            6.3                       27    canonical      -
  • Für Snaps gibt es nichts Besseres als GDebi.
  • Da Sie den lokalen Snap bereits haben, überspringen Sie offensichtlich den ersten Schritt. Sie müssen ihn nicht herunterladen.
  • Da Sie den Snap erstellt haben, gibt es keine Assert-Datei, sodass Sie auch den zweiten Schritt überspringen können.
  • Da Snaps standardmäßig auf Signaturen setzen, Ihr Gerät jedoch nicht signiert ist, müssen Sie diesen Schutz im dritten Schritt mithilfe des --dangerousFlags deaktivieren.

Ihre Methode für einen lokal erstellten, unsignierten Snap ist also:

$ sudo snap install /path/to/my-snap.snap --dangerous

Antwort2

Kurz zusammengefasst:

wenn Sie die Datei heruntergeladen haben, beispielsweise abc.snapim aktuellen Ordner,

versuchen:

snap install ./abc.snap --dangerous

Erläuterung:

Snaps werden normalerweise mit dem privaten Schlüssel des Herausgebers signiert. Wenn das Paket signiert ist, bedeutet das lediglich, dass es von jemandem vorbereitet wurde, der einen privaten Schlüssel besitzt. Das bedeutet buchstäblich nichts anderes. Es bedeutet nicht, dass das Paket für Ihren Computer sicher ist. Es bedeutet nicht, dass das Paket das enthält, was es vorgibt zu enthalten. Es bedeutet lediglich, dass jemand es mit seinem privaten Schlüssel signiert hat.

Wenn Sie eine reine Datei haben .snap, die möglicherweise signiert ist, können Sie die Signaturüberprüfung mithilfe von überspringen --dangerous. Tatsächlich ist nichts gefährlicher, als einer beliebigen Person im Internet den Inhalt Ihres Computers anzuvertrauen.

Die im offiziellen Snap Store verfügbaren Pakete sind signiert, sodass im Ernstfall der Account ermittelt werden kann, von dem das Paket gepostet wurde. Dies kann gute Leute davon abhalten, schlechte Pakete zu posten. Es bedeutet jedoch nicht, dass die Pakete sicher sind. Schlechte Akteure wird es wahrscheinlich nicht abschrecken.

verwandte Informationen