Installieren Sie die AWS IoT Greengrass Core-Software. - AWS IoT Greengrass

AWS IoT Greengrass Version 1 trat am 30. Juni 2023 in die erweiterte Lebensphase ein. Weitere Informationen finden Sie in der AWS IoT Greengrass V1 Wartungsrichtlinie. Nach diesem Datum AWS IoT Greengrass V1 werden keine Updates mehr veröffentlicht, die Funktionen, Verbesserungen, Bugfixes oder Sicherheitspatches bieten. Geräte, die auf laufen, werden AWS IoT Greengrass V1 nicht gestört und funktionieren weiterhin und stellen eine Verbindung zur Cloud her. Wir empfehlen Ihnen dringend, zu migrieren AWS IoT Greengrass Version 2, da dies wichtige neue Funktionen und Unterstützung für zusätzliche Plattformen bietet.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Installieren Sie die AWS IoT Greengrass Core-Software.

Die -AWS IoT GreengrassCore-Software erweitert die AWS Funktionalität auf ein AWS IoT Greengrass-Core-Gerät, sodass lokale Geräte lokal auf die von ihnen generierten Daten reagieren können.

AWS IoT Greengrass bietet verschiedene Optionen für die Installation der AWS IoT Greengrass Core-Software:

AWS IoT Greengrass bietet auch containerisierte Umgebungen, in denen die AWS IoT Greengrass Core-Software ausgeführt wird.

 

Download und Extrahieren des AWS IoT Greengrass Core-Software-Pakets

Wählen Sie die AWS IoT Greengrass Core-Software für Ihre Plattform, die Sie als tar.gz-Datei herunterladen und auf Ihr Gerät extrahieren möchten. Sie können aktuelle Versionen der Software herunterladen. Weitere Informationen finden Sie unter AWS IoT Greengrass Kernsoftware.

 

Ausführen des Greengrass Device Setup-Skripts

Führen Sie die Greengrass-Geräteeinrichtung aus, um Ihr Gerät zu konfigurieren, installieren Sie die neueste AWS IoT Greengrass -Core-Softwareversion und stellen Sie in wenigen Minuten eine Hello World Lambda-Funktion bereit. Weitere Informationen finden Sie unter Schnellstart: Greengrass-Geräteeinrichtung.

 

Installieren der AWS IoT Greengrass Core-Software aus einem APT-Repository

Wichtig

Ab dem 11. Februar 2022 können Sie die AWS IoT Greengrass Core-Software nicht mehr aus einem APT-Repository installieren oder aktualisieren. Auf Geräten, auf denen Sie das AWS IoT GreengrassRepository hinzugefügt haben, müssen Sie das Repository aus der Quellenliste entfernen. Geräte, auf denen die Software aus dem APT-Repository ausgeführt wird, funktionieren weiterhin normal. Wir empfehlen Ihnen, die -AWS IoT GreengrassCore-Software mit tar-Dateien zu aktualisieren.

Das von AWS IoT Greengrass bereitgestellte APT-Repository beinhaltet die folgenden Pakete:

  • aws-iot-greengrass-core. Installiert die AWS IoT Greengrass -Core-Software.

  • aws-iot-greengrass-keyring. Installiert die GnuPG (GPG)-Schlüssel, die zum Signieren des AWS IoT Greengrass Paket-Repositorys verwendet werden.

    Mit dem Download dieser Software stimmen Sie der Greengrass Core-Software-Lizenzvereinbarung zu.

Verwenden von systemd-Skripts zum Verwalten des Greengrass Daemon-Lebenszyklus

Das aws-iot-greengrass-core-Paket installiert auch systemd-Skripte, mit denen Sie den Lebenszyklus der AWS IoT Greengrass Core-Software (Daemon) verwalten können.

  • So starten Sie den Greengras-Daemon während des Boots:

    systemctl enable greengrass.service
  • So starten Sie den Greengras-Daemon:

    systemctl start greengrass.service
  • So halten Sie den Greengrass-Daemon an:

    systemctl stop greengrass.service
  • So überprüfen Sie den Status des Greengras-Daemons:

    systemctl status greengrass.service

