

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 安裝 AWS IoT Greengrass 核心軟體 (CLI)
<a name="install-greengrass-v2-cli"></a>

**注意**  
這些步驟不適用於 nucleus lite。

**安裝和設定 AWS IoT Greengrass Core 軟體**

1. 在您的 Greengrass 核心裝置上，執行下列命令以切換到主目錄。

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

   ```
   cd ~
   ```

------
#### [ Windows Command Prompt (CMD) ]

   ```
   cd %USERPROFILE%
   ```

------
#### [ PowerShell ]

   ```
   cd ~
   ```

------

1. <a name="installation-download-ggc-software-step"></a>在您的核心裝置上，將 AWS IoT Greengrass Core 軟體下載至名為 的檔案`greengrass-nucleus-latest.zip`。

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

   ```
   curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip > greengrass-nucleus-latest.zip
   ```

------
#### [ Windows Command Prompt (CMD) ]

   ```
   curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip > greengrass-nucleus-latest.zip
   ```

------
#### [ PowerShell ]

   ```
   iwr -Uri https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip -OutFile greengrass-nucleus-latest.zip
   ```

------

   <a name="core-software-license"></a>下載此軟體，即表示您同意 [Greengrass 核心軟體授權合約](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf)之規定。

1. <a name="installation-unzip-ggc-software-step"></a>將 AWS IoT Greengrass Core 軟體解壓縮至裝置上的資料夾。將 *GreengrassInstaller* 取代為您要使用的資料夾。

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

   ```
   unzip greengrass-nucleus-latest.zip -d GreengrassInstaller && rm greengrass-nucleus-latest.zip
   ```

------
#### [ Windows Command Prompt (CMD) ]

   ```
   mkdir GreengrassInstaller && tar -xf greengrass-nucleus-latest.zip -C GreengrassInstaller && del greengrass-nucleus-latest.zip
   ```

------
#### [ PowerShell ]

   ```
   Expand-Archive -Path greengrass-nucleus-latest.zip -DestinationPath .\\GreengrassInstaller
   rm greengrass-nucleus-latest.zip
   ```

------

