

Avviso di fine del supporto: il 7 ottobre 2026, AWS il supporto per. AWS IoT Greengrass Version 1 Dopo il 7 ottobre 2026, non potrai più accedere alle risorse. AWS IoT Greengrass V1 Per ulteriori informazioni, visita [Migrate](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html) from. AWS IoT Greengrass Version 1

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Installare il software AWS IoT Greengrass Core
<a name="install-ggc"></a>

<a name="ggc-software-descripton"></a> Il software AWS IoT Greengrass Core estende AWS le funzionalità su un dispositivo AWS IoT Greengrass principale, permettendo ai dispositivi locali di agire localmente sui dati che generano.

AWS IoT Greengrass offre diverse opzioni per l'installazione del software AWS IoT Greengrass Core:
+ [Scaricare ed estrarre un file tar.gz](#download-and-extract-tarball).
+ [Eseguire lo script di installazione dispositivo Greengrass](#run-device-setup-script).
+ [Installare da un repository APT](#ggc-package-manager).

AWS IoT Greengrass fornisce anche ambienti containerizzati che eseguono il software AWS IoT Greengrass Core.
+ [Esegui AWS IoT Greengrass in un contenitore Docker](#gg-docker-support).
+ [Esegui AWS IoT Greengrass in un attimo.](#gg-snap-support)

 

## Scarica ed estrai il pacchetto software AWS IoT Greengrass Core
<a name="download-and-extract-tarball"></a>

Scegliete il software AWS IoT Greengrass Core per la vostra piattaforma da scaricare come file tar.gz ed estrarlo sul dispositivo. Puoi scaricare le versioni recenti del software. Per ulteriori informazioni, consulta [AWS IoT Greengrass Software di base](what-is-gg.md#gg-core-download-tab).

 

## Eseguire lo script di installazione del dispositivo Greengrass
<a name="run-device-setup-script"></a>

Esegui la configurazione del dispositivo Greengrass per configurare il dispositivo, installare l'ultima versione del software AWS IoT Greengrass Core e implementare una funzione Hello World Lambda in pochi minuti. Per ulteriori informazioni, consulta [Avvio rapido: configurazione dispositivo Greengrass](quick-start.md).

 

## Installa il software AWS IoT Greengrass Core da un repository APT
<a name="ggc-package-manager"></a>

**Importante**  
A partire dall'11 febbraio 2022, non è più possibile installare o aggiornare il software AWS IoT Greengrass Core da un repository APT. Sui dispositivi in cui è stato aggiunto il AWS IoT Greengrass repository, è necessario [rimuovere il repository dall'](#ggc-package-manager-remove-sources)elenco delle fonti. I dispositivi che eseguono il software dal repository APT continueranno a funzionare normalmente. Si consiglia di aggiornare il software AWS IoT Greengrass Core utilizzando i file [tar](#download-and-extract-tarball).

Il repository APT fornito da AWS IoT Greengrass include i seguenti pacchetti:
+ `aws-iot-greengrass-core`. Installa il software AWS IoT Greengrass Core.
+ `aws-iot-greengrass-keyring`. Installa le chiavi GnuPG (GPG) usate per firmare l'archivio dei pacchetti. AWS IoT Greengrass 

  Scaricando questo software accetti l'[Accordo di licenza del software Greengrass Core](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf).

**Topics**
+ [Utilizzare gli script systemd per gestire il ciclo di vita del daemon Greengrass](#ggc-package-manager-systemd)
+ [Disinstallate il software di base utilizzando il repository APT AWS IoT Greengrass](#ggc-package-manager-uninstall)
+ [Rimuovi i sorgenti del repository software AWS IoT Greengrass principale](#ggc-package-manager-remove-sources)

### Utilizzare gli script systemd per gestire il ciclo di vita del daemon Greengrass
<a name="ggc-package-manager-systemd"></a>

Il `aws-iot-greengrass-core` pacchetto installa anche `systemd` script che è possibile utilizzare per gestire il ciclo di vita del software Core (daemon). AWS IoT Greengrass 
+ Per avviare il demone Greengrass durante l'avvio:

  ```
  systemctl enable greengrass.service
  ```
+ Per avviare il demone Greengrass:

  ```
  systemctl start greengrass.service
  ```
+ Arrestare il daemon Greengrass.

  ```
  systemctl stop greengrass.service
  ```
+ Per verificare lo stato del demone Greengrass:

  ```
  systemctl status greengrass.service
  ```

### Disinstallate il software di base utilizzando il repository APT AWS IoT Greengrass
<a name="ggc-package-manager-uninstall"></a>

Quando si disinstalla il software di AWS IoT Greengrass base, è possibile scegliere se conservare o rimuovere le informazioni di configurazione del software di AWS IoT Greengrass base, come i certificati dei dispositivi, le informazioni sul gruppo e i file di registro.

**Per disinstallare il software di AWS IoT Greengrass base e conservare le informazioni di configurazione**
+ Esegui il comando seguente per rimuovere i pacchetti software AWS IoT Greengrass principali e conservare le informazioni di configurazione nella `/greengrass` cartella.

  ```
  sudo apt remove aws-iot-greengrass-core aws-iot-greengrass-keyring
  ```

**Per disinstallare il software di AWS IoT Greengrass base e rimuovere le informazioni di configurazione**

1. Esegui il comando seguente per rimuovere i pacchetti software AWS IoT Greengrass principali e rimuovere le informazioni di configurazione da`/greengrass folder`.

   ```
   sudo apt purge aws-iot-greengrass-core aws-iot-greengrass-keyring
   ```

1. Rimuovi il repository del software AWS IoT Greengrass principale dall'elenco dei sorgenti. Per ulteriori informazioni, consulta [Rimuovi i sorgenti del repository software AWS IoT Greengrass principale](#ggc-package-manager-remove-sources).

### Rimuovi i sorgenti del repository software AWS IoT Greengrass principale
<a name="ggc-package-manager-remove-sources"></a>

È possibile rimuovere i sorgenti del AWS IoT Greengrass core software repository quando non è più necessario installare o aggiornare il software di AWS IoT Greengrass base dal repository APT. Dopo l'11 febbraio 2022, è necessario rimuovere il repository dall'elenco delle fonti per evitare errori durante l'esecuzione. `apt update`

**Per rimuovere il repository APT dall'elenco delle fonti**
+ Eseguite i seguenti comandi per rimuovere il repository del software AWS IoT Greengrass principale dall'elenco dei sorgenti.

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

## Esegui AWS IoT Greengrass in un contenitore Docker
<a name="gg-docker-support"></a>

AWS IoT Greengrass fornisce un Dockerfile e immagini Docker che semplificano l'esecuzione del software AWS IoT Greengrass Core in un contenitore Docker. Per ulteriori informazioni, consulta [AWS IoT Greengrass Software Docker](what-is-gg.md#gg-docker-download).

**Nota**  
È inoltre possibile eseguire un'applicazione Docker su un dispositivo principale Greengrass. Aggiunto il supporto per il [connettore di distribuzione dell'applicazione Greengrass Docker](docker-app-connector.md).

 

## Esegui in un attimo AWS IoT Greengrass
<a name="gg-snap-support"></a>

<a name="gg-snap-description"></a>AWS IoT Greengrass snap 1.11.x consente di eseguire una versione limitata di AWS IoT Greengrass tramite comodi pacchetti software, insieme a tutte le dipendenze necessarie, in un ambiente containerizzato.

<a name="gg-snap-support-ends"></a>[Il 31 dicembre 2023, AWS IoT Greengrass terminerà la manutenzione per la versione AWS IoT Greengrass principale del software 1.11.x Snap pubblicata su snapcraft.io.](https://snapcraft.io/aws-iot-greengrass) I dispositivi che attualmente eseguono Snap continueranno a funzionare fino a nuovo avviso. Tuttavia, lo Snap AWS IoT Greengrass principale non riceverà più patch di sicurezza o correzioni di bug al termine della manutenzione.

### Concetti relativi a
<a name="gg-snap-concepts"></a>

Di seguito sono riportati i concetti essenziali di snap per aiutarti a capire come utilizzare lo AWS IoT Greengrass snap:

**[Canale](https://snapcraft.io/docs/channels)**  
Un componente snap che definisce quale versione di uno snap è installata e monitorata per gli aggiornamenti. Gli snap vengono aggiornati automaticamente alla versione più recente del canale corrente.

**[Interfaccia](https://snapcraft.io/docs/interface-management)**  
Un componente snap che consente l'accesso a risorse, come reti e file utente.  
Per eseguire lo AWS IoT Greengrass snap, è necessario collegare le seguenti interfacce. Nota che `greengrass-support-no-container` deve essere prima connesso e mai disconnesso.  

```
      - greengrass-support-no-container
      - hardware-observe
      - home-for-hooks
      - hugepages-control
      - log-observe
      - mount-observe
      - network
      - network-bind
      - network-control
      - process-control
      - system-observe
```
Le altre interfacce sono opzionali. Se le funzioni Lambda richiedono l'accesso a risorse specifiche, potrebbe essere necessario connettersi alle interfacce appropriate.

**[Aggiorna](https://snapcraft.io/docs/managing-updates)**  
Gli snap vengono aggiornati automaticamente. Il `snapd` demone è il gestore di pacchetti snap che verifica la presenza di aggiornamenti quattro volte al giorno per impostazione predefinita. Ogni controllo di aggiornamento è chiamato aggiornamento. Quando si verifica un aggiornamento, il demone si arresta, lo snap viene aggiornato e quindi il demone si riavvia.

[Per ulteriori informazioni, consulta il sito Web di Snapcraft.](https://snapcraft.io/)

### Cosa c'è di nuovo con AWS IoT Greengrass snap v1.11.x
<a name="gg-snap-whats-new"></a>

Di seguito vengono descritte le novità e le modifiche apportate alla versione 1.11.x dello snap. AWS IoT Greengrass 
+ Questa versione supporta solo l'`snap_daemon`utente, esposto come ID utente (UID) e gruppo (GID). `584788`
+ Questa versione supporta solo funzioni Lambda non containerizzate.
**Importante**  
Poiché le funzioni Lambda non containerizzate devono condividere lo stesso utente `snap_daemon` (), le funzioni Lambda non sono isolate l'una dall'altra. Per ulteriori informazioni, vedere [Controllo dell'esecuzione delle funzioni di Greengrass Lambda utilizzando](https://docs.aws.amazon.com/greengrass/v1/developerguide/lambda-group-config.html) la configurazione specifica del gruppo.
+ Questa versione supporta i runtime C, C\$1\$1, Java 8, Node.js 12.x, Python 2.7, Python 3.7 e Python 3.8.
**Nota**  
Per evitare runtime Python ridondanti, le funzioni Lambda di Python 3.7 eseguono effettivamente il runtime di Python 3.8.

### AWS IoT Greengrass Iniziare con snap
<a name="gg-snap-get-started"></a>

La seguente procedura ti aiuta a installare e configurare lo AWS IoT Greengrass snap sul tuo dispositivo.

#### Requisiti
<a name="gg-snap-requirements"></a>

Per eseguire lo AWS IoT Greengrass snap, devi fare quanto segue:
+ Esegui lo AWS IoT Greengrass snap su una distribuzione Linux supportata, come Ubuntu, Linux Mint, Debian e Fedora.
+ Installa il `snapd` demone sul tuo dispositivo. Il `snapd` demone che include `snap` lo strumento gestisce l'ambiente snap sul tuo dispositivo. 

*Per l'elenco delle distribuzioni Linux supportate e le istruzioni di installazione, consulta [Installazione di snapd](https://snapcraft.io/docs/installing-snapd) nella documentazione di Snap.*

#### Installa e configura lo snap AWS IoT Greengrass
<a name="gg-snap-install-config"></a>

Il seguente tutorial mostra come installare e configurare lo AWS IoT Greengrass snap sul tuo dispositivo.

**Nota**  
Sebbene questo tutorial utilizzi un'istanza Amazon EC2 (x86 t2.micro Ubuntu 20.04), puoi eseguire lo AWS IoT Greengrass snap con hardware fisico, come un Raspberry Pi.
Il `snapd` demone è preinstallato su Ubuntu.

1. Installa lo `core18` snap eseguendo il seguente comando nel terminale del tuo dispositivo:

   ```
   sudo snap install core18
   ```

   Lo `core18` snap è uno [snap di base](https://snapcraft.io/docs/base-snaps) che fornisce un ambiente di runtime con librerie di uso comune. Questo snap è stato creato da [Ubuntu 18.04 LTS](http://releases.ubuntu.com/18.04/).

1. Effettua l'aggiornamento `snapd` eseguendo il seguente comando:

   ```
   sudo snap install --channel=edge snapd; sudo snap refresh --channel=edge snapd
   ```

1. Esegui il `snap list` comando per verificare se hai installato lo AWS IoT Greengrass snap.

   Il seguente esempio di risposta mostra che `snapd` è installato, ma `aws-iot-greengrass` non lo è.

   ```
   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
   ```

1. Scegli una delle seguenti opzioni per installare AWS IoT Greengrass snap 1.11.x.
   + Per installare lo AWS IoT Greengrass snap, esegui il seguente comando:

     ```
     sudo snap install aws-iot-greengrass
     ```

     Risposta di esempio:

     ```
     aws-iot-greengrass 1.11.5 from Amazon Web Services (aws) installed
     ```
   + Per migrare da una versione precedente alla v1.11.x o eseguire l'aggiornamento all'ultima versione di patch disponibile, esegui il comando seguente:

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

   Come altri snap, lo AWS IoT Greengrass snap utilizza i canali per gestire le versioni minori. Gli snap vengono aggiornati automaticamente all'ultima versione disponibile del canale corrente. Ad esempio, se lo specifichi`--channel=1.11.x`, lo AWS IoT Greengrass snap viene aggiornato alla v1.11.5. 

   È possibile eseguire il `snap info aws-iot-greengrass` comando per ottenere l'elenco dei canali disponibili per. AWS IoT Greengrass

   Risposta di esempio:

   ```
   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 -
   ```

1. Per accedere a risorse specifiche di cui le tue funzioni Lambda hanno bisogno, puoi connetterti a interfacce aggiuntive.

   Esegui il comando seguente per ottenere l'elenco delle interfacce supportate da AWS IoT Greengrass snap:

   ```
   snap connections aws-iot-greengrass
   ```

   Risposta di esempio:

   ```
   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      -
   ```

   Se vedi un trattino (-) nella colonna Slot, l'interfaccia corrispondente non è connessa.

1. Segui [Installazione del software AWS IoT Greengrass Core](module2.md) per creare un AWS IoT oggetto, un gruppo Greengrass, risorse di sicurezza che consentano comunicazioni sicure con AWS IoT e il file di configurazione del software AWS IoT Greengrass Core. Il file di configurazione contiene configurazioni specifiche del core di Greengrass, come la posizione dei file dei certificati e l'endpoint dei dati del AWS IoT dispositivo. `config.json`
**Nota**  
Se hai scaricato il file su un altro dispositivo, segui questo [passaggio](start-greengrass.md#transfer-files-to-device) per trasferire i file sul dispositivo AWS IoT Greengrass principale.

1. Per prima AWS IoT Greengrass cosa, assicurati di aggiornare il file [config.json](gg-core.md#config-json), come illustrato di seguito:
   + Sostituisci ogni istanza di *certificateId* con l'ID del certificato nel nome del certificato e dei file chiave.
   + Se hai scaricato un certificato Amazon Root CA diverso da Amazon Root CA 1, sostituisci ogni istanza di *AmazonRootCA1.pem* con il nome del file Amazon root CA.

   ```
   {
     ...
     "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"
   }
   ```

1. Esegui il comando seguente per aggiungere il AWS IoT Greengrass certificato e i file di configurazione:

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

### Implementazione di una funzione Lambda
<a name="gg-snap-lambda"></a>

Questa sezione mostra come implementare una funzione Lambda gestita dal cliente sullo AWS IoT Greengrass snap.

**Importante**  
AWS IoT Greengrass snap v1.11 supporta solo funzioni Lambda non containerizzate.

1. Esegui il comando seguente per avviare il demone: AWS IoT Greengrass 

   ```
   sudo snap start aws-iot-greengrass
   ```

   Risposta di esempio:

   ```
   Started.
   ```
**Nota**  
Se si verifica un errore, è possibile utilizzare il `snap run` comando per un messaggio di errore dettagliato. Per ulteriori informazioni sulla risoluzione dei problemi, vedere[errore: impossibile eseguire le seguenti attività: - Esegui il comando di servizio «start» per i servizi ["greengrassd"] di snap "" ([start snap. aws-iot-greengrass aws-iot-greengrass.greengrassd.service] non riuscito con exit status 1: Job for snap. aws-iot-greengrass.greengrassd.service non è riuscito perché il processo di controllo è terminato con un codice di errore. Vedi «systemctl status snap». aws-iot-greengrass.greengrassd.service» e «journalctl -xe» per i dettagli.)](#gg-snap-troubleshoot-snaprun).

1. Esegui il comando seguente per confermare che il demone è in esecuzione: 

   ```
   snap services aws-iot-greengrass.greengrassd
   ```

   Risposta di esempio:

   ```
   Service                         Startup   Current  Notes
   aws-iot-greengrass.greengrassd  disabled  active   -
   ```

1. Segui il [Modulo 3 (parte 1): Lambda funziona AWS IoT Greengrass](https://docs.aws.amazon.com/greengrass/v1/developerguide/module3-I.html) per creare e distribuire una funzione Hello World Lambda. Tuttavia, prima di distribuire la funzione Lambda, completa il passaggio successivo.

1. Assicurati che la tua funzione Lambda venga eseguita come `snap_daemon` utente e in modalità senza contenitore. Per aggiornare le impostazioni del tuo gruppo Greengrass, procedi come segue nella AWS IoT Greengrass console:

   1. Accedi alla AWS IoT Greengrass console.

   1. <a name="console-gg-groups"></a>Nel riquadro di navigazione della AWS IoT console, in **Gestione**, espandi **i dispositivi Greengrass**, quindi scegli **Gruppi (V1**).

   1. In **Gruppi Greengrass**, scegli il gruppo target.

   1. Nella pagina di configurazione del gruppo, nel riquadro di navigazione, scegli la scheda **Funzioni Lambda**.

   1. In **Ambiente di runtime della funzione Lambda predefinito**, scegliete **Modifica** ed effettuate le seguenti operazioni:

      1. Per **Utente e gruppo di sistema predefiniti**, scegliete **Un altro ID/group ID utente**, quindi immettete sia **584788** l'**ID utente di sistema (numero)** che l'**ID del gruppo di sistema (numero)**.

      1. **Per la **containerizzazione predefinita della funzione Lambda**, scegli Nessun contenitore.**

      1. Scegli **Save** (Salva).

### Arresto del demone AWS IoT Greengrass
<a name="gg-snap-stop"></a>

È possibile utilizzare il `snap stop` comando per interrompere un servizio.

Per fermare il AWS IoT Greengrass demone, esegui il seguente comando:

```
sudo snap stop aws-iot-greengrass
```

Il comando dovrebbe tornare. `Stopped.`

Per verificare se lo snap è stato interrotto correttamente, esegui il seguente comando:

```
snap services aws-iot-greengrass.greengrassd
```

Risposta di esempio:

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

### Disinstallazione dello snap AWS IoT Greengrass
<a name="gg-snap-uninstall"></a>

Per disinstallare lo AWS IoT Greengrass snap, esegui il seguente comando:

```
sudo snap remove aws-iot-greengrass
```

Risposta di esempio:

```
aws-iot-greengrass removed
```

### Risoluzione dei problemi relativi allo AWS IoT Greengrass snap
<a name="gg-snap-troubleshoot"></a>

Utilizza le seguenti informazioni per risolvere i problemi relativi allo AWS IoT Greengrass snap.

#### Errori relativi all'autorizzazione ottenuta e negata.
<a name="gg-snap-troubleshoot-permission-denied"></a>

**Soluzione**: gli errori di autorizzazione negata sono spesso dovuti alla mancanza di interfacce. Per l'elenco delle interfacce mancanti e informazioni dettagliate sulla risoluzione dei problemi, puoi utilizzare lo `snappy-debug` strumento.

Eseguite il comando seguente per installare lo strumento.

```
sudo snap install snappy-debug
```

Risposta di esempio:

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

Esegui il `sudo snappy-debug` comando in una sessione terminale separata. L'operazione continua fino a quando non si verifica un errore di autorizzazione negata.

Ad esempio, se la funzione Lambda tenta di leggere un file nella `$HOME` directory, potresti ottenere la seguente risposta:

```
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'
```

Questo esempio mostra che la creazione del `/home/ubuntu/my-file.txt` file ha causato l'errore di autorizzazione. Suggerisce inoltre di aggiungere `home` a`plugs`. Tuttavia, questo suggerimento non è applicabile. Agli `home-for-greengrassd` and `home-for-hooks` plug viene concesso solo l'accesso in sola lettura.

*Per maggiori informazioni, consulta [The snappy-debug snap nella documentazione](https://snapcraft.io/docs/debug-snaps#heading--snappy-debug) di Snap.*

#### errore: impossibile eseguire le seguenti attività: - Esegui il comando di servizio «start» per i servizi ["greengrassd"] di snap "" ([start snap. aws-iot-greengrass aws-iot-greengrass.greengrassd.service] non riuscito con exit status 1: Job for snap. aws-iot-greengrass.greengrassd.service non è riuscito perché il processo di controllo è terminato con un codice di errore. Vedi «systemctl status snap». aws-iot-greengrass.greengrassd.service» e «journalctl -xe» per i dettagli.)
<a name="gg-snap-troubleshoot-snaprun"></a>

**Soluzione**: questo errore potrebbe verificarsi quando il `snap start aws-iot-greengrass` comando non riesce ad avviare il software Core. AWS IoT Greengrass 

Per ulteriori informazioni sulla risoluzione dei problemi, esegui il comando seguente:

```
sudo snap run aws-iot-greengrass.greengrassd
```

Risposta di esempio:

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

Questo esempio mostra che AWS IoT Greengrass non è stato possibile trovare il `config.json` file. Potresti controllare i file di configurazione e di certificato.

#### /non var/snap/aws-iot-greengrass/current/ggc-write-directory/packages/1.11.5/rootfs/merged è un percorso assoluto o è un collegamento simbolico.
<a name="gg-snap-troubleshoot-lambda"></a>

**Soluzione**: lo AWS IoT Greengrass snap supporta solo funzioni Lambda non containerizzate. Assicurati di eseguire le funzioni Lambda in modalità no container. *Per ulteriori informazioni, consulta [Considerazioni sulla scelta della containerizzazione delle funzioni Lambda nella](https://docs.aws.amazon.com/greengrass/v1/developerguide/lambda-group-config.html#no-container-mode) Guida per gli sviluppatori.AWS IoT Greengrass Version 1 *

#### Il demone snapd non è riuscito a riavviarsi dopo aver eseguito il comando sudo snap refresh snapd.
<a name="gg-snap-troubleshoot-snapd"></a>

**Soluzione**: segui i passaggi da 6 a 8 [Installa e configura lo snap AWS IoT Greengrass](#gg-snap-install-config) per aggiungere il AWS IoT Greengrass certificato e i file di configurazione allo snap. AWS IoT Greengrass 

## Archivia e installazione del software AWS IoT Greengrass Core
<a name="archive-ggc-version"></a>

Quando esegui l'aggiornamento a una nuova versione del software AWS IoT Greengrass Core, puoi archiviare la versione attualmente installata. In questo modo, l'ambiente di installazione corrente resta a disposizione e puoi testare una nuova versione del software sullo stesso hardware. Questo semplifica inoltre l'esecuzione del rollback alla versione archiviata per qualsiasi motivo.

**Per archiviare l'installazione corrente e installare una nuova versione**

1. Scaricare il pacchetto di installazione del [software AWS IoT Greengrass Core](what-is-gg.md#gg-core-download-tab) che si desidera utilizzare per l'aggiornamento.

1. Copiare il pacchetto nel dispositivo core di destinazione. Per istruzioni che mostrano come trasferire i file, consulta questa [fase](start-greengrass.md#transfer-files-to-device).
**Nota**  
I certificati, le chiavi e il file di configurazione correnti verranno copiati nella nuova installazione in seguito.

   Eseguire i comandi nelle fasi seguenti nel terminale del dispositivo core:

1. Assicurarsi che il daemon Greengrass sia stato arrestato sul dispositivo core.

   1. Per controllare se il daemon è in esecuzione:

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

      Se l'output contiene una voce `root` per `/greengrass/ggc/packages/ggc-version/bin/daemon`, allora il daemon è in esecuzione.
**Nota**  
Questa procedura è stata scritta presupponendo che il software AWS IoT Greengrass Core sia installato nella `/greengrass` directory.

   1. Per arrestare il daemon:

      ```
      cd /greengrass/ggc/core/
      sudo ./greengrassd stop
      ```

1. Sposta la directory principale di Greengrass in una directory diversa.

   ```
   sudo mv /greengrass /greengrass_backup
   ```

1. Decomprimi il nuovo software sul dispositivo core. Sostituite i *version* segnaposto *os-architecture* e nel comando.

   ```
   sudo tar –zxvf greengrass-os-architecture-version.tar.gz –C /
   ```

1. Copia i certificati, le chiavi e il file di configurazione archiviati nella nuova installazione.

   ```
   sudo cp /greengrass_backup/certs/* /greengrass/certs
   sudo cp /greengrass_backup/config/* /greengrass/config
   ```

1. Avvia il daemon:

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

Ora è possibile effettuare una distribuzione del gruppo per testare la nuova installazione. Se si verifica un errore, è possibile ripristinare l'installazione archiviata.

**Per ripristinare l'installazione archiviata**

1. Arresta il daemon.

1. Elimina la nuova directory `/greengrass`.

1. Riporta la directory `/greengrass_backup` in `/greengrass`.

1. Avvia il daemon.