

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

# 安装程序参数
<a name="configure-installer"></a>

AWS IoT Greengrass Core 软件包含一个安装程序，用于设置软件并预置 Greengrass 核心设备运行所需的 AWS 资源。该安装程序包含以下参数，您可以指定这些参数来配置安装：

`-h`, `--help`  
（可选）显示安装程序的帮助信息。

`--version`  
（可选）显示 AWS IoT Greengrass Core 软件的版本。

`-Droot`  
（可选）用作 AWS IoT Greengrass Core 软件根目录的文件夹路径。  
此参数会设置一个 JVM 属性，因此在运行安装程序时，必须在 `-jar` 前指定该属性。例如，指定 `java -Droot="/greengrass/v2" -jar /path/to/Greengrass.jar`。
默认值：  
+ Linux：`~/.greengrass`
+ Windows：`%USERPROFILE%/.greengrass`

`-ar`, `--aws-region`  
AWS IoT Greengrass Core 软件用来检索或创建其所需 AWS 资源的 AWS 区域。

`-p`, `--provision`  
（可选）您可以将此设备注册为 AWS IoT 事物，并预置核心设备所需的 AWS 资源。如果您指定 `true`，则 AWS IoT Greengrass Core 软件会预置一个 AWS IoT 事物、（可选）一个 AWS IoT 事物组、一个 IAM 角色和一个 AWS IoT 角色别名。  
默认值：`false`

`-tn`, `--thing-name`  
（可选）您注册为此核心设备的 AWS IoT 事物的名称。如果您的 AWS 账户 中不存在具有该名称的事物，则 AWS IoT Greengrass Core 软件会自行创建。  
事物名称不得包含英文冒号 (`:`) 字符。
必须指定 `--provision true` 才能应用此参数。  
默认值：`GreengrassV2IotThing_` 加一个随机 UUID。

`-tgn`, `--thing-group-name`  
（可选）您在其中添加此核心设备的 AWS IoT 事物的 AWS IoT 事物组的名称。如果部署以该事物组为目标，则此核心设备在连接到 AWS IoT Greengrass 时会收到该部署。如果您的 AWS 账户 中不存在具有该名称的事物组，则 AWS IoT Greengrass Core 软件会自行创建。  
事物组名称不得包含英文冒号 (`:`) 字符。
必须指定 `--provision true` 才能应用此参数。

`-tpn`, `--thing-policy-name`  
此功能适用于 [Greengrass Nucleus 组件](greengrass-nucleus-component.md)的 v2.4.0 及更高版本。  
（可选）要附加到此核心设备的 AWS IoT 事物证书的 AWS IoT 策略的名称。如果您的 AWS 账户中不存在具有该名称的 AWS IoT 策略，则 AWS IoT Greengrass Core 软件会自行创建。  
默认情况下，AWS IoT Greengrass Core 软件会创建宽松的 AWS IoT 策略。您可以缩小此策略的范围，也可以创建自定义策略来限制使用案例的权限。有关更多信息，请参阅[AWS IoT Greengrass V2 核心设备的最低 AWS IoT 政策](device-auth.md#greengrass-core-minimal-iot-policy)。  
必须指定 `--provision true` 才能应用此参数。  
默认值：`GreengrassV2IoTThingPolicy`

`-trn`, `--tes-role-name`  
（可选）用于获取允许核心设备与 AWS 服务交互的 AWS 凭证的 IAM 角色的名称。如果您的 AWS IoT Greengrass 中不存在具有该名称的角色，则 AWS 账户 Core 软件会使用 `GreengrassV2TokenExchangeRoleAccess` 策略自行创建。此角色无权访问您用于托管组件构件的 S3 存储桶。因此，在创建组件时，您必须为构件的 S3 存储桶和对象添加权限。有关更多信息，请参阅[授权核心设备与 AWS 服务交互](device-service-role.md)。  
必须指定 `--provision true` 才能应用此参数。  
默认值：`GreengrassV2TokenExchangeRole`

`-tra`, `--tes-role-alias-name`  
（可选）指向为该核心设备提供 AWS 凭证的 IAM 角色的 AWS IoT 角色别名的名称。如果您的 AWS 账户 中不存在具有该名称的角色别名，则 AWS IoT Greengrass Core 软件会自行创建，并将其指向您指定的 IAM 角色。  
必须指定 `--provision true` 才能应用此参数。  
默认值：`GreengrassV2TokenExchangeRoleAlias`

`-ss`, `--setup-system-service`  
（可选）您可以将 AWS IoT Greengrass Core 软件设置为在该设备开机时运行的系统服务。系统服务名称为 `greengrass`。有关更多信息，请参阅[将 Greengrass Nucleus 配置为系统服务](configure-greengrass-core-v2.md#configure-system-service)。  
在 Linux 操作系统上，此参数要求设备上具有 systemd 初始化系统。  
在 Windows 核心设备上，必须将 AWS IoT Greengrass Core 软件设置为系统服务。
默认值：`false`

`-u`, `--component-default-user`  
AWS IoT Greengrass Core 软件用于运行组件的用户的名称或 ID。例如，您可以指定 **ggc\$1user**。在 Windows 操作系统上运行安装程序时，必须使用此值。  
在 Linux 操作系统上，您还可以选择指定组。指定用户和组，用英文冒号分隔。例如 **ggc\$1user:ggc\$1group**。  

以下更多注意事项适用于 Linux 操作系统：
+ 如果您以根用户身份运行，则默认组件用户是在配置文件中定义的用户。如果配置文件未定义用户，则默认为 `ggc_user:ggc_group`。如果 `ggc_user` 或 `ggc_group` 不存在，则软件将自行创建。
+ 如果您以非根用户身份运行，则 AWS IoT Greengrass Core 软件会使用该用户来运行组件。
+ 如果您未指定组，则 AWS IoT Greengrass Core 软件会使用系统用户的主要组。
有关更多信息，请参阅[配置运行组件的用户](configure-greengrass-core-v2.md#configure-component-user)。

`-d`, `--deploy-dev-tools`  
（可选）您可以将 [Greengrass CLI](greengrass-cli-component.md) 组件下载并部署到此核心设备上。您可以使用此工具来开发和调试此核心设备。  
 <a name="local-dev-tools-production-environment-warning"></a>我们建议您仅在开发环境中使用此组件，不要在生产环境中使用。此组件允许访问您在生产环境中通常不需要的信息和操作。遵循最低权限原则，将此组件仅部署到有需求的核心设备。
必须指定 `--provision true` 才能应用此参数。  
默认值：`false`

`-init`, `--init-config`  
（可选）用于安装 AWS IoT Greengrass Core 软件的配置文件的路径。例如，您可以使用此选项来设置具有特定内核配置的新核心设备。  
您指定的配置文件与核心设备上现有的配置文件合并。这包括核心设备上的组件和组件配置。我们建议配置文件仅列出您正在尝试更改的配置。

`-tp`, `--trusted-plugin`  
（可选）要作为可信插件加载的 JAR 文件的路径。使用此选项提供预置插件 JAR 文件，例如使用[实例集预置](fleet-provisioning.md)或[自定义预置](custom-provisioning.md)进行安装，或者使用私有密钥和证书安装在[硬件安全模块](hardware-security.md)中。

`-s`, `--start`  
（可选）您可以在安装 AWS IoT Greengrass Core 软件后启动该软件，也可以选择预置资源。  
默认值：`true`