1. 執行下列命令來啟動 AWS IoT Greengrass Core 軟體安裝程式。此命令會執行下列動作：
   + <a name="install-argument-aws-resources"></a>建立核心裝置操作所需的 AWS 資源。
   + <a name="install-argument-system-service"></a>將 AWS IoT Greengrass Core 軟體設定為開機時執行的系統服務。在 Linux 裝置上，這需要 [Systemd](https://en.wikipedia.org/wiki/Systemd) init 系統。
**重要**  <a name="windows-system-service-requirement-important-note"></a>
在 Windows 核心裝置上，您必須將 AWS IoT Greengrass Core 軟體設定為系統服務。
   + <a name="install-argument-dev-tools"></a>部署 [AWS IoT Greengrass CLI 元件](gg-cli.md)，這是一種命令列工具，可讓您在核心裝置上開發自訂 Greengrass 元件。
   + <a name="install-argument-component-default-user"></a>指定 使用`ggc_user`系統使用者在核心裝置上執行軟體元件。在 Linux 裝置上，此命令也會指定 使用`ggc_group`系統群組，而安裝程式會為您建立系統使用者和群組。

   如下所示取代命令中的引數值。<a name="installer-replace-arguments"></a>

   1. `/greengrass/v2` 或 *C：\$1greengrass\$1v2*：用來安裝 AWS IoT Greengrass Core 軟體的根資料夾路徑。

   1. *GreengrassInstaller*。解壓縮 AWS IoT Greengrass Core 軟體安裝程式的資料夾路徑。

   1. *區域*。尋找或建立資源 AWS 區域 的 。

   1. *MyGreengrassCore*。Greengrass 核心裝置的 AWS IoT 物件名稱。如果物件不存在，安裝程式會建立它。安裝程式會下載憑證以驗證 做為 AWS IoT 物件。如需詳細資訊，請參閱[的裝置身分驗證和授權 AWS IoT Greengrass](device-auth.md)。
**注意**  <a name="install-argument-thing-name-constraint"></a>
物件名稱不能包含冒號 (`:`) 字元。

   1. *MyGreengrassCoreGroup*。Greengrass 核心裝置的 AWS IoT 物件群組名稱。如果物件群組不存在，安裝程式會建立該物件並將其新增至該物件。如果物件群組存在且具有作用中部署，核心裝置會下載並執行部署指定的軟體。
**注意**  <a name="install-argument-thing-group-name-constraint"></a>
物件群組名稱不能包含冒號 (`:`) 字元。

   1. *GreengrassV2IoTThingPolicy*。允許 Greengrass 核心裝置與 AWS IoT 和 通訊 AWS IoT 的政策名稱 AWS IoT Greengrass。如果 AWS IoT 政策不存在，安裝程式會使用此名稱建立寬鬆 AWS IoT 政策。您可以限制此政策的使用案例許可。如需詳細資訊，請參閱[AWS IoT Greengrass V2 核心裝置的最低 AWS IoT 政策](device-auth.md#greengrass-core-minimal-iot-policy)。

   1. *GreengrassV2TokenExchangeRole*。允許 Greengrass 核心裝置取得臨時 AWS 憑證的 IAM 角色名稱。如果角色不存在，安裝程式會建立該角色，並建立和連接名為 的政策`GreengrassV2TokenExchangeRoleAccess`。如需詳細資訊，請參閱[授權核心裝置與 AWS 服務互動](device-service-role.md)。

   1. *GreengrassCoreTokenExchangeRoleAlias*。IAM 角色的別名，允許 Greengrass 核心裝置稍後取得臨時憑證。如果角色別名不存在，安裝程式會建立它，並將其指向您指定的 IAM 角色。如需詳細資訊，請參閱[授權核心裝置與 AWS 服務互動](device-service-role.md)。

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

   ```
   sudo -E java -Droot="/greengrass/v2" -Dlog.store=FILE \
     -jar ./GreengrassInstaller/lib/Greengrass.jar \
     --aws-region region \
     --thing-name MyGreengrassCore \
     --thing-group-name MyGreengrassCoreGroup \
     --thing-policy-name GreengrassV2IoTThingPolicy \
     --tes-role-name GreengrassV2TokenExchangeRole \
     --tes-role-alias-name GreengrassCoreTokenExchangeRoleAlias \
     --component-default-user ggc_user:ggc_group \
     --provision true \
     --setup-system-service true \
     --deploy-dev-tools true
   ```

------
#### [ Windows Command Prompt (CMD) ]

   ```
   java -Droot="C:\greengrass\v2" "-Dlog.store=FILE" ^
     -jar ./GreengrassInstaller/lib/Greengrass.jar ^
     --aws-region region ^
     --thing-name MyGreengrassCore ^
     --thing-group-name MyGreengrassCoreGroup ^
     --thing-policy-name GreengrassV2IoTThingPolicy ^
     --tes-role-name GreengrassV2TokenExchangeRole ^
     --tes-role-alias-name GreengrassCoreTokenExchangeRoleAlias ^
     --component-default-user ggc_user ^
     --provision true ^
     --setup-system-service true ^
     --deploy-dev-tools true
   ```

------
#### [ PowerShell ]

   ```
   java -Droot="C:\greengrass\v2" "-Dlog.store=FILE" `
     -jar ./GreengrassInstaller/lib/Greengrass.jar `
     --aws-region region `
     --thing-name MyGreengrassCore `
     --thing-group-name MyGreengrassCoreGroup `
     --thing-policy-name GreengrassV2IoTThingPolicy `
     --tes-role-name GreengrassV2TokenExchangeRole `
     --tes-role-alias-name GreengrassCoreTokenExchangeRoleAlias `
     --component-default-user ggc_user `
     --provision true `
     --setup-system-service true `
     --deploy-dev-tools true
   ```

------
**注意**  
<a name="jvm-tuning-note"></a>如果您在記憶體有限的 AWS IoT Greengrass 裝置上執行 ，您可以控制 AWS IoT Greengrass Core 軟體使用的記憶體量。若要控制記憶體配置，您可以在 核子元件的`jvmOptions`組態參數中設定 JVM 堆積大小選項。如需詳細資訊，請參閱[使用 JVM 選項控制記憶體配置](configure-greengrass-core-v2.md#jvm-tuning)。

   當您執行此命令時，您應該會看到下列訊息，指出安裝程式已成功執行。

   ```
   Successfully configured Nucleus with provisioned resource details!
   Configured Nucleus to deploy aws.greengrass.Cli component
   Successfully set up Nucleus as a system service
   ```
**注意**  <a name="installer-linux-no-systemd-message"></a>
如果您有 Linux 裝置且尚未[系統化](https://en.wikipedia.org/wiki/Systemd)，安裝程式不會將軟體設定為系統服務，也不會看到將 核設定為系統服務的成功訊息。