Deinstallieren der AWS IoT Greengrass Core-Software mithilfe des APT-Repositorys

Wenn Sie die AWS IoT Greengrass Core-Software deinstallieren, können Sie wählen, ob die Konfigurationsinformationen der AWS IoT Greengrass Core-Software beibehalten oder entfernt werden sollen, z. B. Gerätezertifikate, Gruppeninformationen und Protokolldateien.

So deinstallieren Sie die AWS IoT Greengrass Core-Software und behalten Konfigurationsinformationen bei
  • Führen Sie den folgenden Befehl aus, um die AWS IoT Greengrass Core-Softwarepakete zu entfernen und die Konfigurationsinformationen im /greengrass Ordner beizubehalten.

    sudo apt remove aws-iot-greengrass-core aws-iot-greengrass-keyring
So deinstallieren Sie die AWS IoT Greengrass Core-Software und entfernen Konfigurationsinformationen
  1. Führen Sie den folgenden Befehl aus, um die AWS IoT Greengrass Core-Softwarepakete und Konfigurationsinformationen aus der zu entfernen/greengrass folder.

    sudo apt purge aws-iot-greengrass-core aws-iot-greengrass-keyring
  2. Entfernen Sie das AWS IoT Greengrass Core-Software-Repository aus Ihrer Quellenliste. Weitere Informationen finden Sie unter Entfernen der Repository-Quellen für die AWS IoT Greengrass Kernsoftware.

Entfernen der Repository-Quellen für die AWS IoT Greengrass Kernsoftware

Sie können die AWS IoT Greengrass Kernsoftware-Repository-Quellen entfernen, wenn Sie die AWS IoT Greengrass Kernsoftware nicht mehr aus dem APT-Repository installieren oder aktualisieren müssen. Nach dem 11. Februar 2022 müssen Sie das Repository aus Ihrer Quellenliste entfernen, um einen Fehler beim Ausführen von zu vermeidenapt update.

So entfernen Sie das APT-Repository aus der Quellenliste
  • Führen Sie die folgenden Befehle aus, um das AWS IoT Greengrass Core-Software-Repository aus der Quellenliste zu entfernen.

    sudo rm /etc/apt/sources.list.d/greengrass.list sudo apt update

Ausführen von AWS IoT Greengrass in einem Docker-Container

AWS IoT Greengrass stellt ein Dockerfile und Docker-Images zur Verfügung, mit deren Hilfe Sie AWS IoT Greengrass leichter in einem Docker-Container ausführen können. Weitere Informationen finden Sie unter AWS IoT Greengrass Docker-Software.

Anmerkung

Sie können eine Docker-Anwendung auch auf einem Greengrass-Kerngerät ausführen. Verwenden Sie dazu den Greengrass-Docker-Anwendungsbereitstellungskonnektor.

 

Ausführen von AWS IoT Greengrass in einem Snap

AWS IoT Greengrass Mit Snap 1.11.x können Sie eine begrenzte Version von AWS IoT Greengrass über praktische Softwarepakete zusammen mit allen erforderlichen Abhängigkeiten in einer containerisierten Umgebung ausführen.

Am 31. Dezember 2023 AWS IoT Greengrass wird die Wartung für die AWS IoT Greengrass Core-Softwareversion 1.11.x Snap beenden, die auf snapcraft.io veröffentlicht wird. Geräte, auf denen derzeit der Snap ausgeführt wird, funktionieren bis auf Weiteres. Der AWS IoT Greengrass Kern-Snap erhält jedoch nach dem Ende der Wartung keine Sicherheitspatches oder Fehlerbehebungen mehr.

Snap-Konzepte

Im Folgenden finden Sie grundlegende Snap-Konzepte, die Ihnen helfen, zu verstehen, wie Sie AWS IoT Greengrass Snap verwenden:

Channel

