BlinCT
BlinCT3. Dezember 2017 16:05

SNAP Tutorial 01. Was ist ein Snap und ein einfaches Beispiel für eine Package-Assembly?

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.

  1. snapd - ein Dienstprogramm zum Arbeiten mit der Installation und Verwaltung von vorgefertigten Paketen.
  2. 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:

  1. Name – Der Name des Pakets, das ihm nach der Erstellung zugewiesen wird
  2. Version - Nach dem Paketnamen kommt die Version, die Sie benötigen, wenn Sie Ihre Anwendung aktualisieren möchten
  3. Beschreibung – Beschreibung Ihrer Anwendung, die in der Konsole angezeigt wird
  4. Confinement – Einschränkungsmechanismus für den Paketbetrieb
  5. Architekturen - hier ist alles klar. Paketarchitektur. wird auch im Paketnamen angegeben
  6. Apps – Dies kann eine grafische Anwendung oder ein Konsolenbefehl sein und einen Daemon (Dienst) starten.
  7. 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.

Рекомендуємо хостинг TIMEWEB
Рекомендуємо хостинг TIMEWEB
Stabiles Hosting des sozialen Netzwerks EVILEG. Wir empfehlen VDS-Hosting für Django-Projekte.

Magst du es? In sozialen Netzwerken teilen!

Kommentare

Nur autorisierte Benutzer können Kommentare posten.
Bitte Anmelden oder Registrieren
Letzte Kommentare
ИМ
Игорь Максимов5. Oktober 2024 07:51
Django – Lektion 064. So schreiben Sie eine Python-Markdown-Erweiterung Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
d
dblas55. Juli 2024 11:02
QML - Lektion 016. SQLite-Datenbank und das Arbeiten damit in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
k
kmssr8. Februar 2024 18:43
Qt Linux - Lektion 001. Autorun Qt-Anwendung unter Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
Qt WinAPI - Lektion 007. Arbeiten mit ICMP-Ping in Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
EVA
EVA25. Dezember 2023 10:30
Boost - statisches Verknüpfen im CMake-Projekt unter Windows Ошибка LNK1104 часто возникает, когда компоновщик не может найти или открыть файл библиотеки. В вашем случае, это файл libboost_locale-vc142-mt-gd-x64-1_74.lib из библиотеки Boost для C+…
Jetzt im Forum diskutieren
J
JacobFib17. Oktober 2024 03:27
добавить qlineseries в функции Пользователь может получить любые разъяснения по интересующим вопросам, касающимся обработки его персональных данных, обратившись к Оператору с помощью электронной почты https://topdecorpro.ru…
JW
Jhon Wick1. Oktober 2024 15:52
Indian Food Restaurant In Columbus OH| Layla’s Kitchen Indian Restaurant If you're looking for a truly authentic https://www.laylaskitchenrestaurantohio.com/ , Layla’s Kitchen Indian Restaurant is your go-to destination. Located at 6152 Cleveland Ave, Colu…
КГ
Кирилл Гусарев27. September 2024 09:09
Не запускается программа на Qt: точка входа в процедуру не найдена в библиотеке DLL Написал программу на C++ Qt в Qt Creator, сбилдил Release с помощью MinGW 64-bit, бинарнику напихал dll-ки с помощью windeployqt.exe. При попытке запуска моей сбилженной программы выдаёт три оши…
F
Fynjy22. Juli 2024 04:15
при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …

Folgen Sie uns in sozialen Netzwerken