

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.

# Stellen Sie das Hub-SDK mit systemd bereit
<a name="managedintegrations-sdk-v2-cookbook-deployment-hub-deployment-scripts"></a>

**Wichtig**  
 Die neuesten `readme.md` Updates finden Sie im `hubSystemdSetup` Verzeichnis der Datei release.tgz. 

In diesem Abschnitt werden die Skripts und Prozesse für die Bereitstellung und Konfiguration von Diensten auf einem Hub-Gerät beschrieben. Linux-based 

## -Übersicht
<a name="managedintegrations-sdk-v2-cookbook-deployment-overview"></a>

Der Bereitstellungsprozess besteht aus zwei Hauptskripten:
+ `copy_to_hub.sh`: Wird auf dem Host-Computer ausgeführt, um die erforderlichen Dateien auf den Hub zu kopieren
+ `setup_hub.sh`: Wird auf dem Hub ausgeführt, um die Umgebung zu konfigurieren und Dienste bereitzustellen

Verwaltet außerdem `systemd/deploy_iotshd_services_on_hub.sh` die Prozess-Bootstrap-Sequenz und die Verwaltung von Prozessberechtigungen und wird automatisch ausgelöst durch`setup_hub.sh`.

## Voraussetzungen
<a name="managedintegrations-sdk-v2-cookbook-deployment-prerequisites"></a>

Die aufgeführten Voraussetzungen sind für eine erfolgreiche Bereitstellung erforderlich.
+ Der Systemd-Dienst ist auf dem Hub verfügbar
+ SSH-Zugriff auf das Hub-Gerät
+ Sudo-Rechte auf dem Hub-Gerät
+ `scp`Auf dem Host-Computer installiertes Hilfsprogramm
+ `sed`Auf dem Host-Computer installiertes Hilfsprogramm
+ Auf dem Host-Computer installiertes Hilfsprogramm zum Entpacken

## Dateistruktur
<a name="managedintegrations-sdk-v2-cookbook-deployment-file-structure"></a>

Die Dateistruktur ist so konzipiert, dass sie die Organisation und Verwaltung der verschiedenen Komponenten erleichtert und so einen effizienten Zugriff und eine effiziente Navigation auf den Inhalt ermöglicht.

```
hubSystemdSetup/
├── README.md
├── copy_to_hub.sh 
├── setup_hub.sh
├── iotshd_config.json  # Sample configuration file
├── local_certs/  # Directory for DHA certificates
└── systemd/ 
    ├── *.service.template  # Systemd service templates 
    └── deploy_iotshd_services_on_hub.sh
```

In der TGZ-Datei der SDK-Version lautet die gesamte Dateistruktur wie folgt:

```
IoT-managed-integrations-Hub-SDK-aarch64-v1.0.0.tgz
├──package/
    ├──greengrass/
        ├──artifacts/
        ├──recipes/
    ├──hubSystemdSetup/
        ├── REAME.md
        ├── copy_to_hub.sh 
        ├── setup_hub.sh
        ├── iotshd_config.json  # Sample configuration file
        ├── local_certs/  # Directory for DHA certificates
        └── systemd/ 
            ├── *.service.template  # Systemd service templates 
            └── deploy_iotshd_services_on_hub.sh
```

## Erstes Einrichten von
<a name="managedintegrations-sdk-v2-cookbook-deployment-initial-setup"></a>

### Extrahieren Sie das SDK-Paket
<a name="managedintegrations-sdk-v2-cookbook-deployment-extract-sdk"></a>

```
tar -xzf managed-integrations-Hub-SDK-v{{Version}}-linux-aarch64-{{timestamp}}.tgz
```

Navigieren Sie zum entpackten Verzeichnis und bereiten Sie das Paket vor:

```
# Create package.zip containing required artifacts
zip -r package.zip package/greengrass/artifacts
# Move package.zip to the hubSystemdSetup directory
mv package.zip ../hubSystemdSetup/
```

### Fügen Sie Gerätekonfigurationsdateien hinzu
<a name="managedintegrations-sdk-v2-cookbook-deployment-prepare-certificates"></a>

Folgen Sie den beiden aufgeführten Schritten, um die Gerätekonfigurationsdateien zu erstellen, und kopieren Sie sie auf den Hub.

1. [Fügen Sie Gerätekonfigurationsdateien](managedintegrations-sdk-v2-cookbook-hubsetup.md#managedintegrations-sdk-v2-cookbook-genconfig) hinzu, um die benötigten Gerätekonfigurationsdateien zu erstellen. Das SDK verwendet diese Datei für seine Funktion.

1. [Kopieren Sie die Konfigurationsdateien](managedintegrations-sdk-v2-cookbook-hubsetup.md#managedintegrations-sdk-v2-cookbook-config-contents), um die erstellten Konfigurationsdateien auf den Hub zu kopieren. 

## Kopieren Sie Dateien auf den Hub
<a name="managedintegrations-sdk-v2-cookbook-deployment-copy-files-to-hub"></a>

Führen Sie das Bereitstellungsskript von Ihrem Host-Computer aus:

```
chmod +x copy_to_hub.sh
./copy_to_hub.sh {{hub_ip_address}} {{package_file}}
```

**Example Beispiel**  

```
./copy_to_hub.sh 192.168.50.223 ~/Downloads/EAR3-package.zip
```

Dies kopiert:
+ Die Paketdatei (auf dem Hub in package.zip umbenannt)
+ Konfigurationsdateien
+ Zertifikate
+ Systemd-Dienstdateien

## Hub einrichten
<a name="managedintegrations-sdk-v2-cookbook-deployment-set-up-hub"></a>

Nachdem die Dateien kopiert wurden, stellen Sie eine SSH-Verbindung zum Hub her und führen Sie das Setup-Skript aus:

```
ssh hub@{{hub_ip}}
chmod +x setup_hub.sh
sudo ./setup_hub.sh
```

### Benutzer- und Gruppenkonfigurationen
<a name="managedintegrations-sdk-v2-cookbook-deployment-user-group-config"></a>

Standardmäßig verwenden wir den **Benutzer-Hub** und den **Gruppen-Hub** für die SDK-Komponenten. Es gibt mehrere Möglichkeiten, sie zu konfigurieren:
+ Verwenden Sie ein benutzerdefiniertes user/group:

  ```
  sudo ./setup_hub.sh --user={{USERNAME}} --group={{GROUPNAME}}
  ```
+ Erstellen Sie sie manuell, bevor Sie das Setup-Skript ausführen:

  ```
  sudo groupadd -f {{GROUPNAME}}
  sudo useradd -r -g {{GROUPNAME}} {{USERNAME}}
  ```
+ Fügen Sie die Befehle hinzu`setup_hub.sh`.

## Dienste -Verwaltung
<a name="managedintegrations-sdk-v2-cookbook-deployment-manage-services"></a>

Um alle Dienste neu zu starten, führen Sie das folgende Skript vom Hub aus aus:

```
sudo /usr/local/bin/deploy_iotshd_services_on_hub.sh
```

Das Setup-Skript erstellt die erforderlichen Verzeichnisse, legt die entsprechenden Berechtigungen fest und stellt die Dienste automatisch bereit. Wenn Sie es nicht verwenden SSH/SCP, müssen Sie es an Ihre spezifische Bereitstellungsmethode anpassen`copy_to_hub.sh`. Stellen Sie vor der Bereitstellung sicher, dass alle Zertifikatsdateien und Konfigurationen ordnungsgemäß eingerichtet sind.