Eine Snap-Komponente, die definiert, welche Version eines Snap installiert und für Updates verfolgt wird. Snaps werden automatisch auf die neueste Version des aktuellen Kanals aktualisiert.

Schnittstelle

Eine Snap-Komponente, die Zugriff auf -Ressourcen wie Netzwerke und Benutzerdateien gewährt.

Um den AWS IoT Greengrass Snap auszuführen, müssen die folgenden Schnittstellen verbunden sein. Beachten Sie, dass zuerst verbunden und niemals getrennt werden greengrass-support-no-container muss.

- greengrass-support-no-container - hardware-observe - home-for-hooks - hugepages-control - log-observe - mount-observe - network - network-bind - network-control - process-control - system-observe

Die anderen Schnittstellen sind optional. Wenn Ihre Lambda-Funktionen Zugriff auf bestimmte Ressourcen benötigen, müssen Sie möglicherweise eine Verbindung zu den entsprechenden Schnittstellen herstellen.

Aktualisieren

Snaps werden automatisch aktualisiert. Der snapd Daemon ist der Snap-Paketmanager, der standardmäßig viermal täglich nach Updates sucht. Jede Aktualisierungsprüfung wird als Aktualisierung bezeichnet. Wenn eine Aktualisierung erfolgt, wird der Daemon beendet, der Snap aktualisiert und der Daemon wird dann neu gestartet.

Weitere Informationen finden Sie auf der Snapmaker-Website.

Was ist neu bei AWS IoT Greengrass Snap v1.11.x?

Im Folgenden wird beschrieben, was mit der Version 1.11.x von AWS IoT Greengrass Snap neu ist und geändert wurde.

  • Diese Version unterstützt nur den snap_daemon Benutzer, der als Benutzer-ID (UID) und Gruppe (GID) verfügbar gemacht wird584788.

  • Diese Version unterstützt nur nicht containerisierte Lambda-Funktionen.

    Wichtig

    Da sich nicht containerisierte Lambda-Funktionen denselben Benutzer teilen müssen (snap_daemon), haben die Lambda-Funktionen keine Isolierung voneinander. Weitere Informationen finden Sie unter Steuern der Ausführung von Greengrass-Lambda-Funktionen mithilfe der gruppenspezifischen Konfiguration .

  • Diese Version unterstützt die Laufzeiten C, C++, Java 8, Node.js 12.x, Python 2.7, Python 3.7 und Python 3.8.

    Anmerkung

    Um redundante Python-Laufzeiten zu vermeiden, führen Python-3.7-Lambda-Funktionen tatsächlich die Python-3.8-Laufzeit aus.

Erste Schritte mit AWS IoT Greengrass Snap

Das folgende Verfahren hilft Ihnen bei der Installation und Konfiguration des AWS IoT Greengrass Snap auf Ihrem Gerät.

Voraussetzungen

Gehen Sie wie folgt vor, um den AWS IoT Greengrass Snap auszuführen:

  • Führen Sie den AWS IoT Greengrass Snap auf einer unterstützten Linux-Distribution wie Ubuntu, Linux Mint, Debian und Fedora aus.

  • Installieren Sie den snapd -Daemon auf Ihrem Gerät. Der snapd -Daemon einschließlich des -snapTools verwaltet die Snap-Umgebung auf Ihrem Gerät.

Eine Liste der unterstützten Linux-Distributionen und Installationsanweisungen finden Sie unter Installing Snapd in der Snap-Dokumentation.

Installieren und Konfigurieren des AWS IoT Greengrass Snap

Das folgende Tutorial zeigt Ihnen, wie Sie den AWS IoT Greengrass Snap auf Ihrem Gerät installieren und konfigurieren.

