

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

# 安装 Greengrass CLI
<a name="install-gg-cli"></a>

您可以通过以下方式之一安装 Greengrass CLI：
+ 首次在设备上设置 AWS IoT Greengrass Core 软件时，请使用该`--deploy-dev-tools`参数。您还必须指定 `--provision true` 才能应用此参数。
+ 在设备上部署 Greengrass CLI 组件（`aws.greengrass.Cli`）。

本节介绍了部署 Greengrass CLI 组件的步骤。有关在初始设置期间安装 Greengrass CLI 的信息，请参阅[教程：AWS IoT Greengrass V2 入门](getting-started.md)。

## 先决条件
<a name="gg-cli-prereqs"></a>

要部署 Greengrass CLI 组件，必须满足以下要求：
+ AWS IoT Greengrass 在您的核心设备上安装并配置了核心软件。有关更多信息，请参阅 [教程：AWS IoT Greengrass V2 入门](getting-started.md)。
+ 要使用部 AWS CLI 署 Greengrass CLI，您必须已安装并配置了。 AWS CLI有关更多信息，请参阅《AWS Command Line Interface 用户指南》**中的[配置 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)。
+ <a name="greengrass-cli-authorization-requirement"></a>您必须获得授权才能使用 Greengrass CLI 与核心软件进行交互。 AWS IoT Greengrass 执行以下任一操作以使用 Greengrass CLI：
  + 使用运行 C AWS IoT Greengrass ore 软件的系统用户。
  + 使用具有根权限或管理员权限的用户。在 Linux 核心设备上，您可以使用 `sudo` 获取根权限。
  + 部署组件时，请使用您在 `AuthorizedPosixGroups` 或 `AuthorizedWindowsGroups` 配置参数中指定的组中的系统用户。有关更多信息，请参阅 [Greengrass CLI 组件配置](greengrass-cli-component.md#greengrass-cli-component-configuration)。

## 部署 Greengrass CLI 组件
<a name="gg-cli-deploy"></a>

请完成以下步骤，将 Greengrass CLI 组件部署到您的核心设备：

### 部署 Greengrass CLI 组件（控制台）
<a name="gg-cli-deploy-console"></a>

1. 登录 [AWS IoT Greengrass 控制台](https://console.aws.amazon.com/greengrass)。

1. 在导航菜单中，选择**组件**。

1. 在**组件**页面的**公有组件**选项卡上，选择 `aws.greengrass.Cli`。

1. 在 **aws.greengrass.Cli** 页面上，选择**部署**。

1. 从**添加到部署**中，选择**创建新部署**。

1. 在**指定目标**页面的**部署目标**下找到**目标名称**列表，从中选择要部署到其中的 Greengrass 组，然后选择**下一步**。

1. 在**选择组件**页面上，确认已选择 **aws.greengrass.Cli** 组件，然后选择**下一步**。

1. 在**配置组件**页面上，保留默认配置设置，然后选择**下一步**。

1. 在**配置高级设置**页面上，保留默认配置设置，然后选择**下一步**。

1. 在**检查**页上，点击**部署**。

### 部署 Greengrass CLI 组件（AWS CLI）
<a name="gg-cli-deploy-cli"></a>

1. 在您的设备上，创建一个定义 Greengrass CLI 组件部署配置的 `deployment.json` 文件。此文件应类似以下内容：

   ```
   {
     "targetArn":"targetArn",
     "components": {
       "aws.greengrass.Cli": {
         "componentVersion": "2.16.1",
         "configurationUpdate": {
           "merge": "{\"AuthorizedPosixGroups\":\"<group1>,<group2>,...,<groupN>\",\"AuthorizedWindowsGroups\":\"<group1>,<group2>,...,<groupN>\"}"
         }
       }
     }
   }
   ```
   + 在 `target` 字段中，按以下格式将 `targetArn` 替换为部署目标的事物或事物组的 Amazon 资源名称（ARN）：
     + 事物：`arn:aws:iot:region:account-id:thing/thingName`
     + 事物组：`arn:aws:iot:region:account-id:thinggroup/thingGroupName`
   + 在 `aws.greengrass.Cli` 组件对象中，按如下方式指定值：  
`version`  
Greengrass CLI 组件的版本。  
`configurationUpdate.AuthorizedPosixGroups`  
（可选）包含以逗号分隔的系统组列表的字符串。您授权这些系统组使用 Greengrass CLI 与核心软件进行交互。 AWS IoT Greengrass 您可以指定组名或群组 IDs。例如，`group1,1002,group3` 授权三个系统组（`group1`、`1002` 和 `group3`）使用 Greengrass CLI。  
如果您未指定要授权的任何群组，则可以以 root 用户 `sudo` () 或运行核心软件的系统用户身份使用 Greengrass CLI。 AWS IoT Greengrass   
`configurationUpdate.AuthorizedWindowsGroups`  
（可选）包含以逗号分隔的系统组列表的字符串。您授权这些系统组使用 Greengrass CLI 与核心软件进行交互。 AWS IoT Greengrass 您可以指定组名或群组 IDs。例如，`group1,1002,group3` 授权三个系统组（`group1`、`1002` 和 `group3`）使用 Greengrass CLI。  
如果您未指定要授权的任何群组，则可以以管理员或运行 Core 软件的系统用户身份使用 Greengrass CLI。 AWS IoT Greengrass 

1. 运行以下命令，在设备上部署 Greengrass CLI 组件：

   ```
   $ aws greengrassv2 create-deployment --cli-input-json file://path/to/deployment.json
   ```

在安装过程中，组件会在设备的 `/greengrass/v2/bin` 文件夹中添加一个指向 `greengrass-cli` 的符号链接，您可以从该路径运行 Greengrass CLI。要在没有绝对路径的情况下运行 Greengrass CLI，请将您的 `/greengrass/v2/bin` 文件夹添加到 PATH 变量中。要验证 Greengrass CLI 的安装情况，请运行以下命令：

------
#### [ Linux or Unix ]

```
/greengrass/v2/bin/greengrass-cli help
```

------
#### [ Windows ]

```
C:\greengrass\v2\bin\greengrass-cli help
```

------

您应看到以下输出：

```
Usage: greengrass-cli [-hV] [--ggcRootPath=<ggcRootPath>] [COMMAND]
Greengrass command line interface

      --ggcRootPath=<ggcRootPath>
                  The AWS IoT Greengrass V2 root directory.
  -h, --help      Show this help message and exit.
  -V, --version   Print version information and exit.
Commands:
  help                Show help information for a command.
  component           Retrieve component information and stop or restart
                        components.
  deployment          Create local deployments and retrieve deployment status.
  logs                Analyze Greengrass logs.
  get-debug-password  Generate a password for use with the HTTP debug view
                        component.
```

如果未找到 `greengrass-cli`，则部署可能无法安装 Greengrass CLI。有关更多信息，请参阅 [故障排除 AWS IoT Greengrass V2](troubleshooting.md)。