

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Greengrass Nucleus Lite
<a name="greengrass-nucleus-lite-component"></a>

Greengrass nucleus lite `aws.greengrass.NucleusLite` () 是一款适用于受限边缘设备的设备运行时，针对内存占用量最小（使用少于 15MB 的 RAM）进行了优化。它已在 2.14.0 AWS IoT Greengrass 版本中引入，向后兼容 AWS IoT Greengrass 通用组件、Greengrass V2 API 和 SDK。

Greengrass Nucleus Lite 用作普通[ Greengrass Nucleus (`aws.greengrass.Nucleus`) ](https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-component.html)的替代品，可用于异构 Greengrass 设备实例集。

**Topics**
+ [版本](#greengrass-nucleus-lite-component-versions)
+ [操作系统](#greengrass-nucleus-lite-component-os-support)
+ [要求](#greengrass-nucleus-lite-component-requirements)
+ [兼容性](#greengrass-nucleus-lite-component-compatibility)
+ [下载并安装](#greengrass-nucleus-lite-component-install)
+ [配置](#greengrass-nucleus-lite-component-configuration)
+ [本地日志文件](#greengrass-nucleus-lite-component-log-file)
+ [更改日志](#greengrass-nucleus-lite-component-changelog)

## 版本
<a name="greengrass-nucleus-lite-component-versions"></a>

此组件具有以下版本：
+ 2.5.x
+ 2.4.x
+ 2.3.x
+ 2.2.x
+ 2.1.x
+ 2.0.x

## 操作系统
<a name="greengrass-nucleus-lite-component-os-support"></a>

此组件可以安装在运行以下操作系统的核心设备上：
+ Linux（使用 systemd 的发行版）

有关更多信息，请参阅 [Greengrass Nucleus](https://docs.aws.amazon.com/greengrass/v2/developerguide/operating-system-feature-support-matrix.html)。

## 要求
<a name="greengrass-nucleus-lite-component-requirements"></a>

设备必须满足某些要求才能安装和运行 nu AWS IoT Greengrass cleus lite 和 AWS IoT Greengrass Core 软件。有关更多信息，请参阅[设置指南](https://github.com/aws-greengrass/aws-greengrass-lite/blob/main/docs/SETUP.md#setting-up-greengrass-nucleus-lite)。
+ Nucleus 运行时有 15MB 的内存空间。
+ 5MB 的存储空间 (disk/FLASH)。

其他系统依赖关系可见[《安装指南》](https://github.com/aws-greengrass/aws-greengrass-lite/blob/main/docs/SETUP.md#dependencies)。

支持 Greengrass Nucleus 组件在 VPC 中运行。要在 VPC 中部署此组件，需要满足以下条件：
+ Greengrass 核心必须连接到数据、凭证 AWS IoT 和 Amazon S AWS IoT 3。

要以非 root 用户身份运行 n AWS IoT Greengrass ucleus lite，你可以使用无根容器。有关更多信息，请参阅在 nuc AWS IoT Greengrass leus 精简版[ GitHub 存储库中使用 Podman](https://github.com/aws-greengrass/aws-greengrass-lite/blob/main/docs/BUILD.md#optional-using-podman)。

## 兼容性
<a name="greengrass-nucleus-lite-component-compatibility"></a>

n AWS IoT Greengrass ucleus lite 与 AWS IoT Greengrass v2 API（的子集）和支持的软件开发工具包兼容。它不依赖于任何特定的语言， runtimes/VMs 但是添加到部署中的组件可能需要特定的运行时（例如：Java JVM、Python）。有关 Greengrass Nucleus Lite 支持功能的更多信息，请参阅[Greengrass 功能兼容性](operating-system-feature-support-matrix.md)。

## 下载并安装
<a name="greengrass-nucleus-lite-component-install"></a>

您可以下载 apt 软件包、[从源代码构建](https://github.com/aws-greengrass/aws-greengrass-lite/blob/main/README.md#getting-started)、[使用 Yocto 层或为](https://github.com/aws4embeddedlinux/meta-aws)兼容设备[下载预构建的 Yocto 镜像](https://github.com/aws4embeddedlinux/meta-aws-demos)（例如）。 RaspberryPi您可以从[AWS IoT Core 控制台](https://console.aws.amazon.com/iot/home)下载**连接工具包**，其中包含设备的所有凭证和初始配置。每种特定的分发方法都包含了有关如何安装的说明。

你也可以按照教程安装 n AWS IoT Greengrass ucleus 精简版并探索 Greengrass 组件的开发。有关更多信息，请参阅 [教程：入门 AWS IoT Greengrass V2](getting-started.md)。

## 配置
<a name="greengrass-nucleus-lite-component-configuration"></a>

Nucleus 提供以下[配置](https://github.com/aws-greengrass/aws-greengrass-lite/blob/main/docs/SETUP.md#configuring-greengrass)参数。某些参数要求 AWS IoT Greengrass Core软件重新启动才能生效。

`iotRoleAlias`  
指向令牌交换 IAM 角色的角色别名。 AWS IoT AWS IoT 凭证提供者扮演此角色是为了允许 Greengrass 核心设备与服务进行交互。 AWS 有关更多信息，请参阅[授权核心设备与 AWS 服务交互。](https://docs.aws.amazon.com/greengrass/v2/developerguide/device-service-role.html)

`iotDataEndpoint`  
<a name="nucleus-component-configuration-iot-data-endpoint"></a>您的 AWS IoT 数据端点 AWS 账户。

`iotCredEndpoint`  
<a name="nucleus-component-configuration-iot-cred-endpoint"></a>您的 AWS IoT 凭证端点 AWS 账户。

`greengrassDataPlanePort`  
用于数据面板连接的端口。有关更多信息，请参阅[通过端口 443 或网络代理进行连接](https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-greengrass-core-v2.html#configure-alpn-network-proxy)。  
您必须指定设备可以进行出站连接的端口。如果您指定被屏蔽的端口，则设备将无法连接 AWS IoT Greengrass 以接收部署。从以下选项中进行选择：  
+ `443`
+ `8443`
+ 默认值：`8443`

`awsRegion`  
 AWS 区域 要使用的。

`runWithDefault`  
用于运行组件的系统用户。  
<a name="nucleus-component-parameter-restart-para"></a>当您部署对此配置参数的更改时， AWS IoT Greengrass Core 软件会重新启动以使更改生效。
该对象包含以下信息：    
`posixUser`  
核心设备用于运行通用组件的系统用户名称或 ID，以及系统组（可选）。使用以下格式指定由半角冒号（`:`）分隔的用户和组：`user:group`。组是可选的。如果您未指定群组，则 AWS IoT Greengrass Core 软件将使用该用户的主群组。举例来说，可以指定 `ggc_user` 或 `ggc_user:ggc_group`。有关更多信息，请参阅 [配置运行组件的用户](configure-greengrass-core-v2.md#configure-component-user)。

`networkProxy`  
（可选）用于所有连接的网络代理。有关更多信息，请参阅 [通过端口 443 或网络代理进行连接](configure-greengrass-core-v2.md#configure-alpn-network-proxy)。  
当您部署对此配置参数的更改时，更改将在下次重启 AWS IoT Greengrass 核心软件后生效。
该对象包含以下信息：    
`noProxyAddresses`  
（可选）不使用代理的 IP 地址或主机名的逗号分隔列表。  
`proxy`  
要连接的代理。该对象包含以下信息：    
`url`  
代理服务器的 URL，格式为 `http://host:port`。  
+ `scheme` – 方案，必须是 `http`。
+ `host` – 代理服务器的主机名或 IP 地址。
+ `port` –（可选）端口号。如果您未指定端口，则 Greengrass 核心设备将使用以下默认值：
  + `http` – 80

## 本地日志文件
<a name="greengrass-nucleus-lite-component-log-file"></a>

消息记录至标准输出，然后由 systemd 处理日志文件。

**查看此组件的日志**
+ 使用 `journalctl` 查看日志

## 更改日志
<a name="greengrass-nucleus-lite-component-changelog"></a>


|  **版本**  |  **更改**  | 
| --- | --- | 
| 2.5.1 |  **错误修复和改进**<br />   修复了配置值未实际更改时`SubscribeToConfigurationUpdate`可能通知订阅者的问题。   修复了组件的部署源 ARN 可能被不相关的部署覆盖的问题。   修复了在可重试错误代码（例如 5xx 和 429）时未触发 HTTP 工件下载重试的问题。     | 
| 2.5.0 |  **新特征**<br />   添加 PKCS \#11 支持。您可以将由 PKCS \#11 支持的密钥和证书句柄与 OpenSSL 提供程序一起使用。   增加了对将 TPM 与队列配置一起使用的支持。   <br />**错误修复和改进**<br />   修复了 v2.4.0 中引入的舰队配置回归问题。   修复了 v2.4.0 中引入的工件权限所有权问题。     | 
| 2.4.0 |  **新特征**<br />   增加了对本地部署`--group-name`和`--remove-component`选项的支持。   应用配方中的工件权限。   <br />**错误修复和改进**<br />   修复了 MQTT 消息可能会延迟到下一个保持连接间隔的问题。   修复了 iotcored 可能进入死锁且无法重新连接的问题。   修复了使用 HTTP 代理时的 SSL 验证失败。   提高了连接可靠性。     | 
| 2.3.3 |  **错误修复和改进**<br />   修复了部署期间创建组件时文件描述符泄漏的问题。   修复了部署任务状态报告可能被拒绝的问题。   允许组件安装阶段在部署失败之前最多重试 3 次。   常规错误修复和性能改进。     | 
| 2.3.2 |  **错误修复和改进**<br />   更新版本文件以获得正确的 nucleus 版本报告。     | 
| 2.3.1 |  **错误修复和改进**<br />   GG 不会尝试更新已取消任务的部署状态。   确保 fdopendir 中的 DIR 已关闭。   现在，队列配置将在每次运行时触发证书文件覆盖。   修复了其他小错误。     | 
| 2.3.0 |  **新特征**<br />   支持[使用 TPM 2.0](gg-lite-with-tpm-tutorial.md) 进行物联网核心 MQTT 授权。   示例 apt 包现在支持更多操作系统：Ubuntu 22.04、Ubuntu 24.04、Debian 12 和 Debian 13。   RestartComponent 现在支持 IPC。   <br />**错误修复和改进**<br />   本地部署不再需要互联网接入。   GetConfiguration 已更新以匹配 Greengrass Nucleus 的运行时行为。（**重大变化**）   常规错误修复和性能改进。     | 
| 2.2.2 |  **错误修复和改进**<br />   修复了未更改的组件中存在运行中的构件可执行文件时，包含未变更组件版本的修订部署出现失败的问题。   修复了插值包含四个以上嵌套子对象时的配方变量插值问题。   修复了配方变量插值，包括引号和 Shell 特殊字符。    修复了 MQTT 连接失败时的 fds 泄漏问题。     | 
| 2.2.1 |  **错误修复和改进**<br />   修复了 Nucleus 无法获取 TES 凭证的问题。     | 
| 2.2.0 |  **新特征**<br />   添加了对容器映像构件 URI 的支持。   <br />**错误修复和改进**<br />   常规错误修复和性能改进。     | 
| 2.1.0 |  **新特征**<br />   添加了 HTTP 代理支持，可使用 `networkProxy` 配置选项进行配置。   <br />**错误修复和改进**<br />   将 `libcurl` 法要求从 7.86 降低到 7.82，以适应运行旧版 `libcurl` 的设备。   更新了 `journalctl` 日志，确保将其归因于组件而不是配方运行程序。   优化了 IPC 调用的错误响应。   为通用组件构件的 S3 下载尝试添加了重试功能。   次要错误修复。     | 
| 2.0.2 |  **错误修复和改进**<br />   修复了 apt 软件包的依赖关系以包含 `cgroup-tools`。     | 
| 2.0.1 |  **错误修复和改进**<br />   为 Greengrass 配方的超时部分添加了配方变量插值支持。   增加了对流管理器 ValidateAuthorizationToken IPC 命令的支持。   修复了实例集预置中的警告。   为作业侦听器添加了重试和退避功能。   常规错误修复和性能改进。     | 
| 2.0.0 | 初始版本。 | 