Anmerkung
  • Obwohl dieses Tutorial eine Amazon EC2-Instance (x86 t2.micro Ubuntu 20.04) verwendet, können Sie den AWS IoT Greengrass Snap mit physischer Hardware wie einem Raspberry Pi ausführen.

  • Der -snapdDaemon ist auf Ubuntu vorinstalliert.

  1. Installieren Sie den core18 Snap, indem Sie den folgenden Befehl im Terminal Ihres Geräts ausführen:

    sudo snap install core18

    Snap ist ein Basis-Snapcore18, der eine Laufzeitumgebung mit häufig verwendeten Bibliotheken bereitstellt. Dieser Snap basiert auf Ubuntu 18.04 LTS .

  2. Führen Sie ein Upgrade durch, snapd indem Sie den folgenden Befehl ausführen:

    sudo snap install --channel=edge snapd; sudo snap refresh --channel=edge snapd
  3. Führen Sie den snap list Befehl aus, um zu überprüfen, ob Snap AWS IoT Greengrass installiert ist.

    Die folgende Beispielantwort zeigt, dass installiert snapd ist, aber aws-iot-greengrass nicht.

    Name Version Rev Tracking Publisher Notes amazon-ssm-agent 3.0.161.0 2996 latest/stable/… aws✓ classic core 16-2.48 10444 latest/stable canonical✓ core core18 20200929 1932 latest/stable canonical✓ base lxd 4.0.4 18150 4.0/stable/… canonical✓ - snapd 2.48+git548.g929ccfb 10526 latest/edge canonical✓ snapd
  4. Wählen Sie eine der folgenden Optionen, um AWS IoT Greengrass Snap 1.11.x zu installieren.

    • Führen Sie den folgenden Befehl aus, um AWS IoT Greengrass Snap zu installieren:

      sudo snap install aws-iot-greengrass

      Beispielantwort:

      aws-iot-greengrass 1.11.5 from Amazon Web Services (aws) installed
    • Führen Sie den folgenden Befehl aus, um von einer früheren Version zu v1.11.x zu migrieren oder auf die neueste verfügbare Patch-Version zu aktualisieren:

      sudo snap refresh --channel=1.11.x aws-iot-greengrass

    Wie andere Snaps verwendet AWS IoT Greengrass Snap Kanäle, um Nebenversionen zu verwalten. Snaps werden automatisch auf die neueste verfügbare Version des aktuellen Kanals aktualisiert. Wenn Sie beispielsweise angeben--channel=1.11.x, wird Ihr AWS IoT Greengrass Snap auf v1.11.5 aktualisiert.

    Sie können den snap info aws-iot-greengrass Befehl ausführen, um die Liste der verfügbaren Kanäle für abzurufenAWS IoT Greengrass.

    Beispielantwort:

    name: aws-iot-greengrass summary: AWS supported software that extends cloud capabilities to local devices. publisher: Amazon Web Services (aws✓) store-url: https://snapcraft.io/aws-iot-greengrass contact: https://repost.aws/tags/TA4ckIed1sR4enZBey29rKTg/aws-io-t-greengrass license: Proprietary description: | AWS IoT Greengrass seamlessly extends AWS onto edge devices so they can act locally on the data they generate, while still using the cloud for management, analytics, and durable storage. AWS IoT Greenrgrass snap v1.11.0 enables you to run a limited version of AWS IoT Greengrass with all necessary dependencies in a containerized environment. The AWS IoT Greengrass snap doesn't support connectors and machine learning (ML) inference. By downloading this software you agree to the Greengrass Core Software License Agreement (https://s3-us-west-2.amazonaws.com/greengrass-release-license/greengrass-license-v1.pdf). For more information, see Run AWS IoT Greengrass in a snap (https://docs.aws.amazon.com/greengrass/latest/developerguide/install-ggc.html#gg-snap-support) in the AWS IoT Greengrass Developer. If you need help, try the AWS IoT Greengrass tag on AWS re:Post (https://repost.aws/tags/TA4ckIed1sR4enZBey29rKTg/aws-io-t-greengrass) or connect with an AWS IQ expert (https://iq.aws.amazon.com/services/aws/greengrass). snap-id: SRDuhPJGj4XPxFNNZQKOTvURAp0wxKnd channels: latest/stable: 1.11.3 2021-06-15 (59) 111MB - latest/candidate: 1.11.3 2021-06-14 (59) 111MB - latest/beta: 1.11.3 2021-06-14 (59) 111MB - latest/edge: 1.11.3 2021-06-14 (59) 111MB - 1.11.x/stable: 1.11.3 2021-06-15 (59) 111MB - 1.11.x/candidate: 1.11.3 2021-06-15 (59) 111MB - 1.11.x/beta: 1.11.3 2021-06-15 (59) 111MB - 1.11.x/edge: 1.11.3 2021-06-15 (59) 111MB -
  5. Um auf bestimmte Ressourcen zuzugreifen, die Ihre Lambda-Funktionen benötigen, können Sie eine Verbindung zu zusätzlichen Schnittstellen herstellen.

    Führen Sie den folgenden Befehl aus, um die Liste der vom AWS IoT Greengrass Snap unterstützten Schnittstellen abzurufen:

    snap connections aws-iot-greengrass

    Beispielantwort:

    Interface Plug Slot Notes camera aws-iot-greengrass:camera - - dvb aws-iot-greengrass:dvb - - gpio aws-iot-greengrass:gpio - - gpio-memory-control aws-iot-greengrass:gpio-memory-control - - greengrass-support aws-iot-greengrass:greengrass-support-no-container :greengrass-support - hardware-observe aws-iot-greengrass:hardware-observe :hardware-observe manual hardware-random-control aws-iot-greengrass:hardware-random-control - - home aws-iot-greengrass:home-for-greengrassd - - home aws-iot-greengrass:home-for-hooks :home manual hugepages-control aws-iot-greengrass:hugepages-control :hugepages-control manual i2c aws-iot-greengrass:i2c - - iio aws-iot-greengrass:iio - - joystick aws-iot-greengrass:joystick - - log-observe aws-iot-greengrass:log-observe :log-observe manual mount-observe aws-iot-greengrass:mount-observe :mount-observe manual network aws-iot-greengrass:network :network - network-bind aws-iot-greengrass:network-bind :network-bind - network-control aws-iot-greengrass:network-control :network-control - opengl aws-iot-greengrass:opengl :opengl - optical-drive aws-iot-greengrass:optical-drive :optical-drive - process-control aws-iot-greengrass:process-control :process-control - raw-usb aws-iot-greengrass:raw-usb - - removable-media aws-iot-greengrass:removable-media - - serial-port aws-iot-greengrass:serial-port - - spi aws-iot-greengrass:spi - - system-observe aws-iot-greengrass:system-observe :system-observe -

    Wenn in der Spalte Slot ein Bindestrich (-) angezeigt wird, ist die entsprechende Schnittstelle nicht verbunden.

  6. Folgen Sie Installieren der AWS IoT Greengrass Core-Software, um ein -AWS IoTObjekt, eine Greengrass-Gruppe, Sicherheitsressourcen, die eine sichere Kommunikation mit ermöglichenAWS IoT, und die AWS IoT Greengrass Core-Softwarekonfigurationsdatei zu erstellen. Die Konfigurationsdatei config.jsonenthält eine für Ihren Greengrass-Kern spezifische Konfiguration, z. B. den Speicherort der Zertifikatsdateien und den AWS IoT Gerätedatenendpunkt.

    Anmerkung

    Wenn Sie die Datei auf ein anderes Gerät heruntergeladen haben, führen Sie diesen Schritt aus, um die Dateien auf das AWS IoT Greengrass Core-Gerät zu übertragen.

  7. Stellen Sie für AWS IoT Greengrass Snap sicher, dass Sie die Datei config.json aktualisieren, wie im Folgenden gezeigt:

    • Ersetzen Sie jede Instance von certificateId durch die Zertifikat-ID im Namen des Zertifikats und der Schlüsseldateien.

    • Wenn Sie ein anderes Amazon-Root-CA-Zertifikat als Amazon Root CA 1 heruntergeladen haben, ersetzen Sie jede Instance von AmazonRootCA1.pem durch den Namen der Amazon-Root-CA-Datei.

    { ... "crypto" : { "principals" : { "SecretsManager" : { "privateKeyPath" : "file:///snap/aws-iot-greengrass/current/greengrass/certs/certificateId-private.pem.keyy" }, "IoTCertificate" : { "privateKeyPath" : "file:///snap/aws-iot-greengrass/current/greengrass/certs/certificateId-private.pem.key", "certificatePath" : "file:///snap/aws-iot-greengrass/current/greengrass/certs/certificateId-certificate.pem.crt" } }, "caPath" : "file:///snap/aws-iot-greengrass/current/greengrass/certs/AmazonRootCA1.pem" }, "writeDirectory": "/var/snap/aws-iot-greengrass/current/ggc-write-directory", "pidFileDirectory": "/var/snap/aws-iot-greengrass/current/pidFileDirectory" }
  8. Führen Sie den folgenden Befehl aus, um Ihr AWS IoT Greengrass Zertifikat und Ihre Konfigurationsdateien hinzuzufügen:

    sudo snap set aws-iot-greengrass gg-certs=/home/ubuntu/my-certs

