

Aviso de fin de soporte: el 7 de octubre de 2026, AWS suspenderemos el soporte para AWS IoT Greengrass Version 1. Después del 7 de octubre de 2026, ya no podrá acceder a los AWS IoT Greengrass V1 recursos. Para obtener más información, visita [Migrar desde AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html).

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Instale el software AWS IoT Greengrass principal
<a name="install-ggc"></a>

<a name="ggc-software-descripton"></a> El software AWS IoT Greengrass Core extiende la AWS funcionalidad a un dispositivo AWS IoT Greengrass principal, lo que permite que los dispositivos locales actúen de forma local a partir de los datos que generan.

AWS IoT Greengrass ofrece varias opciones para instalar el software AWS IoT Greengrass Core:
+ [Descargar y extraer un archivo tar.gz](#download-and-extract-tarball).
+ [Ejecutar el script de configuración de dispositivos Greengrass](#run-device-setup-script).
+ [Instalar desde un repositorio APT](#ggc-package-manager).

AWS IoT Greengrass también proporciona entornos en contenedores en los que se ejecuta el software AWS IoT Greengrass Core.
+ Se [ejecuta AWS IoT Greengrass en un contenedor de Docker](#gg-docker-support).
+ [Corre AWS IoT Greengrass en un abrir y cerrar de ojos](#gg-snap-support).

 

## Descargue y extraiga el paquete de software AWS IoT Greengrass Core
<a name="download-and-extract-tarball"></a>

Elija el software AWS IoT Greengrass Core de su plataforma para descargarlo como un archivo tar.gz y extráigalo en su dispositivo. Puede descargar versiones recientes del software. Para obtener más información, consulte [AWS IoT Greengrass Software básico](what-is-gg.md#gg-core-download-tab).

 

## Ejecutar el script de configuración de dispositivos Greengrass
<a name="run-device-setup-script"></a>

Ejecute Greengrass Device Setup para configurar su dispositivo, instale la última versión del software AWS IoT Greengrass Core e implemente una función Lambda de Hello World en cuestión de minutos. Para obtener más información, consulte [Inicio rápido: configuración del dispositivo Greengrass](quick-start.md).

 

## Instale el software AWS IoT Greengrass Core desde un repositorio de APT
<a name="ggc-package-manager"></a>

**importante**  
A partir del 11 de febrero de 2022, ya no podrá instalar ni actualizar el software AWS IoT Greengrass principal desde un repositorio de APT. En los dispositivos en los que agregó el AWS IoT Greengrass repositorio, debe [eliminarlo de la lista de fuentes](#ggc-package-manager-remove-sources). Los dispositivos que ejecutan el software desde el repositorio de APT seguirán funcionando con normalidad. Le recomendamos que actualice el software AWS IoT Greengrass principal mediante [archivos tar](#download-and-extract-tarball).

El repositorio APT proporcionado por AWS IoT Greengrass incluye los siguientes paquetes:
+ `aws-iot-greengrass-core`. Instala el software AWS IoT Greengrass principal.
+ `aws-iot-greengrass-keyring`. Instala las claves de GnuPG (GPG) utilizadas para firmar el repositorio de paquetes. AWS IoT Greengrass 

  Al descargar este software, acepta el [acuerdo de licencia del software de Greengrass Core](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf).

**Topics**
+ [Uso de scripts de systemd para administrar el ciclo de vida del demonio de Greengrass](#ggc-package-manager-systemd)
+ [Desinstale el software AWS IoT Greengrass principal mediante el repositorio APT](#ggc-package-manager-uninstall)
+ [Elimine las fuentes AWS IoT Greengrass principales del repositorio de software](#ggc-package-manager-remove-sources)

### Uso de scripts de systemd para administrar el ciclo de vida del demonio de Greengrass
<a name="ggc-package-manager-systemd"></a>

El `aws-iot-greengrass-core` paquete también instala `systemd` scripts que puede usar para administrar el ciclo de vida del software AWS IoT Greengrass principal (daemon).
+ Para iniciar el demonio de Greengrass durante el arranque:

  ```
  systemctl enable greengrass.service
  ```
+ Para iniciar el demonio de Greengrass:

  ```
  systemctl start greengrass.service
  ```
+ Para detener el demonio de Greengrass:

  ```
  systemctl stop greengrass.service
  ```
+ Para comprobar el estado del demonio de Greengrass:

  ```
  systemctl status greengrass.service
  ```

### Desinstale el software AWS IoT Greengrass principal mediante el repositorio APT
<a name="ggc-package-manager-uninstall"></a>

Al desinstalar el software AWS IoT Greengrass principal, puede elegir si desea conservar o eliminar la información de configuración del software AWS IoT Greengrass principal, como los certificados de los dispositivos, la información de los grupos y los archivos de registro.

**Para desinstalar el software AWS IoT Greengrass principal y conservar la información de configuración**
+ Ejecute el siguiente comando para eliminar los paquetes de software AWS IoT Greengrass principales y conservar la información de configuración de la `/greengrass` carpeta.

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

**Para desinstalar el software AWS IoT Greengrass principal y eliminar la información de configuración**

1. Ejecute el siguiente comando para eliminar los paquetes de software AWS IoT Greengrass principales y eliminar la información de configuración del`/greengrass folder`.

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

1. Elimine el repositorio de software AWS IoT Greengrass principal de la lista de fuentes. Para obtener más información, consulte [Elimine las fuentes AWS IoT Greengrass principales del repositorio de software](#ggc-package-manager-remove-sources).

### Elimine las fuentes AWS IoT Greengrass principales del repositorio de software
<a name="ggc-package-manager-remove-sources"></a>

Puede eliminar las fuentes del repositorio de software AWS IoT Greengrass principal cuando ya no necesite instalar o actualizar el software AWS IoT Greengrass principal del repositorio de APT. Después del 11 de febrero de 2022, debe eliminar el repositorio de su lista de fuentes para evitar que se produzca un error al ejecutar `apt update`.

**Para eliminar el repositorio de APT de la lista de fuentes**
+ Ejecute los siguientes comandos para eliminar el repositorio de software AWS IoT Greengrass principal de la lista de fuentes.

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

## Ejecute AWS IoT Greengrass en un contenedor de Docker
<a name="gg-docker-support"></a>

AWS IoT Greengrass proporciona un Dockerfile e imágenes de Docker que facilitan la ejecución del software AWS IoT Greengrass principal en un contenedor de Docker. Para obtener más información, consulte [AWS IoT Greengrass Software Docker](what-is-gg.md#gg-docker-download).

**nota**  
También puede ejecutar una aplicación de Docker en un dispositivo central de Greengrass. Para ello, utilice el [Conector de implementación de la aplicación Greengrass Docker](docker-app-connector.md).

 

## Se ejecuta en un abrir y cerrar de ojos AWS IoT Greengrass
<a name="gg-snap-support"></a>

<a name="gg-snap-description"></a>AWS IoT Greengrass snap 1.11.x le permite ejecutar una versión limitada a AWS IoT Greengrass través de cómodos paquetes de software, junto con todas las dependencias necesarias, en un entorno contenerizado.

<a name="gg-snap-support-ends"></a>[El 31 de diciembre de 2023, AWS IoT Greengrass finalizará el mantenimiento de la versión 1.11.x del software AWS IoT Greengrass principal, Snap, publicada en snapcraft.io.](https://snapcraft.io/aws-iot-greengrass) Los dispositivos que ejecutan actualmente el Snap seguirán funcionando hasta nuevo aviso. Sin embargo, el Snap AWS IoT Greengrass principal dejará de recibir parches de seguridad ni correcciones de errores una vez que finalice el mantenimiento.

### Conceptos de Snap
<a name="gg-snap-concepts"></a>

Los siguientes son conceptos básicos de Snap que le ayudarán a entender cómo usar el snap AWS IoT Greengrass :

**[Canal](https://snapcraft.io/docs/channels)**  
Un componente de snap que define qué versión de un snap se instala y se le realiza el seguimiento de las actualizaciones. Los snaps se actualizan automáticamente a la última versión del canal actual.

**[Interfaz](https://snapcraft.io/docs/interface-management)**  
Un componente de snap que permite el acceso a los recursos, como las redes y los archivos de los usuarios.  
Para ejecutar el AWS IoT Greengrass snap, deben estar conectadas las siguientes interfaces. Tenga en cuenta que `greengrass-support-no-container` debe conectarse primero y nunca desconectarse.  

```
      - greengrass-support-no-container
      - hardware-observe
      - home-for-hooks
      - hugepages-control
      - log-observe
      - mount-observe
      - network
      - network-bind
      - network-control
      - process-control
      - system-observe
```
Todas las demás interfaces son opcionales. Si las funciones de Lambda requieren acceso a recursos específicos, es posible que necesite conectarse a las interfaces adecuadas.

**[Actualizar](https://snapcraft.io/docs/managing-updates)**  
Los snaps se actualizan automáticamente. De forma predeterminada, el snap daemon `snapd` es el administrador de paquetes de snap que comprueba si hay actualizaciones cuatro veces al día. Cada comprobación de actualizaciones se denomina actualización. Cuando se produce una actualización, daemon se detiene, el snap se actualiza y, a continuación, daemon se reinicia.

Para obtener más información, consulte el sitio web de [Snapcraft](https://snapcraft.io/).

### ¿Qué hay de nuevo en AWS IoT Greengrass Snap v1.11.x
<a name="gg-snap-whats-new"></a>

A continuación, se describen las novedades y los cambios de la versión 1.11.x de snap AWS IoT Greengrass .
+ Esta versión solo es compatible con el usuario `snap_daemon`, que se muestra como ID de usuario (UID) y de grupo (GID) `584788`.
+ Esta versión solo admite funciones de Lambda no organizadas en contenedores.
**importante**  
Como las funciones de Lambda no organizadas en contenedores deben compartir el mismo usuario (`snap_daemon`), las funciones de Lambda no están aisladas entre sí. Para obtener más información, consulte [Control de la ejecución de las funciones de Lambda de Greengrass mediante una configuración específica del grupo](https://docs.aws.amazon.com/greengrass/v1/developerguide/lambda-group-config.html).
+ Esta versión es compatible con los tiempos de ejecución C, C\$1\$1, Java 8, Node.js 12.x, Python 2.7, Python 3.7 y Python 3.8.
**nota**  
Para evitar tiempos de ejecución redundantes de Python, las funciones de Lambda de Python 3.7 en realidad ejecutan el tiempo de ejecución de Python 3.8.

### ¿Cómo empezar con Snap AWS IoT Greengrass
<a name="gg-snap-get-started"></a>

El siguiente procedimiento le ayuda a instalar y configurar el AWS IoT Greengrass snap en su dispositivo.

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

Para ejecutar el AWS IoT Greengrass snap, debe hacer lo siguiente:
+ Ejecute el AWS IoT Greengrass snap en una distribución de Linux compatible, como Ubuntu, Linux Mint, Debian y Fedora.
+ Instale daemon `snapd` en su dispositivo. Daemon `snapd`, incluida la herramienta `snap`, administra el entorno de snap en su dispositivo. 

Para ver la lista de distribuciones de Linux compatibles y las instrucciones de instalación, consulte [Instalación de snapd](https://snapcraft.io/docs/installing-snapd) en la *documentación de Snap*.

#### Instala y configura la instantánea AWS IoT Greengrass
<a name="gg-snap-install-config"></a>

El siguiente tutorial le muestra cómo instalar y configurar el AWS IoT Greengrass snap en su dispositivo.

**nota**  
Aunque en este tutorial se utiliza una instancia de Amazon EC2 (x86 t2.micro Ubuntu 20.04), puede ejecutar la AWS IoT Greengrass instantánea con hardware físico, como una Raspberry Pi.
Daemon `snapd` viene preinstalado en Ubuntu.

1. Instale el snap de `core18` ejecutando el siguiente comando en el terminal del dispositivo:

   ```
   sudo snap install core18
   ```

   El snap `core18` es una [snap básico](https://snapcraft.io/docs/base-snaps) que proporciona un entorno de tiempo de ejecución con bibliotecas de uso frecuente. Este snap se ha creado a partir de [Ubuntu 18.04 LTS](http://releases.ubuntu.com/18.04/).

1. Actualice `snapd` ejecutando el siguiente comando:

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

1. Ejecute el `snap list` comando para comprobar si tiene el snap instalado. AWS IoT Greengrass 

   El siguiente ejemplo de respuesta muestra que `snapd` está instalado, pero `aws-iot-greengrass` no lo está.

   ```
   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. Elija una de las siguientes opciones para instalar AWS IoT Greengrass snap 1.11.x.
   + Para instalar el AWS IoT Greengrass snap, ejecute el siguiente comando:

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

     Ejemplo de respuesta:

     ```
     aws-iot-greengrass 1.11.5 from Amazon Web Services (aws) installed
     ```
   + Para migrar de una versión anterior a la versión 1.11.x o actualizar a la última versión de parche disponible, ejecute el siguiente comando:

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

   Al igual que otras instantáneas, la AWS IoT Greengrass instantánea usa canales para administrar las versiones secundarias. Los snaps se actualizan automáticamente a la última versión disponible del canal actual. Por ejemplo, si lo especificas`--channel=1.11.x`, tu AWS IoT Greengrass instantánea se actualizará a la versión 1.11.5. 

   Puede ejecutar el `snap info aws-iot-greengrass` comando para obtener la lista de canales disponibles. AWS IoT Greengrass

   Ejemplo de respuesta:

   ```
   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. Para acceder a los recursos específicos que necesitan sus funciones de Lambda, puede conectarse a interfaces adicionales.

   Ejecute el siguiente comando para obtener la lista de interfaces compatibles con AWS IoT Greengrass Snap:

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

   Ejemplo de respuesta:

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

   Si ve un guion (-) en la columna Slot (Ranura), la interfaz correspondiente no está conectada.

1. Siga [Instalación del software AWS IoT Greengrass principal](module2.md) para crear una AWS IoT cosa, un grupo de Greengrass, recursos de seguridad que permitan una comunicación segura y el AWS IoT archivo de configuración del software AWS IoT Greengrass principal. El archivo de configuración,`config.json`, contiene la configuración específica de su núcleo de Greengrass, como la ubicación de los archivos de certificado y el punto final de datos del AWS IoT dispositivo.
**nota**  
Si descargó el archivo en un dispositivo diferente, siga este [paso](start-greengrass.md#transfer-files-to-device) para transferir los archivos al dispositivo AWS IoT Greengrass principal.

1. Para la AWS IoT Greengrass instantánea, asegúrate de actualizar el archivo [config.json](gg-core.md#config-json), como se muestra a continuación:
   + Sustituya cada instancia de *certificateId* por el identificador del certificado en el nombre de los archivos de certificado y clave.
   + Si ha descargado un certificado de CA raíz de Amazon diferente al de Amazon Root CA 1, sustituya cada instancia de *AmazonRootCA1.pem* por el nombre del archivo de CA raíz de Amazon.

   ```
   {
     ...
     "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. Ejecute el siguiente comando para añadir el AWS IoT Greengrass certificado y los archivos de configuración:

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

### Despliegue de una función de Lambda
<a name="gg-snap-lambda"></a>

En esta sección, se muestra cómo implementar una función de Lambda gestionada por el cliente en el snap AWS IoT Greengrass .

**importante**  
AWS IoT Greengrass snap v1.11 solo admite funciones Lambda no contenedorizadas.

1. Ejecute el siguiente comando para iniciar el daemon: AWS IoT Greengrass 

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

   Ejemplo de respuesta:

   ```
   Started.
   ```
**nota**  
Si aparece un error, puede usar el comando `snap run` para obtener un mensaje de error detallado. Para obtener más información sobre la solución de problemas, consulte [error: no se pueden realizar las siguientes tareas: - Ejecute el comando de servicio «start» para los servicios ["greengrassd"] de snap "aws-iot-greengrass" ([start snap. aws-iot-greengrass.greengrassd.service] falló con el estado de salida 1: Job for snap. aws-iot-greengrass.greengrassd.service falló porque el proceso de control finalizó con un código de error. Consulte «resumen de estado de systemctl». aws-iot-greengrass.greengrassd.service y journalctl -xe para obtener más información.)](#gg-snap-troubleshoot-snaprun).

1. Ejecute el siguiente comando para confirmar que el daemon se está ejecutando: 

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

   Ejemplo de respuesta:

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

1. Siga el [módulo 3 (parte 1): funciones de Lambda en AWS IoT Greengrass](https://docs.aws.amazon.com/greengrass/v1/developerguide/module3-I.html) para crear e implementar una función de Lambda de Hello World. Sin embargo, antes de implementar la función de Lambda, complete el siguiente paso.

1. Asegúrese de que la función de Lambda se ejecute como usuario `snap_daemon` y en modo sin contenedor. Para actualizar la configuración de su grupo de Greengrass, haga lo siguiente en la AWS IoT Greengrass consola:

   1. Inicie sesión en la AWS IoT Greengrass consola.

   1. <a name="console-gg-groups"></a>En el panel de navegación de la AWS IoT consola, en **Administrar**, expanda **los dispositivos Greengrass** y, a continuación, elija **Grupos (V1)**.

   1. En **Grupos de Greengrass**, elija el grupo objetivo.

   1. En la página de configuración del grupo, en el panel de navegación, elija la pestaña **Funciones de Lambda**

   1. En **Entorno de tiempo de ejecución predeterminado de funciones de Lambda**, elija **Editar**, y haga lo siguiente:

      1. En **Usuario y grupo predeterminados del sistema**, elija **Otro ID/group ID de usuario** y, a continuación, introduzca **584788** tanto el **ID de usuario del sistema (número)** como el **ID de grupo del sistema (número)**.

      1. Para la **Creación de contenedores predeterminada de la función de Lambda**, elija **Sin contenedor**.

      1. Seleccione **Save**.

### ¿Detener el AWS IoT Greengrass daemon
<a name="gg-snap-stop"></a>

Puede utilizar el comando `snap stop` para detener un servicio.

Para detener el AWS IoT Greengrass daemon, ejecute el siguiente comando:

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

El comando debe devolver `Stopped.`.

Para comprobar si el snap se detuvo correctamente, ejecute el siguiente comando:

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

Ejemplo de respuesta:

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

### Desinstalando el snap AWS IoT Greengrass
<a name="gg-snap-uninstall"></a>

Para desinstalar el AWS IoT Greengrass snap, ejecute el siguiente comando:

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

Ejemplo de respuesta:

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

### Solución de problemas del AWS IoT Greengrass snap
<a name="gg-snap-troubleshoot"></a>

Utilice la siguiente información para solucionar problemas relacionados con el AWS IoT Greengrass snap.

#### Con errores de permiso denegado.
<a name="gg-snap-troubleshoot-permission-denied"></a>

**Solución**: los errores de permiso denegado suelen deberse a la falta de interfaces. Para obtener la lista de las interfaces que faltan y la información detallada sobre la solución de problemas, puede utilizar la herramienta `snappy-debug`.

Ejecute el siguiente comando para instalar la herramienta.

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

Ejemplo de respuesta:

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

Ejecute el comando `sudo snappy-debug` en una nueva sesión de terminal. La operación continúa hasta que se produce un error de permiso denegado.

Por ejemplo, si la función de Lambda intenta leer un archivo del directorio `$HOME`, es posible que obtenga la siguiente respuesta:

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

En este ejemplo se muestra que la creación del archivo `/home/ubuntu/my-file.txt` provocó el error de permiso. También sugiere que añada `home` a `plugs`. Sin embargo, esta sugerencia no se puede aplicar. Los enchufes `home-for-greengrassd` y `home-for-hooks` solo tienen acceso de solo lectura.

Para obtener más información, consulte [Depuración rápida de snap](https://snapcraft.io/docs/debug-snaps#heading--snappy-debug) en la *documentación de Snap*.

#### error: no se pueden realizar las siguientes tareas: - Ejecute el comando de servicio «start» para los servicios ["greengrassd"] de snap "aws-iot-greengrass" ([start snap. aws-iot-greengrass.greengrassd.service] falló con el estado de salida 1: Job for snap. aws-iot-greengrass.greengrassd.service falló porque el proceso de control finalizó con un código de error. Consulte «resumen de estado de systemctl». aws-iot-greengrass.greengrassd.service y journalctl -xe para obtener más información.)
<a name="gg-snap-troubleshoot-snaprun"></a>

**Solución**: es posible que aparezca este error cuando el comando no pueda iniciar el `snap start aws-iot-greengrass` software Core. AWS IoT Greengrass 

Para obtener más información de solución de problemas, ejecute el comando siguiente:

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

Ejemplo de respuesta:

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

Este ejemplo muestra que no se AWS IoT Greengrass pudo encontrar el `config.json` archivo. Puede comprobar los archivos de configuración y de certificado.

#### /no var/snap/aws-iot-greengrass/current/ggc-write-directory/packages/1.11.5/rootfs/merged es una ruta absoluta ni es un enlace simbólico.
<a name="gg-snap-troubleshoot-lambda"></a>

**Solución**: el AWS IoT Greengrass snap solo admite funciones Lambda no contenedorizadas. Asegúrese de que ejecuta sus funciones de Lambda como usuario y en modo sin contenedor. Para obtener más información, consulte [Consideraciones a la hora de elegir la creación de contenedores de funciones de Lambda](https://docs.aws.amazon.com/greengrass/v1/developerguide/lambda-group-config.html#no-container-mode) en la *Guía del desarrollador de AWS IoT Greengrass Version 1 *.

#### El snapd daemon no se pudo reiniciar después de ejecutar el comando sudo snap actualizar snapd.
<a name="gg-snap-troubleshoot-snapd"></a>

**Solución**: siga los pasos 6 a 8 [Instala y configura la instantánea AWS IoT Greengrass](#gg-snap-install-config) para añadir el AWS IoT Greengrass certificado y los archivos de configuración a la instantánea. AWS IoT Greengrass 

## Archive cualquier instalación de software AWS IoT Greengrass principal
<a name="archive-ggc-version"></a>

Al actualizar a una nueva versión del software AWS IoT Greengrass principal, puede archivar la versión actualmente instalada. De esta forma, conservará el entorno de instalación actual para que pueda probar una nueva versión de software en el mismo hardware. Esto permite también revertir la versión archivada.

**Para archivar la instalación actual e instalar una nueva versión**

1. Descargue el paquete de instalación del [software AWS IoT Greengrass Core](what-is-gg.md#gg-core-download-tab) al que desee actualizar.

1. Copie el paquete en el dispositivo de núcleo de destino. Para obtener instrucciones sobre cómo transferir archivos, consulte este [paso](start-greengrass.md#transfer-files-to-device).
**nota**  
Copiará los certificados, las claves y el archivo de configuración actuales en la nueva instalación más adelante.

   Ejecute los comandos de los siguientes pasos en el terminal del dispositivo de núcleo.

1. Asegúrese de que el demonio de Greengrass está detenido en el dispositivo de núcleo.

   1. Para comprobar si el daemon está en ejecución:

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

      Si la salida contiene una entrada `root` para `/greengrass/ggc/packages/ggc-version/bin/daemon`, el daemon está en ejecución.
**nota**  
Este procedimiento se escribe partiendo del supuesto de que el software AWS IoT Greengrass Core está instalado en el `/greengrass` directorio.

   1. Para detener el daemon :

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

1. Mueva el directorio raíz de Greengrass actual a otro directorio.

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

1. Descomprima el nuevo software en el dispositivo de núcleo. Sustituya los *version* marcadores de posición *os-architecture* y en el comando.

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

1. Copie los certificados, las claves y el archivo de configuración archivados en la nueva instalación.

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

1. Inicie el demonio:

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

Ahora, puede crear una implementación de grupo para probar la nueva instalación. Si se produce algún error, puede restaurar la instalación archivada.

**Para restaurar la instalación archivada**

1. Detenga el demonio.

1. Elimine el nuevo directorio `/greengrass`.

1. Mueva el directorio `/greengrass_backup` de nuevo a `/greengrass`.

1. Inicie el daemon.