Hallo alle.
Ich hatte schon lange vor, ein paar Artikel zum Thema Bau von autarken Snap-Paketen zu schreiben.
Wenn es jemand nicht weiß, dann ist die Snapcraft -Technologie ein Paketaufbau ähnlich wie .deb * oder .rpm . Aber mit einem kleinen Unterschied ist das Snap-Paket völlig autark. Das heißt, er braucht überhaupt nichts vom System. Im Moment unterstützen snap -Pakete solche Distributionen wie Arch , Debian, Fedora , Gentoo und natürlich den Vorfahren dieser Technologie Ubuntu * . Es gibt ungefähr 5-6 andere Distributionen, die es unterstützen, aber ich habe sie nicht überprüft. In den Foren schreiben sie, dass es funktioniert)).
In diesem Artikel werde ich kurz die Konfigurationsdatei für die Assembly beschreiben.
Um ein Snap-Paket zu erstellen, müssen Sie sowohl snapd als auch snapcraft auf Ihrem System installiert haben.
- snapd - ein Dienstprogramm zum Arbeiten mit der Installation und Verwaltung von vorgefertigten Paketen.
- snapcraft - ein Dienstprogramm zum Erstellen Ihrer Anwendungen in einem Snap-Paket.
Nachdem Sie alles installiert haben, was Sie zum Arbeiten benötigen, erstellen wir ein Verzeichnis für unsere Arbeit und darin die Datei snapcraft.yaml oder in der Snapcraft-Init-Konsole und erhalten dann die Standarddatei im Verzeichnis snap , die aussehen wird so was:
name: my-snap-name # you probably want to 'snapcraft register <name>' version: '0.1' # just for humans, typically '1.2+git' or '1.3.2' summary: Single-line elevator pitch for your amazing snap # 79 char long summary description: | This is my-snap's description. You have a paragraph or two to tell the most important story about your snap. Keep it under 100 words though, we live in tweetspace and your description wants to look good in the snap store. grade: devel # must be 'stable' to release into candidate/stable channels confinement: devmode # use 'strict' once you have the right plugs and slots parts: my-part: # See 'snapcraft plugins' plugin: nil
Ich werde einige der Elemente in der Datei kurz beschreiben:
- Name – Der Name des Pakets, das ihm nach der Erstellung zugewiesen wird
- Version - Nach dem Paketnamen kommt die Version, die Sie benötigen, wenn Sie Ihre Anwendung aktualisieren möchten
- Beschreibung – Beschreibung Ihrer Anwendung, die in der Konsole angezeigt wird
- Confinement – Einschränkungsmechanismus für den Paketbetrieb
- Architekturen - hier ist alles klar. Paketarchitektur. wird auch im Paketnamen angegeben
- Apps – Dies kann eine grafische Anwendung oder ein Konsolenbefehl sein und einen Daemon (Dienst) starten.
- Teile - Dies ist ein Teil der Konfiguration, die Snapcraft handhaben wird
Jetzt geben wir den Snapcraft-Befehl in die Konsole ein, dann erhalten wir basierend auf dieser Konfigurationsdatei unser erstes Paket mit dem Namen my-snap-name_0.1_amd64.snap
Einige Konsolenbefehle, die zum Lernen und Kennenlernen nützlich sein werden:
snap find - список доступных пакетов snap sudo snap install <имя_пакета> - установка пакета. нужны права рута sudo snap refresh <имя_пакета> - обновление пакета snap list - список всех установленных пакетов snap в системе sudo snap remove <имя_пакета> - удаление пакета snap changes - очень полезная утилита, показывает информацию о всех изменения. (установка, обновление, удаление)
Im nächsten Artikel analysieren wir am Beispiel meiner kleinen grafischen Anwendung, die in Qt geschrieben ist, Einstellungen, Installation und Start von überall im System.
PS Wenn Sie Fragen, Änderungen am Artikel oder etwas anderes haben, schreiben Sie bitte. Ich werde versuchen, allen zu antworten.