Bereitstellen einer Lambda-Funktion

In diesem Abschnitt erfahren Sie, wie Sie eine vom Kunden verwaltete Lambda-Funktion auf AWS IoT Greengrass Snap bereitstellen.

Wichtig

AWS IoT Greengrass Snap v1.11 unterstützt nur nicht containerisierte Lambda-Funktionen.

  1. Führen Sie den folgenden Befehl aus, um den AWS IoT Greengrass Daemon zu starten:

    sudo snap start aws-iot-greengrass

    Beispielantwort:

    Started.
  2. Führen Sie den folgenden Befehl aus, um zu bestätigen, dass der Daemon ausgeführt wird:

    snap services aws-iot-greengrass.greengrassd

    Beispielantwort:

    Service Startup Current Notes aws-iot-greengrass.greengrassd disabled active -
  3. Folgen Sie Modul 3 (Teil 1): Lambda-Funktionen auf AWS IoT Greengrass , um eine Hello World Lambda-Funktion zu erstellen und bereitzustellen. Bevor Sie die Lambda-Funktion bereitstellen, führen Sie jedoch den nächsten Schritt aus.

  4. Stellen Sie sicher, dass Ihre Lambda-Funktion als snap_daemon Benutzer und im Modus ohne Container ausgeführt wird. Gehen Sie in der AWS IoT Greengrass Konsole wie folgt vor, um die Einstellungen Ihrer Greengrass-Gruppe zu aktualisieren:

    1. Melden Sie sich in der AWS IoT Greengrass-Konsole an.

    2. Erweitern Sie im Navigationsbereich der AWS IoTKonsole unter Verwalten die Option Greengrass-Geräte und wählen Sie dann Gruppen (V1) aus.

    3. Wählen Sie unter Greengrass-Gruppen die Zielgruppe aus.

    4. Wählen Sie auf der Seite Gruppenkonfiguration im Navigationsbereich die Registerkarte Lambda-Funktionen aus.

    5. Wählen Sie unter Standard-Lambda-Funktionslaufzeitumgebung die Option Bearbeiten aus und gehen Sie wie folgt vor:

      1. Wählen Sie für Standardsystembenutzer und -gruppe die Option Andere Benutzer-ID/Gruppen-ID aus und geben Sie dann sowohl 584788 für Systembenutzer-ID (Nummer) als auch für Systemgruppen-ID (Nummer) ein.

      2. Wählen Sie für Standard-Lambda-Funktionscontainerisierung die Option Kein Container aus.

      3. Wählen Sie Speichern.

