

支援終止通知：2026 年 10 月 7 日 AWS 將停止 的支援 AWS IoT Greengrass Version 1。2026 年 10 月 7 日之後，您將無法再存取 AWS IoT Greengrass V1 資源。如需詳細資訊，請造訪[從 遷移 AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html)。

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

# 單元 1：Greengrass 的環境設定
<a name="module1"></a>

本單元說明如何取得out-of-the-box Raspberry Pi、Amazon EC2 執行個體或其他裝置，以供 AWS IoT Greengrass 做為您的 AWS IoT Greengrass 核心裝置使用。

**提示**  
或者，若要使用指令碼為您設定核心裝置，請參閱[快速入門：Greengrass 裝置安裝](quick-start.md)。

本單元應可在 30 分鐘內完成。

開始之前，請閱讀本教學課程的[需求](gg-gs.md#gg-requirements)。然後，遵循以下其中一個主題的安裝說明。請只選擇適用您核心裝置類型的主題。

**Topics**
+ [設定 Raspberry Pi](setup-filter.rpi.md)
+ [設定 Amazon EC2 執行個體](setup-filter.ec2.md)
+ [設定其他裝置](setup-filter.other.md)

**注意**  
若要了解如何在預先建置的 Docker 容器中使用 AWS IoT Greengrass 執行，請參閱 [AWS IoT Greengrass 在 Docker 容器中執行](run-gg-in-docker-container.md)。

# 設定 Raspberry Pi
<a name="setup-filter.rpi"></a>

遵循本主題中的步驟，設定 Raspberry Pi 以用作 AWS IoT Greengrass 核心。

**提示**  
<a name="ggc-install-options"></a>AWS IoT Greengrass 也提供安裝 AWS IoT Greengrass 核心軟體的其他選項。例如，您可以使用 [Greengrass 裝置設定](quick-start.md)來設定您的環境，並安裝最新版本的 AWS IoT Greengrass Core 軟體。或者，在支援的 Debian 平台上，您可以使用 [APT 套件管理員](install-ggc.md#ggc-package-manager)來安裝或升級 AWS IoT Greengrass 核心軟體。如需詳細資訊，請參閱[安裝 AWS IoT Greengrass 核心軟體](install-ggc.md)。

如果您是第一次設定 Raspberry Pi，請您必須遵循這些步驟。否則，您可以跳到[步驟 9](#add-ggc-user-ggc-group)。但是，我們建議您在步驟 2 使用作業系統重新映像您的 Raspberry Pi。

 

1. 下載並安裝 SD 卡格式器，例如 [SD 記憶卡格式器](https://www.sdcard.org/downloads/formatter/)。請將 SD 卡片插入電腦。啟動程式，選擇您插入 SD 卡片的磁碟。您可以執行 SD 卡片的快速格式化。

1. 下載 [Raspbian Buster](https://downloads.raspberrypi.org/raspbian/images/raspbian-2020-02-14/) 作業系統做為 `zip` 檔案。

1. 使用 SD 卡撰寫工具 (如 [Etcher](https://etcher.io/))，請按照此工具指示快閃將下載的 `zip` 檔案傳到 SD 卡中。由於作業系統映像較大，此步驟需要時間才能完成。退出您的 SD 卡，將 microSD 卡插入 Raspberry Pi。

1. 第一次啟動時，建議您將 Raspberry Pi 連接到監視器 (透過 HDMI)、鍵盤和滑鼠。接下來，將 Pi 連接到微型 USB 電源，而 Raspbian 作業系統應該會啟動。

1. 建議您先設定 Pi 的鍵盤配置再繼續。若要執行此作業，請選擇右上角的 Raspberry 圖示，選擇 **Preferences (喜好設定)** 然後選擇 **Mouse and Keyboard Settings (滑鼠與鍵盤設定)**。接著，在 **Keyboard (鍵盤)** 標籤上，選擇 **Keyboard Layout (鍵盤配置)**，然後選擇適當的鍵盤變化。

1. 接著，[使用 Wi-Fi 網路將 Raspberry Pi 連接到網際網路](https://www.raspberrypi.org/documentation/configuration/wireless/desktop.md)，或使用乙太網路纜線。
**注意**  
將您的 Raspberry Pi 連線到與您電腦連線*相同*的網路，並確認您的電腦和 Raspberry Pi 都具備網際網路存取再繼續。如果您位於工作環境內或防火牆內，您可能需要將 Pi 和您的電腦連線到訪客網路，才能讓兩者享有同樣的網際網路。但是這種方法可能會中斷您電腦與本機網路資源 (例如您的內部網路) 的連線。其中一個解決方案是將 Pi 連線到訪客 Wi-Fi 網路，並將您的電腦連線到訪客 Wi-Fi 網路*和*使用乙太網路纜線將其連線到您的本機網路。在此組態中，您的電腦應該能夠透過訪客 Wi-Fi 網路連線到 Raspberry Pi，並透過乙太網路纜線連線到本機網路資源。

1. 您必須在您的 Pi 上設定 [SSH](https://en.wikipedia.org/wiki/Secure_Shell) 遠端連接。在您的 Raspberry Pi 上開啟[終端機視窗](https://www.raspberrypi.org/documentation/usage/terminal/)並執行以下命令：

   ```
   sudo raspi-config
   ```

   請查看下列事項：  
![\[Raspberry Pi 軟體組態工具 (raspi-config) 螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/greengrass/v1/developerguide/images/gg-get-started-001.png)

   向下捲動並選擇 **Interfacing Options (連接選項)**，然後選擇 **P2 SSH**。出現提示時，請選擇 **Yes (是)**。(使用 Tab 鍵加上 Enter)。SSH 現在應已啟用。選擇**確定**。使用 Tab 鍵並選擇 **Finish (完成)**，然後按 Enter。如果 Raspberry Pi 不會自動重新啟動，請執行下列命令：

   ```
   sudo reboot
   ```

1. 在您的 Raspberry Pi 上，從終端機執行以下命令：

   ```
   hostname -I
   ```

   這會傳回您的 Raspberry Pi 的 IP 地址。
**注意**  
針對以下內容，若您收到 ECDSA 金鑰指紋訊息 (`Are you sure you want to continue connecting (yes/no)?`)，請輸入 `yes`。Raspberry Pi 的預設密碼為 **raspberry**。

   如果您使用的是 macOS，請開啟終端機視窗並輸入以下資訊：

   ```
   ssh pi@IP-address
   ```

   *IP-address* 是您透過使用 `hostname -I` 命令取得的 Raspberry Pi IP 地址。

   如果您使用 Windows，您需要安裝和設定 [PuTTY](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html)。展開 **Connection (連線)**，選擇 **Data (資料)**，並確認已選取 **Prompt (提示)**：  
![\[選擇提示的 PuTTY 視窗。\]](http://docs.aws.amazon.com/zh_tw/greengrass/v1/developerguide/images/gg-get-started-001.4.png)

   接著，選擇 **Session (工作階段)**，輸入 Raspberry Pi 的 IP 地址，然後選擇 **Open (開啟)**。  
![\[在「主機名稱 (或 IP 地址)」欄位中含有 IP 地址的 PuTTY 視窗。\]](http://docs.aws.amazon.com/zh_tw/greengrass/v1/developerguide/images/gg-get-started-001.5.png)

   若顯示 PuTTY 安全提醒，請選擇 **Yes (是)**。

   Raspberry Pi 的預設登入和預設密碼為 **pi** 與 **raspberry**。  
![\[初始 PuTTY 終端機視窗。\]](http://docs.aws.amazon.com/zh_tw/greengrass/v1/developerguide/images/gg-get-started-001.6.png)
**注意**  
如果您的電腦使用 VPN 連線到遠端網路，您可能會在使用 SSH 從電腦連線到 Raspberry Pi 時遭遇困難。

1. <a name="add-ggc-user-ggc-group"></a>您現在可以為 設定 Raspberry Pi AWS IoT Greengrass。首先，從本機 Raspberry Pi 終端機視窗執行以下命令，或從 SSH 終端機視窗：
**提示**  
<a name="ggc-install-options"></a>AWS IoT Greengrass 也提供安裝 AWS IoT Greengrass 核心軟體的其他選項。例如，您可以使用 [Greengrass 裝置設定](quick-start.md)來設定您的環境，並安裝最新版本的 AWS IoT Greengrass Core 軟體。或者，在支援的 Debian 平台上，您可以使用 [APT 套件管理員](install-ggc.md#ggc-package-manager)來安裝或升級 AWS IoT Greengrass 核心軟體。如需詳細資訊，請參閱[安裝 AWS IoT Greengrass 核心軟體](install-ggc.md)。

   ```
   sudo adduser --system ggc_user
   sudo addgroup --system ggc_group
   ```

1. 為了改善 Pi 裝置的安全性，請在啟動時在作業系統上啟用 hardlink 和 softlink (symlink) 保護。

   1. 導覽至 `98-rpi.conf` 檔案。

      ```
      cd /etc/sysctl.d
      ls
      ```
**注意**  
如果您未看見 `98-rpi.conf` 檔案，請依照 `README.sysctl` 檔案中的指示進行。

   1. 使用文字編輯器 (例如 Leafpad、GNU nano 或 vi) 將以下兩行新增到檔案結尾。您可能需要使用 `sudo` 命令以根編輯 (例如，`sudo nano 98-rpi.conf`)。

      ```
      fs.protected_hardlinks = 1
      fs.protected_symlinks = 1
      ```

   1. 重新啟動 Pi。

      ```
      sudo reboot
      ```

      約一分鐘後，使用 SSH 連線至 Pi，然後執行以下命令來確認變更：

      ```
      sudo sysctl -a 2> /dev/null | grep fs.protected
      ```

      您應該會看到 `fs.protected_hardlinks = 1` 和 `fs.protected_symlinks = 1`。

1. <a name="stretch-step"></a> 編輯您的命令列開機檔案來啟用及掛載記憶體 cgroups。這可讓 AWS IoT Greengrass 設定 Lambda 函數的記憶體限制。在 AWS IoT Greengrass 預設[容器化](lambda-group-config.md#lambda-containerization-considerations)模式中執行 時，也需要 Cgroup。

   1.  導覽至您的 `boot` 目錄。

      ```
      cd /boot/
      ```

   1.  使用文字編輯器開啟 `cmdline.txt`。將下列內容附加到現有的一行，不要另起新的一行。您可能需要使用 `sudo` 命令以根編輯 (例如，`sudo nano cmdline.txt`)。

      ```
      cgroup_enable=memory cgroup_memory=1
      ```

   1. 現在重新啟動 Pi。

      ```
      sudo reboot
      ```

   您的 Pi Raspberry 現在應已為 AWS IoT Greengrass做好準備。

1. <a name="install-java-8-runtime"></a>選用。安裝[串流管理員](stream-manager.md)需要的 Java 8 執行時間。本教學課程不會使用串流管理員，但是會使用預設啟用串流管理員的 **Default Group creation (預設群組建立)** 工作流程。部署群組之前，先使用下列命令在核心裝置上安裝 Java 8 執行時間，或停用串流管理員。單元 3 中提供了停用串流管理員的指示。

   ```
   sudo apt install openjdk-8-jdk
   ```

1. 為了確保您擁有所有必要的相依性，請從 GitHub 上的[AWS IoT Greengrass 範例](https://github.com/aws-samples/aws-greengrass-samples)儲存庫下載並執行 Greengrass 相依性檢查程式。這些命令會解壓縮並在 `Downloads`目錄中執行相依性檢查程式指令碼。
**注意**  
 如果您執行的是 Raspbian 核心的 第 5.4.51 版，相依性檢查程式可能會失敗。此版本未正確掛載記憶體 cgroup。這可能會導致在容器模式下執行的 Lambda 函數失敗。  
如需更新核心的詳細資訊，請參閱 Raspberry Pi 論壇中[核心升級後未載入的 Cgroups](https://www.raspberrypi.org/forums/viewtopic.php?t=280656)。

   ```
   cd /home/pi/Downloads
   mkdir greengrass-dependency-checker-GGCv1.11.x
   cd greengrass-dependency-checker-GGCv1.11.x
   wget https://github.com/aws-samples/aws-greengrass-samples/raw/master/greengrass-dependency-checker-GGCv1.11.x.zip
   unzip greengrass-dependency-checker-GGCv1.11.x.zip
   cd greengrass-dependency-checker-GGCv1.11.x
   sudo modprobe configs
   sudo ./check_ggc_dependencies | more
   ```

   在 `more` 出現的位置，按 Spacebar 鍵來顯示另一個文字畫面。
**重要**  
<a name="lambda-runtime-prereqs"></a>本教學課程需要 Python 3.7 執行時間來執行本機 Lambda 函數。啟用串流管理員時，串流管理員需要 Java 8 執行時間。如果 `check_ggc_dependencies` 指令碼產生了與這些遺漏執行時間事前準備有關的警告，請確認在您繼續前已安裝了這些項目。您可以忽略與其他遺漏選用執行時間事前準備有關的警告。

   如需 **modprobe** 命令的資訊，請在終端機中執行 **man modprobe**。

您的 Raspberry Pi 組態已完成。繼續進行[單元 2：安裝 AWS IoT Greengrass 核心軟體](module2.md)。

# 設定 Amazon EC2 執行個體
<a name="setup-filter.ec2"></a>

請遵循本主題中的步驟，設定 Amazon EC2 執行個體以用作您的 AWS IoT Greengrass 核心。

**提示**  
或者，若要使用指令碼來設定您的環境並為您安裝 AWS IoT Greengrass 核心軟體，請參閱 [快速入門：Greengrass 裝置安裝](quick-start.md)。

 雖然您可以使用 Amazon EC2 執行個體完成本教學課程， AWS IoT Greengrass 但最好搭配實體硬體使用。我們建議您[盡可能設定 Raspberry Pi](setup-filter.rpi.md)，而不是使用 Amazon EC2 執行個體。如果您正在使用 Raspberry Pi，您不需要遵循本主題中的步驟。

 

1. 登入 [AWS 管理主控台](https://console.aws.amazon.com/)並使用 Amazon Linux AMI 啟動 Amazon EC2 執行個體。如需 Amazon EC2 執行個體的相關資訊，請參閱[《Amazon EC2 入門指南》](https://docs.aws.amazon.com/AWSEC2/latest/GettingStartedGuide/)。

1. Amazon EC2 執行個體執行後，請啟用連接埠 8883 以允許傳入的 MQTT 通訊，讓其他裝置可以與 AWS IoT Greengrass 核心連線。

   1. 在 Amazon EC2 主控台的導覽窗格中，選擇**安全群組**。  
![\[反白顯示安全群組的導覽窗格。\]](http://docs.aws.amazon.com/zh_tw/greengrass/v1/developerguide/images/gg-get-started-002.6.1.png)

   1. 選取您剛啟動之執行個體的安全群組，然後選擇**傳入規則**索引標籤。

   1. 選擇 **Edit inbound Rules** (編輯傳入規則)。

      若要啟用連接埠 8883，您需新增自訂的 TCP 規則至安全群組。如需詳細資訊，請參閱《*Amazon EC2 使用者指南*》中的[將規則新增至安全群組](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#adding-security-group-rule)。

   1. 在**編輯傳入規則**頁面上，選擇**新增規則**，輸入下列設定，然後選擇**儲存**。
      + 針對 **Type (類型)**，選擇 **Custom TCP Rule (自訂 TCP 規則)**。
      + 針對**連接埠範圍**，輸入 **8883**。
      + 針對 **Source (來源)**，選擇 **Anywhere (隨處)**。
      + 對於 **Description (說明)**，輸入 **MQTT Communications**。

       

1. 連線到您的 Amazon EC2 執行個體。

   1. 在導覽窗格中，選擇 **Instances (執行個體)**，選擇您的執行個體，然後選擇 **Connect (連線)**。

   1. 依照 **Connect To Your Instance (連線至您的執行個體)** 頁面中的說明，[使用 SSH](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html) 和您的私密金鑰檔案連線至您的執行個體。

   您可以使用適用於 Windows 的 [PuTTY](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html) 或適用於 macOS 的終端機。如需詳細資訊，請參閱《*Amazon EC2 使用者指南*》中的[連線至 Linux 執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstances.html)。

   您現在已準備好設定 Amazon EC2 執行個體 AWS IoT Greengrass。

1. 連線至 Amazon EC2 執行個體後，請建立 `ggc_user`和 `ggc_group`帳戶：

   ```
   sudo adduser --system ggc_user
   sudo groupadd --system ggc_group
   ```
**注意**  
如果在您系統中沒有可用的 `adduser` 命令，請使用以下命令。  

   ```
   sudo useradd --system ggc_user
   ```

1. 為了提高安全性，請確定在啟動時已在 Amazon EC2 執行個體的作業系統上啟用硬連結和軟連結 （符號連結） 保護。
**注意**  
 啟用 hardlink 和 softlink 保護的步驟會因作業系統而有所不同。請參閱文件來了解您的發行版本。

   1.  執行以下命令來檢查是否已啟用 hardlink 和 softlink 保護：

      ```
      sudo sysctl -a | grep fs.protected
      ```

       如果 hardlinks 和 softlinks 已設定為 `1`，您的保護就會正確啟用。繼續進行步驟 6。
**注意**  
Softlink 會以 `fs.protected_symlinks` 顯示。

   1. 如果 hardlinks 和 softlinks 未設定為 `1`，則啟用這些保護。導覽至您的系統組態檔案。

      ```
      cd /etc/sysctl.d
      ls
      ```

   1. 使用您喜愛的文字編輯器 (例如 Leafpad、GNU nano 或 vi)，將以下兩行新增至系統組態檔案結尾。在 Amazon Linux 1 上，這是 `00-defaults.conf` 檔案。在 Amazon Linux 2 上，這是 `99-amazon.conf` 檔案。您可能需要變更許可 (使用 `chmod` 命令)，才能寫入檔案，或使用 `sudo` 命令以根編輯 (例如，`sudo nano 00-defaults.conf`)。

      ```
      fs.protected_hardlinks = 1
      fs.protected_symlinks = 1
      ```

   1. 重新啟動 Amazon EC2 執行個體。

      ```
      sudo reboot
      ```

      在幾分鐘後，透過 SSH 連線到您的執行個體，然後執行以下命令來確認變更。

      ```
      sudo sysctl -a | grep fs.protected
      ```

      您應該會看到 hardlinks 和 softlinks 設為 1。

1. 擷取並執行下列指令碼來掛載 [Linux 控制群組](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/resource_management_guide/ch01) （群組）。這可讓 AWS IoT Greengrass 設定 Lambda 函數的記憶體限制。在 AWS IoT Greengrass 預設[容器化](lambda-group-config.md#lambda-containerization-considerations)模式中執行 時，也需要 Cgroup。

   ```
   curl https://raw.githubusercontent.com/tianon/cgroupfs-mount/951c38ee8d802330454bdede20d85ec1c0f8d312/cgroupfs-mount > cgroupfs-mount.sh
   chmod +x cgroupfs-mount.sh 
   sudo bash ./cgroupfs-mount.sh
   ```

   您的 Amazon EC2 執行個體現在應已準備就緒 AWS IoT Greengrass。

1. <a name="install-java-8-runtime"></a>選用。安裝[串流管理員](stream-manager.md)需要的 Java 8 執行時間。本教學課程不會使用串流管理員，但是會使用預設啟用串流管理員的 **Default Group creation (預設群組建立)** 工作流程。部署群組之前，先使用下列命令在核心裝置上安裝 Java 8 執行時間，或停用串流管理員。單元 3 中提供了停用串流管理員的指示。
   + 針對 Debian 為基礎的發行版本：

     ```
     sudo apt install openjdk-8-jdk
     ```
   + 針對 Red Hat 為基礎的發行版本：

     ```
     sudo yum install java-1.8.0-openjdk
     ```

1. 為了確保您擁有所有必要的相依性，請從 GitHub 上的[AWS IoT Greengrass 範例](https://github.com/aws-samples/aws-greengrass-samples)儲存庫下載並執行 Greengrass 相依性檢查程式。這些命令會在您的 Amazon EC2 執行個體中下載、解壓縮和執行相依性檢查程式指令碼。

   ```
   mkdir greengrass-dependency-checker-GGCv1.11.x
   cd greengrass-dependency-checker-GGCv1.11.x
   wget https://github.com/aws-samples/aws-greengrass-samples/raw/master/greengrass-dependency-checker-GGCv1.11.x.zip
   unzip greengrass-dependency-checker-GGCv1.11.x.zip
   cd greengrass-dependency-checker-GGCv1.11.x
   sudo ./check_ggc_dependencies | more
   ```
**重要**  
<a name="lambda-runtime-prereqs"></a>本教學課程需要 Python 3.7 執行時間來執行本機 Lambda 函數。啟用串流管理員時，串流管理員需要 Java 8 執行時間。如果 `check_ggc_dependencies` 指令碼產生了與這些遺漏執行時間事前準備有關的警告，請確認在您繼續前已安裝了這些項目。您可以忽略與其他遺漏選用執行時間事前準備有關的警告。

您的 Amazon EC2 執行個體組態已完成。繼續進行[單元 2：安裝 AWS IoT Greengrass 核心軟體](module2.md)。

# 設定其他裝置
<a name="setup-filter.other"></a>

遵循本主題中的步驟，設定裝置 (Raspberry Pi 除外） 以做為您的 AWS IoT Greengrass 核心。

**提示**  
或者，若要使用指令碼來設定您的環境並為您安裝 AWS IoT Greengrass 核心軟體，請參閱 [快速入門：Greengrass 裝置安裝](quick-start.md)。

如果您是初次使用 AWS IoT Greengrass，我們建議您使用 Raspberry Pi 或 Amazon EC2 執行個體做為核心裝置，並遵循適合您裝置的[設定步驟](module1.md)。

如果您計劃使用 Yocto 專案建置自訂 Linux 型系統，您可以使用`meta-aws`專案中的 AWS IoT Greengrass Bitbake Recipe。此配方也可協助您開發支援內嵌應用程式的 AWS 邊緣軟體的軟體平台。Bitbake 建置會在您的裝置上安裝、設定和自動執行 AWS IoT Greengrass 核心軟體。

Yocto 專案  
開放原始碼協同合作專案，可協助您為嵌入式應用程式建置自訂 Linux 型系統，無論硬體架構為何。如需詳細資訊，請參閱 [Yocto 專案](https://www.yoctoproject.org/)。

`meta-aws`  
提供 Yocto 配方的 AWS 受管專案。您可以使用配方，在以 [OpenEmbedded](https://www.openembedded.org/wiki/Main_Page) 和 Yocto Project 建置的 Linux 型系統中開發 AWS 邊緣軟體。如需此社群支援功能的詳細資訊，請參閱 GitHub 上的 [https://github.com/aws/meta-aws](https://github.com/aws/meta-aws)專案。

`meta-aws-demos`  
包含專案示範的 AWS 受管`meta-aws`專案。如需整合程序的更多範例，請參閱 GitHub 上的 [https://github.com/aws-samples/meta-aws-demos](https://github.com/aws-samples/meta-aws-demos)專案。

若要使用不同的裝置或[支援的平台](what-is-gg.md#gg-platforms)，請遵循本主題中的步驟。

1. <a name="setup-jetson"></a>如果您的核心裝置是 NVIDIA Jetson 裝置，您必須先使用 JetPack 4.3 安裝程式刷新韌體。如果您是設定不同的裝置，請跳到步驟 2。
**注意**  
您所使用的 JetPack 安裝程式版本是根據您的目標 CUDA 工具組版本而定。下列指示使用 JetPack 4.3 和 CUDA Toolkit 10.0。如需如何為裝置使用適合版本的相關資訊，請參閱 NVIDIA 文件中的[如何安裝 Jetpack](https://docs.nvidia.com/jetson/jetpack/install-jetpack/index.html)。

   1. 在執行 Ubuntu 16.04 或更新版本的實體桌面上，使用 JetPack 4.3 安裝程式刷新韌體，如 NVIDIA 文件中的[下載和安裝 JetPack](https://docs.nvidia.com/jetson/archives/jetpack-archived/jetpack-33/index.html#jetpack/3.3/install.htm%3FTocPath%3D_____3) (4.3) 所述。

      依照安裝程式的指示在 Jetson 面板上安裝所有的套件和相依性，而 Jetson 面板必須使用 Micro-B 纜線連接到桌面。

   1. 在一般模式中重新啟動您的面板，並將顯示器連接到面板。
**注意**  
當您使用 SSH 連線到 Jetson 面板時，請使用預設使用者名稱 (**nvidia**) 及預設密碼 (**nvidia**)。

1. 執行以下命令建立使用者 `ggc_user` 和群組 `ggc_group`。您執行的命令可能不盡相同，取決於您核心裝置上安裝的分發。
   + 如果您的核心裝置執行 OpenWrt，請執行下列命令：

     ```
     opkg install shadow-useradd
     opkg install shadow-groupadd
     useradd --system ggc_user
     groupadd --system ggc_group
     ```
   + 否則，請執行下列命令：

     ```
     sudo adduser --system ggc_user
     sudo addgroup --system ggc_group
     ```
**注意**  
如果在您系統中沒有可用的 `addgroup` 命令，請使用以下命令。  

     ```
     sudo groupadd --system ggc_group
     ```

1. <a name="install-java-8-runtime"></a>選用。安裝[串流管理員](stream-manager.md)需要的 Java 8 執行時間。本教學課程不會使用串流管理員，但是會使用預設啟用串流管理員的 **Default Group creation (預設群組建立)** 工作流程。部署群組之前，先使用下列命令在核心裝置上安裝 Java 8 執行時間，或停用串流管理員。單元 3 中提供了停用串流管理員的指示。
   + 針對 Debian 為基礎或 Ubuntu 為基礎的發行版本：

     ```
     sudo apt install openjdk-8-jdk
     ```
   + 針對 Red Hat 為基礎的發行版本：

     ```
     sudo yum install java-1.8.0-openjdk
     ```

1. 為了確保您擁有所有必要的相依性，請從 GitHub 上的[AWS IoT Greengrass 範例](https://github.com/aws-samples/aws-greengrass-samples)儲存庫下載並執行 Greengrass 相依性檢查程式。這些命令會解壓縮並執行相依性檢查程式指令碼。

   ```
   mkdir greengrass-dependency-checker-GGCv1.11.x
   cd greengrass-dependency-checker-GGCv1.11.x
   wget https://github.com/aws-samples/aws-greengrass-samples/raw/master/greengrass-dependency-checker-GGCv1.11.x.zip
   unzip greengrass-dependency-checker-GGCv1.11.x.zip
   cd greengrass-dependency-checker-GGCv1.11.x
   sudo ./check_ggc_dependencies | more
   ```
**注意**  
`check_ggc_dependencies` 指令碼在 AWS IoT Greengrass 支援的平台上執行，且需要特定的 Linux 系統命令。如需詳細資訊，請參閱相依性檢查程式的[讀我檔案](https://github.com/aws-samples/aws-greengrass-samples/blob/master/greengrass-dependency-checker-GGCv1.11.x/README.md)。

1. 依照相依性檢查程式輸出的指示，在您的裝置上安裝所有必要的相依性。對於遺失核心層級的相依性，您可能需要重新編譯您的核心。針對掛載 Linux 控制群組 (`cgroups`)，您可以執行 [cgroupfs-mount](https://raw.githubusercontent.com/tianon/cgroupfs-mount/master/cgroupfs-mount) 指令碼。這可讓 AWS IoT Greengrass 設定 Lambda 函數的記憶體限制。在 AWS IoT Greengrass 預設[容器化](lambda-group-config.md#lambda-containerization-considerations)模式中執行 時，也需要 Cgroup。

   如果輸出中沒有出現錯誤， AWS IoT Greengrass 則應該能夠在裝置上成功執行。
**重要**  
<a name="lambda-runtime-prereqs"></a>本教學課程需要 Python 3.7 執行時間來執行本機 Lambda 函數。啟用串流管理員時，串流管理員需要 Java 8 執行時間。如果 `check_ggc_dependencies` 指令碼產生了與這些遺漏執行時間事前準備有關的警告，請確認在您繼續前已安裝了這些項目。您可以忽略與其他遺漏選用執行時間事前準備有關的警告。

   如需 AWS IoT Greengrass 需求和相依性的清單，請參閱 [支援平台和需求](what-is-gg.md#gg-platforms)。