Stoppen des AWS IoT Greengrass Daemon

Sie können den snap stop Befehl verwenden, um einen Service zu beenden.

Führen Sie den folgenden Befehl aus, um den AWS IoT Greengrass Daemon zu beenden:

sudo snap stop aws-iot-greengrass

Der Befehl sollte zurückgebenStopped..

Führen Sie den folgenden Befehl aus, um zu überprüfen, ob Sie den Snap erfolgreich beendet haben:

snap services aws-iot-greengrass.greengrassd

Beispielantwort:

Service Startup Current Notes aws-iot-greengrass.greengrassd disabled inactive -

Deinstallieren des AWS IoT Greengrass Snap

Um den AWS IoT Greengrass Snap zu deinstallieren, führen Sie den folgenden Befehl aus:

sudo snap remove aws-iot-greengrass

Beispielantwort:

aws-iot-greengrass removed

Fehlerbehebung bei AWS IoT Greengrass Snap

Verwenden Sie die folgenden Informationen, um Probleme mit AWS IoT Greengrass Snap zu beheben.

Fehler aufgrund einer verweigerten Berechtigung.

Lösung : Fehler aufgrund einer Berechtigungsverweigerung sind häufig auf fehlende Schnittstellen zurückzuführen. Für die Liste der fehlenden Schnittstellen und detaillierte Informationen zur Fehlerbehebung können Sie das snappy-debug Tool verwenden.

Führen Sie den folgenden Befehl aus, um das Tool zu installieren.

sudo snap install snappy-debug

Beispielantwort:

snappy-debug 0.36-snapd2.45.1 from Canonical✓ installed

Führen Sie den sudo snappy-debug Befehl in einer separaten Terminalsitzung aus. Der Vorgang wird fortgesetzt, bis ein Fehler aufgrund einer verweigerten Berechtigung auftritt.

Wenn Ihre Lambda-Funktion beispielsweise versucht, eine Datei im $HOME Verzeichnis zu lesen, erhalten Sie möglicherweise die folgende Antwort:

INFO: Following '/var/log/syslog'. If have dropped messages, use: INFO: $ sudo journalctl --output=short --follow --all | sudo snappy-debug kernel.printk_ratelimit = 0 = AppArmor = Time: Dec 6 04:48:26 Log: apparmor="DENIED" operation="mknod" profile="snap.aws-iot-greengrass.greengrassd" name="/home/ubuntu/my-file.txt" pid=12345 comm="touch" requested_mask="c" denied_mask="c" fsuid=0 ouid=0 File: /home/ubuntu/my-file.txt (write) Suggestion: * add 'home' to 'plugs'

Dieses Beispiel zeigt, dass das Erstellen der /home/ubuntu/my-file.txt Datei den Berechtigungsfehler verursacht hat. Es schlägt auch vor, dass Sie home zu hinzufügenplugs. Diese Argumentation ist jedoch nicht anwendbar. Die - home-for-greengrassd und -home-for-hooksPlugs erhalten nur Lesezugriff.

Weitere Informationen finden Sie unter Snappy-Debug Snap in der Snap-Dokumentation.

Fehler: kann die folgenden Aufgaben nicht ausführen: - Ausführen des Servicebefehls „start“ für Services ["greengrassd"] von snap „aws-iot-greengrass“ ([start snap.aws-iot-greengrass.greengrassd.service] ist mit dem Beendigungsstatus 1 fehlgeschlagen: Auftrag für snap.aws-iot-greengrass.greengrassd.service fehlgeschlagen, da der Steuerungsprozess mit dem Fehlercode beendet wurde. Weitere Informationen finden Sie unter „Systemctl status snap.aws-iot-greengrass.greengrassd.service“ und „journalctl -xe“.)

Lösung : Dieser Fehler wird möglicherweise angezeigt, wenn der snap start aws-iot-greengrass Befehl die AWS IoT Greengrass Core-Software nicht startet.

Führen Sie den folgenden Befehl aus, um weitere Informationen zur Fehlerbehebung zu erhalten:

sudo snap run aws-iot-greengrass.greengrassd

Beispielantwort:

Couldn't find /snap/aws-iot-greengrass/44/greengrass/config/config.json.

Diese Beispiele zeigen, dass die config.json Datei nicht gefunden AWS IoT Greengrass hat. Sie können die Konfigurations- und Zertifikatsdateien überprüfen.

/var/snap/aws-iot-greengrass/current/ggc-write-directory//packages/1.11.5/rootfs/Merged ist kein absoluter Pfad oder ein Symlink.

Lösung : Der AWS IoT Greengrass Snap unterstützt nur nicht containerisierte Lambda-Funktionen. Stellen Sie sicher, dass Sie Ihre Lambda-Funktionen im Modus ohne Container ausführen. Weitere Informationen finden Sie unter Überlegungen bei der Auswahl der Lambda-Funktionscontainerisierung im AWS IoT Greengrass Version 1 -Entwicklerhandbuch.

Der Snapd-Daemon konnte nicht neu gestartet werden, nachdem Sie den Befehl sudo snap update snapd ausgeführt haben.

Lösung : Folgen Sie den Schritten 6 bis 8 in Installieren und Konfigurieren des AWS IoT Greengrass Snap, um das AWS IoT Greengrass Zertifikat und die Konfigurationsdateien zum AWS IoT Greengrass Snap hinzuzufügen.

Archivieren einer AWS IoT Greengrass Core-Software-Installation

Wenn Sie ein Upgrade auf eine neue Version der AWS IoT Greengrass Core-Software ausführen, können Sie die aktuell installierte Version archivieren. Dadurch bleibt Ihre aktuelle Installationsumgebung erhalten, sodass Sie eine neue Softwareversion auf derselben Hardware testen können. Dadurch wird auch ein Rollback auf Ihre archivierte Version vereinfacht.

So archivieren Sie die aktuelle Installation und installieren eine neue Version
  1. Laden Sie das Installationspaket für die AWS IoT Greengrass Core-Software herunter, auf die Sie upgraden möchten.

  2. Kopieren Sie das Paket in das Core-Zielgerät. Anweisungen zum Übertragen von Dateien finden Sie in diesem Schritt.

    Anmerkung

    Sie kopieren Ihre aktuellen Zertifikate, Schlüssel und die Konfigurationsdatei später in die neue Installation.

    Führen Sie die Befehle in den folgenden Schritten in Ihrem Core-Geräte-Terminal aus.

  3. Stellen Sie sicher, dass der Greengrass-Daemon auf dem Code-Gerät beendet wird.

    1. So prüfen Sie, ob der Daemon ausgeführt wird:

      ps aux | grep -E 'greengrass.*daemon'

      Wenn die Ausgabe einen root-Eintrag für /greengrass/ggc/packages/ggc-version/bin/daemon enthält, dann wird der Daemon ausgeführt.

      Anmerkung

      Dieses Verfahren setzt voraus, dass die AWS IoT Greengrass Core-Software im /greengrass-Verzeichnis installiert ist.

    2. So beenden Sie den -Daemon:

      cd /greengrass/ggc/core/ sudo ./greengrassd stop
  4. Verschieben Sie das aktuelle Greengrass-Stammverzeichnis in ein anderes Verzeichnis.

    sudo mv /greengrass /greengrass_backup
  5. Entpacken Sie die neue Software auf dem Core-Gerät. Ersetzen Sie die Platzhalter os-architecture und version im Befehl.

    sudo tar –zxvf greengrass-os-architecture-version.tar.gz –C /
  6. Kopieren Sie die archivierten Zertifikate, Schlüssel und die Konfigurationsdatei in die neue Installation.

    sudo cp /greengrass_backup/certs/* /greengrass/certs sudo cp /greengrass_backup/config/* /greengrass/config
  7. Starten Sie den Daemon:

    cd /greengrass/ggc/core/ sudo ./greengrassd start

Jetzt können Sie eine Gruppenbereitstellung vornehmen, um die neue Installation zu testen. Bei einem Fehler können Sie die archivierte Installation wiederherstellen.

So stellen Sie die archivierte Installation wieder her
  1. Beenden Sie den Daemon.

  2. Löschen Sie das neue /greengrass-Verzeichnis.

  3. Verschieben Sie das Verzeichnis /greengrass_backup wieder zu /greengrass.

  4. Starten Sie den -Daemon.