

• 2026 年 4 月 30 日之後， AWS Systems Manager CloudWatch Dashboard 將不再可用。客戶可以繼續使用 Amazon CloudWatch 主控台來檢視、建立和管理其 Amazon CloudWatch 儀表板，就像現在一樣。如需詳細資訊，請參閱 [Amazon CloudWatch Dashboard 文件](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)。

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

# 使用 Distributor 套件
<a name="distributor-working-with"></a>

您可以使用 AWS Systems Manager 主控台、AWS 命令列工具 (AWS CLI 和 AWS Tools for PowerShell) 和 AWS SDK 在 Distributor 中新增、管理或部署套件。Distributor 是 AWS Systems Manager 中的工具。在您新增套件至 Distributor 前：
+ 建立和 zip 安裝型資產。
+ (選用) 建立套件的 JSON 資訊清單檔案。在 Distributor 主控台使用 **Simple** (簡便) 套件建立程序，不需要此項。簡單套件建立會為您產生 JSON 資訊清單檔案。

  您可以用 AWS Systems Manager 主控台或文字或 JSON 編輯器，建立資訊清單檔案。
+ 讓 Amazon Simple Storage Service (Amazon S3) 儲存貯體準備就緒，以便存放可安裝的資產或軟體。如果您使用的是 **Advanced** (進階) 套件建立程序，請在開始前將資產上傳到 Amazon Simple Storage Service (Amazon S3) 儲存貯體。
**注意**  
您可以在完成套件的建立後刪除或重新利用此儲存貯體，因為 Distributor 會在套件建立程序過程將套件內容移動到內部 Systems Manager 儲存貯體。

AWS 發佈的套件已經封裝和準備好部署。若要將 AWS 發佈的套件部署至受管節點，請參閱 [安裝或更新 Distributor 套件](distributor-working-with-packages-deploy.md)。

您可以在 AWS 帳戶 之間共用 Distributor 套件。在 AWS CLI 命令中使用從另一個帳戶共用的套件時，使用套件 Amazon Resource Name (ARN) 而不是套件名稱。

**Topics**
+ [檢視 Distributor 中的套件](distributor-view-packages.md)
+ [在 Distributor 中建立套件](distributor-working-with-packages-create.md)
+ [在主控台中編輯 Distributor 套件許可](distributor-working-with-packages-ep.md)
+ [在主控台中編輯 Distributor 套件標籤](distributor-working-with-packages-tags.md)
+ [將版本新增至 Distributor 套件](distributor-working-with-packages-version.md)
+ [安裝或更新 Distributor 套件](distributor-working-with-packages-deploy.md)
+ [解除安裝 Distributor 套件](distributor-working-with-packages-uninstall.md)
+ [刪除 Distributor 套件](distributor-working-with-packages-dpkg.md)

# 檢視 Distributor 中的套件
<a name="distributor-view-packages"></a>

若要檢視可供安裝的套件，您可以使用 AWS Systems Manager 主控台或您偏好的 AWS 命令列工具。 Distributor 是 中的工具 AWS Systems Manager。若要存取 Distributor，請開啟 AWS Systems Manager 主控台，然後在**Distributor**左側導覽窗格中選擇 。您會看到所有可用的套件。

以下章節描述了您可以如何使用您偏好的命令列工具檢視 Distributor 套件。

## 使用命令列檢視套件
<a name="distributor-view-packages-cmd"></a>

本節包含有關如何透過提供的命令使用您偏好的命令列工具來檢視 Distributor 套件。

------
#### [ Linux & macOS ]

**在 Linux AWS CLI 上使用 檢視套件**
+ 若要檢視所有套件 (不包含共用套件)，請執行以下命令。

  ```
  aws ssm list-documents \
      --filters Key=DocumentType,Values=Package
  ```
+ 若要檢視 Amazon 擁有的所有套件，請執行以下命令。

  ```
  aws ssm list-documents \
      --filters Key=DocumentType,Values=Package Key=Owner,Values=Amazon
  ```
+ 若要檢視第三方擁有的所有套件，請執行以下命令。

  ```
  aws ssm list-documents \
      --filters Key=DocumentType,Values=Package Key=Owner,Values=ThirdParty
  ```

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

**在 Windows AWS CLI 上使用 檢視套件**
+ 若要檢視所有套件 (不包含共用套件)，請執行以下命令。

  ```
  aws ssm list-documents ^
      --filters Key=DocumentType,Values=Package
  ```
+ 若要檢視 Amazon 擁有的所有套件，請執行以下命令。

  ```
  aws ssm list-documents ^
      --filters Key=DocumentType,Values=Package Key=Owner,Values=Amazon
  ```
+ 若要檢視第三方擁有的所有套件，請執行以下命令。

  ```
  aws ssm list-documents ^
      --filters Key=DocumentType,Values=Package Key=Owner,Values=ThirdParty
  ```

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

**使用 Tools for PowerShell 檢視套件**
+ 若要檢視所有套件 (不包含共用套件)，請執行以下命令。

  ```
  $filter = New-Object Amazon.SimpleSystemsManagement.Model.DocumentKeyValuesFilter
  $filter.Key = "DocumentType"
  $filter.Values = "Package"
  
  Get-SSMDocumentList `
      -Filters @($filter)
  ```
+ 若要檢視 Amazon 擁有的所有套件，請執行以下命令。

  ```
  $typeFilter = New-Object Amazon.SimpleSystemsManagement.Model.DocumentKeyValuesFilter
  $typeFilter.Key = "DocumentType"
  $typeFilter.Values = "Package"
  
  $ownerFilter = New-Object Amazon.SimpleSystemsManagement.Model.DocumentKeyValuesFilter
  $ownerFilter.Key = "Owner"
  $ownerFilter.Values = "Amazon"
  
  Get-SSMDocumentList `
      -Filters @($typeFilter,$ownerFilter)
  ```
+ 若要檢視第三方擁有的所有套件，請執行以下命令。

  ```
  $typeFilter = New-Object Amazon.SimpleSystemsManagement.Model.DocumentKeyValuesFilter
  $typeFilter.Key = "DocumentType"
  $typeFilter.Values = "Package"
  
  $ownerFilter = New-Object Amazon.SimpleSystemsManagement.Model.DocumentKeyValuesFilter
  $ownerFilter.Key = "Owner"
  $ownerFilter.Values = "ThirdParty"
  
  Get-SSMDocumentList `
      -Filters @($typeFilter,$ownerFilter)
  ```

------

# 在 Distributor 中建立套件
<a name="distributor-working-with-packages-create"></a>

若要建立套件，請準備安裝型軟體或資產，每個作業系統平台一個檔案。至少需要一個檔案才能建立套件。

不同平台可能有時會使用相同的檔案，但連接到您套件的所有檔案必須列在資訊清單中的 `Files` 區段。如果您透過在主控台中使用簡便工作流程來建立套件，系統會為您產生資訊清單。您可以連接到單一文件的檔案數量上限為 20。每個檔案大小的上限為 1 GB。如需支援的平台的詳細資訊，請參閱[支援的套件平台和架構](distributor.md#what-is-a-package-platforms)。

當您建立套件時，系統會建立新的 [SSM 文件](documents.md)。此文件允許您將套件部署到受管節點。

您可從我們的網站下載僅供示範用途的範例套件 [ExamplePackage.zip](https://docs.aws.amazon.com/systems-manager/latest/userguide/samples/ExamplePackage.zip)。此範例套件包含已完成的 JSON 資訊清單和三個包含 PowerShell v7.0.0 安裝程式的 .zip 檔案。安裝和解除安裝指令碼不包含有效的命令。雖然您必須將每個軟體安裝型檔案和指令碼壓縮為 .zip 檔，來在 **Advanced** (進階) 工作流程中建立套件，您不會在 **Simple** (簡易) 工作流程壓縮安裝型資產。

**Topics**
+ [使用簡單工作流程建立套件](#distributor-working-with-packages-create-simple)
+ [使用進階工作流程建立套件](#distributor-working-with-packages-create-adv)

## 使用簡單工作流程建立套件
<a name="distributor-working-with-packages-create-simple"></a>

本節說明如何透過在 Distributor 主控台中選擇**簡單**套件建立工作流程，在 Distributor 中建立套件。Distributor 是 AWS Systems Manager中的工具。若要建立套件，請準備安裝型資產，每個作業系統平台一個檔案。至少需要一個檔案才能建立套件。**Simple (簡單)** 套件建立程序會為您產生安裝和解除安裝指令碼、檔案雜湊和 JSON 格式的資訊清單。**Simple (簡單)** 工作流程負責上傳和壓縮可安裝的檔案，以及建立新的套件和相關聯的 [SSM 文件](documents.md)。如需支援的平台的詳細資訊，請參閱[支援的套件平台和架構](distributor.md#what-is-a-package-platforms)。

當您使用 Simple 方法建立套件時，Distributor 會為您建立 `install` 和 `uninstall` 指令碼。不過，建立就地更新的套件時，您必須在 **Update script** (更新指令碼) 索引標籤上提供您自己的 `update` 指令碼內容。當您為 `update` 指令碼新增輸入命令時，Distributor 會在它為您建立的 .zip 套件中包含此指令碼，以及 `install` 和 `uninstall` 指令碼。

**注意**  
使用 `In-place` 更新選項將新的或更新的檔案新增至現有的套件安裝，而不需讓關聯的應用程式離線。

**使用簡單工作流程建立套件**

1. 在 https：//[https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) 開啟 AWS Systems Manager 主控台。

1. 在導覽窗格中，選擇 **Distributor**。

1. 在 Distributor 首頁上，選擇 **Create package (建立套件)**，然後選擇 **Simple (簡單)**。

1. 在 **Create package (建立套件)** 頁面，輸入套件名稱。套件名稱可包含字母、數字、句點、破折號和底線。名稱應該一般到足以適用於所有版本的套件附件，但也特別到足以識別套件目的。

1. (選用) 對於 **Version name (版本名稱)**，輸入版本名稱。版本名稱最多可包含 512 個字元，而且不得包含特殊字元。

1. 對於 **Location (位置)**，請使用儲存貯體名稱和前置詞，或使用儲存貯體 URL 來選擇儲存貯體。

1. 對於 **Upload software** (上傳軟體)，請選擇 **Add software** (新增軟體)，然後瀏覽具有 `.rpm`、`.msi` 或 `.deb` 副檔名的安裝型軟體檔案。如果檔案名稱包含空格，則上傳會失敗。您可以在單一動作中上傳多個軟體檔案。

1. 對於 **Target platform (目標平台)**，確認為每個安裝型檔案顯示的目標作業系統平台是否正確。如果顯示的作業系統不正確，請從下拉式清單中選擇正確的作業系統。

   對於 **Simple (簡單)** 套件建立工作流程中，因為您每個安裝型檔案僅上傳一次，需要額外的步驟來指示 Distributor 以多個作業系統的單一檔案為目標。例如，如果您上傳名為 `Logtool_v1.1.1.rpm` 的可安裝軟體檔案，您必須在**簡單**工作流程中變更一些預設值，以 Amazon Linux 和 Ubuntu Server 作業系統之支援版本上的相同軟體為目標。當鎖定多個平台時，請執行下列其中一個動作。
   + 在開始前，改用 **Advanced (進階)** 工作流程來將每個安裝型檔案壓縮為 .zip 檔案，以及手動編寫資訊清單，讓系統能夠以多個作業系統平台或版本的安裝型檔案為目標。如需詳細資訊，請參閱[使用進階工作流程建立套件](#distributor-working-with-packages-create-adv)。
   + 在 **Simple (簡單)** 工作流程中手動編輯資訊清單檔案，讓系統以多個作業系統平台或版本的 .zip 檔案為目標。如需如何進行此動作的詳細資訊，請參閱 [步驟 2：建立 JSON 套件資訊清單](#packages-manifest)中的步驟 4 結尾。

1. 對於 **Platform version** (平台版本)，請確認顯示的作業系統平台版本是 **\$1any** (後接萬用字元的主要發行版本 (7.\$1))，或正是您希望軟體套用的確切作業系統發行版本。如需指定作業系統平台版本的詳細資訊，請參閱 [步驟 2：建立 JSON 套件資訊清單](#packages-manifest)中的步驟 4。

1. 對於 **Architecture** (架構)，從下拉式清單中為每個安裝型檔案選擇正確的處理器架構。如需支援處理器架構的詳細資訊，請參閱 [支援的套件平台和架構](distributor.md#what-is-a-package-platforms)。

1. (選用) 展開 **Scripts (指令碼)**，並檢閱 Distributor 為安裝型軟體產生的指令碼。

1. (選用) 若要提供更新指令碼以與就地更新搭配使用，請展開 **Scripts (指令碼)**，選擇 **Update script (更新指令碼)** 索引標籤，然後輸入您的更新指令碼命令。

   Systems Manager 不會代表您產生更新指令碼。

1. 若要新增更多安裝型軟體檔案，選擇 **Add software (新增軟體)**。否則，請進行下一個步驟。

1. (選用) 展開 **Manifest (資訊清單)**，並檢閱 Distributor 為安裝型軟體產生的 JSON 套件資訊清單。如果在您開始此程序後變更了與您軟體相關的任何資訊，例如平台版本或目標平台，請選擇 **Generate manifest (產生資訊清單)** 以顯示更新的套件資訊清單。

   如果您想要以多個作業系統的軟體安裝型檔案為目標，您可以手動編輯資訊清單，如步驟 8 所述。如需編輯資訊清單的相關資訊，請參閱 [步驟 2：建立 JSON 套件資訊清單](#packages-manifest)。

1. 選擇 **Create package (建立套件)**。

等待 Distributor 完成您軟體的上傳與套件的建立。Distributor 會為每個安裝型檔案顯示上傳狀態。根據您所新增的套件數量和大小，這可能需要幾分鐘的時間。Distributor 會自動將您重新導向至新套件的 **Package details** (套件詳細資訊) 頁面，但您可以選擇在上傳軟體後自行開啟此頁面。**Package details** (套件詳細資訊) 頁面在 Distributor 完成套件的建立程序後，才會顯示您套件的所有相關資訊。若要停止上傳和套件建立程序，請選擇 **Cancel (取消)**。

如果 Distributor 無法上傳任何軟體安裝型檔案，就會顯示 **Upload failed** (上傳失敗) 訊息。若要重試上傳，請選擇 **Retry upload (重試上傳)**。如需如何對套件建立失敗進行疑難排解的更多資訊，請參閱 [故障診斷 AWS Systems Manager Distributor](distributor-troubleshooting.md)。

## 使用進階工作流程建立套件
<a name="distributor-working-with-packages-create-adv"></a>

在本節中，了解進階使用者將已壓縮的可安裝資產 (連同安裝和解除安裝指令碼) 和 JSON 資訊清單檔案上傳至 Amazon Simple Storage Service (Amazon S3) 儲存貯體後，如何在 Distributor 中建立套件。

若要建立套件，請準備安裝型資產的 .zip 檔案，每個作業系統平台一個 .zip 檔案。至少需要一個 .zip 檔案才能建立套件。下一步，建立 JSON 資訊清單。資訊清單包括您套件程式碼檔案的指標。將所需的程式碼檔案新增至資料夾或目錄，而且資訊清單中已填入正確的值之後，請將套件上傳到 S3 儲存貯體。

範例套件 [ExamplePackage.zip](https://docs.aws.amazon.com/systems-manager/latest/userguide/samples/ExamplePackage.zip) 可用於從我們的網站下載。此範例套件包含已完成的 JSON 資訊清單和 3 個 .zip 檔案。

**Topics**
+ [步驟 1：建立 ZIP 檔案](#packages-zip)
+ [步驟 2：建立 JSON 套件資訊清單](#packages-manifest)
+ [步驟 3：將套件和資訊清單上傳至 Amazon Simple Storage Service (Amazon S3) 儲存貯體](#packages-upload-s3)
+ [步驟 4：將套件新增至 Distributor](#distributor-working-with-packages-add)

### 步驟 1：建立 ZIP 檔案
<a name="packages-zip"></a>

您的套件基礎至少要有一個軟體或安裝型資產的 .zip 檔案。套件包含每個您想支援的作業系統一個 .zip 檔案，除非 .zip 檔案可以安裝在多個作業系統。例如，Red Hat Enterprise Linux 和 Amazon Linux 執行個體支援的版本通常可執行相同的 .RPM 可執行檔，所以您只需要將一個 .zip 檔案連接至套件就能支援這兩種作業系統。

**必要檔案**  
下列是每個 .zip 檔案的必要項目：
+ **install** 和 **uninstall** 指令碼。Windows Server 型受管節點需要 PowerShell 指令碼 (名為 `install.ps1` 和 `uninstall.ps1` 的指令碼)。Linux 類型的受管節點需要 shell 指令碼 (指令碼名為 `install.sh` 和 `uninstall.sh`)。SSM Agent 會執行 **install** 和 **uninstall** 指令碼中的指示。

  例如，您的安裝指令碼可能會執行安裝程式 (例如 .rpm 或 .msi)、可能會複製檔案或設定組態。
+ 可執行檔案、安裝程式套件 (.rpm、.deb、.msi 等)、其他指令碼或組態檔案等。

**選用檔案**  
下列項目是每個 .zip 檔案中的選用項目：
+ **update** 指令碼。提供更新指令碼可讓您使用 `In-place update` 選項來安裝套件。當您想要將新的或更新的檔案新增至現有的套件安裝時，`In-place update` 選項可在執行更新時避免套件應用程式離線。Windows Server 受管節點需要 PowerShell 指令碼 (名為 `update.ps1` 的指令碼)。Linux 型受管節點需要 shell 指令碼 (指令碼名為 `update.sh`)。SSM Agent 會執行 **update** 指令碼中的指示。

如需安裝或更新套件的詳細資訊，請參閱[安裝或更新 Distributor 套件](distributor-working-with-packages-deploy.md)。

如需 .zip 檔案範例，包括 **install** 和 **uninstall** 指令碼、下載範例套件、[ExamplePackage.zip](https://docs.aws.amazon.com/systems-manager/latest/userguide/samples/ExamplePackage.zip)。

### 步驟 2：建立 JSON 套件資訊清單
<a name="packages-manifest"></a>

在您準備和壓縮安裝型檔案後，請建立 JSON 資訊清單。下列為範本。資訊清單範本的部分將在此程序的此區段所述。您可以使用 JSON 編輯器，在個別檔案建立此資訊清單。或者，您可以在建立套件時，在 AWS Systems Manager 主控台中撰寫資訊清單。

```
{
  "schemaVersion": "2.0",
  "version": "your-version",
  "publisher": "optional-publisher-name",
  "packages": {
    "platform": {
      "platform-version": {
        "architecture": {
          "file": ".zip-file-name-1.zip"
        }
      }
    },
    "another-platform": {
      "platform-version": {
        "architecture": {
          "file": ".zip-file-name-2.zip"
        }
      }
    },
    "another-platform": {
      "platform-version": {
        "architecture": {
          "file": ".zip-file-name-3.zip"
        }
      }
    }
  },
  "files": {
    ".zip-file-name-1.zip": {
      "checksums": {
        "sha256": "checksum"
      }
    },
    ".zip-file-name-2.zip": {
      "checksums": {
        "sha256": "checksum"
      }
    }
  }
}
```

**若要建立 JSON 套件資訊清單**

1. 新增結構描述版本到您的資訊清單。在此版本中，結構描述版本一律為 `2.0`。

   ```
   { "schemaVersion": "2.0",
   ```

1. 新增使用者定義的套件版本到您的資訊清單。這也是 **Version name** (版本名稱) 的數值，當您將套件新增至 Distributor 時指定。它會成為您建立的套件時建立 Distributor 的 AWS Systems Manager 文件的一部分。您也提供這個值做為 `AWS-ConfigureAWSPackage` 文件中的輸入，以安裝最新版本以外的套件版本。`version` 值可以包含字母、數字、底線、連字號和句點，長度上限為 128 字元。我們建議您使用便於讀取的套件版本，讓您和其他管理員部署時能輕鬆指定的確切套件版本。下列是 範例。

   ```
   "version": "1.0.1",
   ```

1. (選用) 新增發佈者名稱。下列是 範例。

   ```
   "publisher": "MyOrganization",
   ```

1. 新增套件。`"packages"` 區段敘述您套件中 .zip 檔案支援的平台、發行版本和架構。如需詳細資訊，請參閱[支援的套件平台和架構](distributor.md#what-is-a-package-platforms)。

   *platform\$1version* 可為萬用字元值 `_any`。使用它表示 .zip 檔案支援平台所有版本。您也可以指定後接萬用字元的主要發行版本，以便支援所有次要版本，例如 7.\$1。如果您選擇為指定作業系統版本指定 *platform-version* 值，請確定其符合您目標作業系統 AMI 的確切發行版本。以下是取得作業系統正確值的建議資源。
   + 在 Windows Server 型受管節點上，發行版本是 Windows Management Instrumentation (WMI) 資料形式。您可以執行以下來自「命令提示字元」的命令，以取得版本資訊，然後剖析 `version` 的結果。

     ```
     wmic OS get /format:list
     ```
   + 在以 Linux 為基礎的受管節點上，先透過掃描作業系統發行版本 (下列命令) 來取得版本。尋找 `VERSION_ID` 的數值。

     ```
     cat /etc/os-release
     ```

     如果這麼做沒有傳回您需要的結果，請執行下列命令，從 `/etc/lsb-release` 檔案取得 LSB 發行版本資訊並尋找 `DISTRIB_RELEASE` 的值。

     ```
     lsb_release -a
     ```

     若這些方法失敗，您可以根據分發找到版本。例如，您可以在 Debian Server 掃描 `/etc/debian_version` 檔案，或者在 Red Hat Enterprise Linux 掃描 `/etc/redhat-release` 檔案。

     ```
     hostnamectl
     ```

   ```
   "packages": {
       "platform": {
         "platform-version": {
           "architecture": {
             "file": ".zip-file-name-1.zip"
           }
         }
       },
       "another-platform": {
         "platform-version": {
           "architecture": {
             "file": ".zip-file-name-2.zip"
           }
         }
       },
       "another-platform": {
         "platform-version": {
           "architecture": {
             "file": ".zip-file-name-3.zip"
           }
         }
       }
     }
   ```

   下列是 範例。在這個範例中，作業系統平台是 `amazon`，支援的更新版本 `2016.09`，架構是 `x86_64`，支援此平台的 .zip 檔案則是 `test.zip`。

   ```
   {
       "amazon": {
           "2016.09": {
               "x86_64": {
                   "file": "test.zip"
               }
           }
       }
   },
   ```

   您可以新增萬用字元值 `_any`，表示套件支援所有版本的父元素。例如，若要表示所有 Amazon Linux 更新版本都支援此套件，您的套件陳述式應該與下列相似。您可以在版本或架構層級使用 `_any` 萬用字元，支援平台所有版本，或版本的所有架構，或平台所有架構的所有版本。

   ```
   {
       "amazon": {
           "_any": {
               "x86_64": {
                   "file": "test.zip"
               }
           }
       }
   },
   ```

   以下範例新增 `_any` 以顯示第一個套件，Amazon Linux 2016.09 的所有架構都支援 `data1.zip`。Amazon Linux 的所有版本都支援第二個套件 `data2.zip`，但只支援有 `x86_64` 架構的受管節點。`2023.8` 和 `_any` 都是 `amazon` 下的項目。有一個平台 (Amazon Linux)，但有不同的支援版本、架構和相關 .zip 檔案。

   ```
   {
       "amazon": {
           "2023.8": {
               "_any": {
                   "file": "data1.zip"
               }
           },
           "_any": {
               "x86_64": {
                   "file": "data2.zip"
               }
           }
       }
   }
   ```

   若 .zip 檔案支援多個平台，您可以參閱資訊清單 `"packages"` 區段的 .zip 檔案一次以上。例如，如果您的 .zip 檔案同時支援 Red Hat Enterprise Linux 8.x 版本和 Amazon Linux，您在 `"packages"`區段中有兩個項目指向相同的 .zip 檔案，如下列範例所示。

   ```
   {
       "amazon": {
           "2023.8.20250715 ": {
               "x86_64": {
                   "file": "test.zip"
               }
           }
       },
       "redhat": {
           "8.*": {
               "x86_64": {
                   "file": "test.zip"
               }
           }
       }
   },
   ```

1. 新增步驟 4 中，做為此套件的部分的 .zip 檔案清單。每個檔案項目需要檔案名稱和 `sha256` 雜湊值的檢查總和。資訊清單中的檢查總和值必須符合壓縮資產中的 `sha256` 雜湊值，避免套件的安裝失敗。

   若要從您可安裝型取得確切檢查總和，您可以執行以下命令。在 Linux 上執行 `shasum -a 256 file-name.zip` 或 `openssl dgst -sha256 file-name.zip`。在 Windows 上，執行 [PowerShell](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/get-filehash?view=powershell-6) 中的 `Get-FileHash -Path path-to-.zip-file` cmdlet。

   資訊清單的 `"files"` 區段包含您套件中每個 .zip 檔案的參考。

   ```
   "files": {
           "test-agent-x86.deb.zip": {
               "checksums": {
                   "sha256": "EXAMPLE2706223c7616ca9fb28863a233b38e5a23a8c326bb4ae241dcEXAMPLE"
               }
           },
           "test-agent-x86_64.deb.zip": {
               "checksums": {
                   "sha256": "EXAMPLE572a745844618c491045f25ee6aae8a66307ea9bff0e9d1052EXAMPLE"
               }
           },
           "test-agent-x86_64.nano.zip": {
               "checksums": {
                   "sha256": "EXAMPLE63ccb86e830b63dfef46995af6b32b3c52ce72241b5e80c995EXAMPLE"
               }
           },
           "test-agent-rhel8-x86.nano.zip": {
               "checksums": {
                   "sha256": "EXAMPLE13df60aa3219bf117638167e5bae0a55467e947a363fff0a51EXAMPLE"
               }
           },
           "test-agent-x86.msi.zip": {
               "checksums": {
                   "sha256": "EXAMPLE12a4abb10315aa6b8a7384cc9b5ca8ad8e9ced8ef1bf0e5478EXAMPLE"
               }
           },
           "test-agent-x86_64.msi.zip": {
               "checksums": {
                   "sha256": "EXAMPLE63ccb86e830b63dfef46995af6b32b3c52ce72241b5e80c995EXAMPLE"
               }
           },
           "test-agent-rhel8-x86.rpm.zip": {
               "checksums": {
                   "sha256": "EXAMPLE13df60aa3219bf117638167e5bae0a55467e947a363fff0a51EXAMPLE"
               }
           }
       }
   ```

1. 在您新增套件資訊後，儲存並關閉資訊清單檔案。

以下是已完成的資訊清單範例：在這個範例中，您有一個 .zip 檔案 `NewPackage_LINUX.zip`，支援多個平台，但曾在 `"files"` 區段中參考一次。

```
{
    "schemaVersion": "2.0",
    "version": "1.7.1",
    "publisher": "Amazon Web Services",
    "packages": {
        "windows": {
            "_any": {
                "x86_64": {
                    "file": "NewPackage_WINDOWS.zip"
                }
            }
        },
        "amazon": {
            "_any": {
                "x86_64": {
                    "file": "NewPackage_LINUX.zip"
                }
            }
        },
        "ubuntu": {
            "_any": {
                "x86_64": {
                    "file": "NewPackage_LINUX.zip"
                }
            }
        }
    },
    "files": {
        "NewPackage_WINDOWS.zip": {
            "checksums": {
                "sha256": "EXAMPLEc2c706013cf8c68163459678f7f6daa9489cd3f91d52799331EXAMPLE"
            }
        },
        "NewPackage_LINUX.zip": {
            "checksums": {
                "sha256": "EXAMPLE2b8b9ed71e86f39f5946e837df0d38aacdd38955b4b18ffa6fEXAMPLE"
            }
        }
    }
}
```

#### 套件範例
<a name="package-manifest-examples"></a>

範例套件 [ExamplePackage.zip](https://docs.aws.amazon.com/systems-manager/latest/userguide/samples/ExamplePackage.zip) 可用於從我們的網站下載。此範例套件包含已完成的 JSON 資訊清單和 3 個 .zip 檔案。

### 步驟 3：將套件和資訊清單上傳至 Amazon Simple Storage Service (Amazon S3) 儲存貯體
<a name="packages-upload-s3"></a>

將所有 .zip 檔案複製或移動到資料夾或目錄，以準備您的套件。有效套件需要您在 [步驟 2：建立 JSON 套件資訊清單](#packages-manifest) 建立的資訊清單，以及資訊清單檔案清單中找到的所有 .zip 檔案。

**上傳套件和資訊清單至 Amazon Simple Storage Service (Amazon S3)**

1. 將資訊清單檔案中您指定的所有 .zip 封存檔案複製或移動到資料夾或目錄。請勿壓縮將 .zip 封存檔案和資訊清單檔案所移至的資料夾或目錄。

1. 建立儲存貯體或選擇現有的儲存貯體。如需詳細資訊，請參閱*《Amazon Simple Storage Service 入門指南》*中的[建立儲存貯體](https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingABucket.html)。如需如何執行 AWS CLI 命令以建立儲存貯體的詳細資訊，請參閱《 *AWS CLI 命令參考*[https://docs.aws.amazon.com/cli/latest/reference/s3/mb.html](https://docs.aws.amazon.com/cli/latest/reference/s3/mb.html)》中的 。

1. 將資料夾或目錄上傳至儲存貯體。如需詳細資訊，請參閱《*Amazon Simple Storage Service 入門指南*》中的[將物件新增到儲存貯體](https://docs.aws.amazon.com/AmazonS3/latest/userguide/PuttingAnObjectInABucket.html)。如果您打算將 JSON 資訊清單貼到 AWS Systems Manager 主控台，請勿上傳資訊清單。如需如何執行 AWS CLI 命令以將檔案上傳至儲存貯體的詳細資訊，請參閱《 *AWS CLI 命令參考*[https://docs.aws.amazon.com/cli/latest/reference/s3/mv.html](https://docs.aws.amazon.com/cli/latest/reference/s3/mv.html)》中的 。

1. 在儲存貯體的首頁，選擇您上傳的資料夾或目錄。如果您將檔案上傳到儲存貯體中的子資料夾，請務必記下子資料夾 (也稱為*前綴*)。您需要此前綴來將套件新增至 Distributor。

### 步驟 4：將套件新增至 Distributor
<a name="distributor-working-with-packages-add"></a>

您可以使用 AWS Systems Manager 主控台、 AWS 命令列工具 (AWS CLI 和 AWS Tools for PowerShell) 或 AWS SDKs將新套件新增至 Distributor。新增套件時，您會新增新的 [SSM 文件](documents.md)。文件允許您將套件部署到受管節點。

**Topics**
+ [使用主控台新增套件](#create-pkg-console)
+ [使用 新增套件 AWS CLI](#create-pkg-cli)

#### 使用主控台新增套件
<a name="create-pkg-console"></a>

您可以使用 AWS Systems Manager 主控台來建立套件。將您在 [步驟 3：將套件和資訊清單上傳至 Amazon Simple Storage Service (Amazon S3) 儲存貯體](#packages-upload-s3) 中的套件上傳目標的儲存貯體名稱準備好。

**將套件新增至 Distributor (主控台)**

1. 在 https：//[https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) 開啟 AWS Systems Manager 主控台。

1. 在導覽窗格中，選擇 **Distributor**。

1. 在 Distributor 首頁上，選擇 **Create package (建立套件)**，然後選擇 **Advanced (進階)**。

1. 在 **Create package (建立套件)** 頁面，輸入套件名稱。套件名稱可包含字母、數字、句點、破折號和底線。名稱應該一般到足以適用於所有版本的套件附件，但也特別到足以識別套件目的。

1. 對於 **Version name (版本名稱)**，輸入您資訊清單檔案中 `version` 項目的確切值。

1. 對於 **S3 bucket name (S3 儲存貯體名稱)**，選擇您在 [步驟 3：將套件和資訊清單上傳至 Amazon Simple Storage Service (Amazon S3) 儲存貯體](#packages-upload-s3)中將 .zip 檔案和資訊清單上傳至其中的儲存貯體名稱。

1. 對於 **S3 key prefix (S3 金鑰前綴)**，輸入 .zip 檔案和資訊清單存放所在的儲存貯體子資料夾。

1. 對於 **Manifest** (資訊清單)，選擇 **Extract from package** (從套件中擷取) 來使用您透過 .zip 檔案上傳到 Amazon Simple Storage Service (Amazon S3) 儲存貯體的資訊清單。

   (選用) 如果您未將 JSON 資訊清單上傳到 .zip 檔案存放所在的 S3 儲存貯體，請選擇 **New manifest** (新增資訊清單)。您可以在 JSON 編輯器欄位編寫或貼上整個資訊清單。更多如何建立 JSON 資訊清單的資訊，請參閱[步驟 2：建立 JSON 套件資訊清單](#packages-manifest)。

1. 當您完成資訊清單，請選擇 **Create package** (建立套件)。

1. 等待 Distributor 透過 .zip 檔案和資訊清單來建立套件。根據您所新增的套件數量和大小，這可能需要幾分鐘的時間。Distributor 會自動將您重新導向至新套件的 **Package details (套件詳細資訊)** 頁面，但您可以選擇在上傳軟體後自行開啟此頁面。**Package details** (套件詳細資訊) 頁面在 Distributor 完成套件的建立程序後，才會顯示您套件的所有相關資訊。若要停止上傳和套件建立程序，請選擇 **Cancel (取消)**。

#### 使用 新增套件 AWS CLI
<a name="create-pkg-cli"></a>

您可以使用 AWS CLI 來建立套件。將您在 [步驟 3：將套件和資訊清單上傳至 Amazon Simple Storage Service (Amazon S3) 儲存貯體](#packages-upload-s3) 中的套件上傳的儲存貯體的 URL 準備好。

**使用 將套件新增至 Amazon S3 AWS CLI**

1. 若要使用 AWS CLI 建立套件，請執行下列命令，將 *package-name* 取代為套件的名稱，並將 *path-to-manifest-file* 取代為 JSON 資訊清單檔案的檔案路徑。amzn-s3-demo-bucket 是存放整個套件的 Amazon S3 儲存貯體 URL。當您在 Distributor 中執行 **create-document** 命令時，請為 `--document-type` 指定 `Package` 的值。

   若您沒有新增資訊清單檔案到 Amazon Simple Storage Service (Amazon S3) 儲存貯體，`--content` 參數值就是 JSON 資訊清單檔案的檔案路徑。

   ```
   aws ssm create-document \
       --name "package-name" \
       --content file://path-to-manifest-file \
       --attachments Key="SourceUrl",Values="amzn-s3-demo-bucket" \
       --version-name version-value-from-manifest \
       --document-type Package
   ```

   下列是 範例。

   ```
   aws ssm create-document \
       --name "ExamplePackage" \
       --content file://path-to-manifest-file \
       --attachments Key="SourceUrl",Values="https://s3.amazonaws.com/amzn-s3-demo-bucket/ExamplePackage" \
       --version-name 1.0.1 \
       --document-type Package
   ```

1. 驗證您的套件已新增，並用您的套件名稱取代 *package\$1name*，而執行以下命令，以顯示套件資訊清單。若要取得特定版本的文件 (而非與套件版本相同)，您可以新增 `--document-version` 參數。

   ```
   aws ssm get-document \
       --name "package-name"
   ```

如需可以與 **create-document** 命令搭配使用之其他選項的相關資訊，請參閱《*AWS CLI 命令參考*》中 AWS Systems Manager 章節的 [https://docs.aws.amazon.com/cli/latest/reference/ssm/create-document.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/create-document.html)。如需可搭配 **get-document** 命令使用之其他選項的相關資訊，請參閱[https://docs.aws.amazon.com/cli/latest/reference/ssm/get-document.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/get-document.html)。

# 在主控台中編輯 Distributor 套件許可
<a name="distributor-working-with-packages-ep"></a>

將套件新增至 中的Distributor工具後 AWS Systems Manager，您可以在 Systems Manager 主控台中編輯套件的許可。您可以將其他 新增至 AWS 帳戶 套件的許可。套件的共用對象只限於相同 AWS 區域 中的其他帳戶。不支援跨區域共用。根據預設，套件會設為**私有**，這表示只有可存取套件建立者之 的套件 AWS 帳戶 才能檢視套件資訊，以及更新或刪除套件。如果能夠接受 **Private (私有)** 許可，則可以略過此程序。

**注意**  
您可以更新與 20 個或更少帳戶共用的套件的許可。

**在主控台中編輯套件許可**

1. 在 https：//[https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) 開啟 AWS Systems Manager 主控台。

1. 在導覽窗格中，選擇 **Distributor**。

1. 在 **Packages (套件)** 頁面選擇您要編輯許可的套件。

1. 在 **Package details (套件詳細資訊)** 標籤選擇 **Edit permissions (編輯許可)** 變更許可。

1. 對於 **Edit permissions (編輯許可)**，選擇 **Shared with specific accounts (與特定帳戶共享)**。

1. 在 **Shared with specific accounts** (與特定帳戶共享) 下新增 AWS 帳戶 號碼，一次一個。完成後，請選擇**儲存**。

# 在主控台中編輯 Distributor 套件標籤
<a name="distributor-working-with-packages-tags"></a>

將套件新增至 中的Distributor工具後 AWS Systems Manager，您可以在 Systems Manager 主控台中編輯套件的標籤。這些標籤會套用到套件，不會連接您部署套件的受管節點標籤上。標籤有區分大小寫的金鑰和值組，可協助您透過條件分組及篩選適用於您組織的套件。如果您不想新增標籤，就可以準備安裝套件或新增新版本了。

**在主控台中編輯套件標籤**

1. 在 https：//[https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) 開啟 AWS Systems Manager 主控台。

1. 在導覽窗格中，選擇 **Distributor**。

1. 在 **Packages (套件)** 頁面選擇您要編輯標籤的套件。

1. 在 **Details** (詳細資訊) 索引標籤上，選擇 **Tags** (標籤) > **Edit** (編輯)。

1. 對於 **Add tags (新增標籤)**，輸入標籤鍵或標籤鍵和值組，然後選擇 **Add (新增)**。若您想新增更多標籤，請再重複一次。若要刪除標籤中，請選擇視窗底部標籤上的 **X**。

1. 完成新增標籤至套件時，請選擇 **Save** (儲存)。

# 將版本新增至 Distributor 套件
<a name="distributor-working-with-packages-version"></a>

若要新增套件版本，[請建立套件](distributor-working-with-packages-create.md)，然後使用 新增項目至已存在於較舊版本的 AWS Systems Manager (SSM) 文件Distributor，以新增套件版本。 Distributor 是 中的工具 AWS Systems Manager。若要節省時間，請更新較舊版本套件的資訊清單，變更資訊清單中 `version` 項目的值 (例如，從 `Test_1.0` 到 `Test_2.0`)，並儲存為新版本的資訊清單。Distributor 主控台中的簡便 **Add version** (新增版本) 工作流程會為您更新資訊清單檔案。

新套件版本能：
+ 至少替換一個連接到目前版本的安裝型檔案。
+ 新增新的安裝型檔案，來支援額外的平台。
+ 刪除檔案，不再支援特定平台。

較新版本可以使用相同的 Amazon Simple Storage Service (Amazon S3) 儲存貯體，但 URL 尾端顯示的檔案名稱必須不同。您可以使用 Systems Manager 主控台或 AWS Command Line Interface (AWS CLI) 以新增新版本。上傳與 Amazon Simple Storage Service (Amazon S3) 儲存貯體中現有安裝型檔案相同名稱的安裝型檔案，會覆寫現有的檔案。系統不會將安裝型檔案從舊版複製到新版，您必須從舊版上傳安裝型檔案來讓這些檔案成為新版本的一部分。在 Distributor 完成新套件版本的建立後，您就可以刪除或重新利用 Amazon Simple Storage Service (Amazon S3) 儲存貯體，因為 Distributor 會在版本控制程序期間將您的軟體複製到內部 Systems Manager 儲存貯體。

**注意**  
每個套件最多能保留 25 個版本。您可以刪除不再需要的版本。

**Topics**
+ [使用主控台新增套件版本](#add-pkg-version)
+ [使用 新增套件版本 AWS CLI](#add-pkg-version-cli)

## 使用主控台新增套件版本
<a name="add-pkg-version"></a>

執行這些步驟之前，請按照[在 Distributor 中建立套件](distributor-working-with-packages-create.md)中的指示建立版本的新套件。接著使用 Systems Manager 主控台，將套件版本新增到 Distributor。

### 使用簡單工作流程新增套件版本
<a name="add-pkg-version-simple"></a>

若要透過使用 **Simple (簡單)** 工作流程來新增套件版本，請準備更新的安裝型檔案，或新增安裝型檔案來支援更多平台和架構。然後，使用 Distributor 來上傳新的和更新的安裝型檔案和新增套件版本。Distributor 主控台中簡化的 **Add version** (新增版本) 工作流程會為您更新資訊清單檔案和相關的 SSM 文件。

**使用簡單工作流程新增套件版本**

1. 在 https：//[https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) 開啟 AWS Systems Manager 主控台。

1. 在導覽窗格中，選擇 **Distributor**。

1. 在 Distributor 首頁，選擇套件到您想新增其他版本的地方。

1. 在 **Add version (新增版本)** 頁面上，選擇 **Simple (簡單)**。

1. 對於 **Version name (版本名稱)**，輸入版本名稱。新版本的版本名稱必須與舊版本名稱不同。版本名稱最多可包含 512 個字元，而且不得包含特殊字元。

1. 對於 **S3 bucket name (S3 儲存貯體名稱)**，從清單中選擇現有的 S3 儲存貯體。這可以與您存放舊版安裝型檔案使用的儲存貯體相同，但安裝型檔案名稱必須不同，來避免在儲存貯體中覆寫現有的安裝型檔案。

1. 對於 **S3 key prefix (S3 金鑰前綴)**，輸入安裝型資產存放所在的儲存貯體子資料夾。

1. 對於 **Upload software** (上傳軟體) 中，瀏覽您想要連接到新版本的安裝型軟體檔案。系統不會將現有版本中的安裝型檔案自動複製到新版本，如果您希望任何相同的安裝型檔案成為新版本的一部分，您必須從舊版套件上傳任何安裝型檔案。您可以在單一動作中上傳多個軟體檔案。

1. 對於 **Target platform (目標平台)**，確認為每個安裝型檔案顯示的目標作業系統平台是否正確。如果顯示的作業系統不正確，請從下拉式清單中選擇正確的作業系統。

   在 **Simple (簡單)** 版本控制工作流程中，因為您每個安裝型檔案僅上傳一次，需要額外的步驟來以多個作業系統的單一檔案為目標。例如，如果您上傳名為 `Logtool_v1.1.1.rpm` 的可安裝軟體檔案，您必須在**簡單**工作流程中變更一些預設值，來指示 Distributor 同時以 Amazon Linux 和 Ubuntu Server 作業系統的相同軟體為目標。您可以執行以下其中一項操作來解決這個限制。
   + 在開始前，改用 **Advanced (進階)** 版本控制工作流程來將每個安裝型檔案壓縮為 .zip 檔案，以及手動編寫資訊清單，讓系統能夠以多個作業系統平台或版本的安裝型檔案為目標。如需詳細資訊，請參閱[使用進階工作流程新增套件版本](#add-pkg-version-adv)。
   + 在 **Simple (簡單)** 工作流程中手動編輯資訊清單檔案，讓系統以多個作業系統平台或版本的 .zip 檔案為目標。如需如何進行此動作的詳細資訊，請參閱 [步驟 2：建立 JSON 套件資訊清單](distributor-working-with-packages-create.md#packages-manifest)中的步驟 4 結尾。

1. 對於**平台版本**，請確認顯示的作業系統平台版本是 **\$1any**、主要發行版本，後面接著萬用字元 (8.\$1)，或是您希望軟體套用的確切作業系統發行版本。如需指定平台版本的詳細資訊，請參閱 [步驟 2：建立 JSON 套件資訊清單](distributor-working-with-packages-create.md#packages-manifest)中的步驟 4。

1. 對於 **Architecture (架構)**，從下拉式清單中為每個安裝型檔案選擇正確的處理器架構。如需支援架構的詳細資訊，請參閱 [支援的套件平台和架構](distributor.md#what-is-a-package-platforms)。

1. (選用) 展開 **Scripts (指令碼)**，並檢閱 Distributor 為安裝型軟體產生的安裝和解除安裝指令碼。

1. 若要將更多安裝型軟體檔案新增至新版本，選擇 **Add software (新增軟體)**。否則，請進行下一個步驟。

1. (選用) 展開 **Manifest (資訊清單)**，並檢閱 Distributor 為安裝型軟體產生的 JSON 套件資訊清單。如果在您開始此程序後變更了與安裝型軟體相關的任何資訊，例如平台版本或目標平台，請選擇 **Generate manifest (產生資訊清單)** 以顯示更新的套件資訊清單。

   如果您想要以多個作業系統的軟體安裝型檔案為目標，您可以手動編輯資訊清單，如步驟 9 所述。如需編輯資訊清單的相關資訊，請參閱 [步驟 2：建立 JSON 套件資訊清單](distributor-working-with-packages-create.md#packages-manifest)。

1. 當您完成軟體的新增和目標平台、版本和架構資料的檢閱後，請選擇 **Add version (新增版本)**。

1. 等待 Distributor 完成您軟體的上傳與新套件版本的建立。Distributor 會為每個安裝型檔案顯示上傳狀態。根據您所新增的套件數量和大小，這可能需要幾分鐘的時間。Distributor 會自動將您重新導向至套件的 **Package details (套件詳細資訊)** 頁面，但您可以選擇在上傳軟體後自行開啟此頁面。此 **Package details** (套件詳細資訊) 頁面在 Distributor 完成新套件版本的建立後，才會顯示您套件的所有相關資訊。若要停止上傳和套件版本建立，請選擇 **Stop upload (停止上傳)**。

1. 如果 Distributor 無法上傳任何軟體安裝型檔案，就會顯示 **Upload failed** (上傳失敗) 訊息。若要重試上傳，請選擇 **Retry upload (重試上傳)**。如需如何對套件版本建立失敗進行疑難排解的更多資訊，請參閱 [故障診斷 AWS Systems Manager Distributor](distributor-troubleshooting.md)。

1. 在 Distributor 完成新套件版本的建立時，可在套件 **Details (詳細資訊)** 頁面的 **Versions (版本)** 標籤上，在可用套件版本的清單中檢視新版本。選擇版本來設定預設的套件版本，然後選擇 **Set default version (設定預設版本)**。

   如果您不設定預設版本，則最新套件版本就是預設版本。

### 使用進階工作流程新增套件版本
<a name="add-pkg-version-adv"></a>

若要新增套件版本，請[建立套件](distributor-working-with-packages-create.md)，然後透過將項目新增至已存在於較舊版本的 SSM 文件，來使用 Distributor 新增套件版本。若要節省時間，請更新較舊版本套件的資訊清單，變更資訊清單中 `version` 項目的值 (例如，從 `Test_1.0` 到 `Test_2.0`)，並儲存為新版本的資訊清單。您必須擁有更新的資訊清單，透過使用 **Advanced (進階)** 工作流程來新增新的套件版本。

**使用進階工作流程新增套件版本**

1. 在 https：//[https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) 開啟 AWS Systems Manager 主控台。

1. 在導覽窗格中，選擇 **Distributor**。

1. 在 Distributor 首頁，選擇您想將其他版本新增至其中的套件，然後選擇 **Add version (新增版本)**。

1. 對於 **Version name (版本名稱)**，輸入您資訊清單檔案中 `version` 項目的確切值。

1. 對於 **S3 bucket name (S3 儲存貯體名稱)**，從清單中選擇現有的 S3 儲存貯體。這可以與您存放舊版安裝型檔案使用的儲存貯體相同，但安裝型檔案名稱必須不同，來避免在儲存貯體中覆寫現有的安裝型檔案。

1. 對於 **S3 key prefix (S3 金鑰前綴)**，輸入安裝型資產存放所在的儲存貯體子資料夾。

1. 對於 **Manifest (資訊清單)**，選擇 **Extract from package (從套件中擷取)** 來使用您透過 .zip 檔案上傳到 S3 儲存貯體的資訊清單。

   (選用) 如果您未將修訂的 JSON 資訊清單上傳到 .zip 檔存放所在的 Amazon Simple Storage Service (Amazon S3) 儲存貯體，請選擇 **New manifest** (新增資訊清單)。您可以在 JSON 編輯器欄位編寫或貼上整個資訊清單。更多如何建立 JSON 資訊清單的資訊，請參閱[步驟 2：建立 JSON 套件資訊清單](distributor-working-with-packages-create.md#packages-manifest)。

1. 當您完成資訊清單時，請選擇 **Add package version** (新增套件版本)。

1. 在套件的 **Details (詳細資訊)** 頁面的 **Versions (版本)** 標籤上，可查看可用套件版本清單的新版本。選擇版本來設定預設的套件版本，然後選擇 **Set default version (設定預設版本)**。

   如果您不設定預設版本，則最新套件版本就是預設版本。

## 使用 新增套件版本 AWS CLI
<a name="add-pkg-version-cli"></a>

您可以使用 AWS CLI 將新的套件版本新增至 Distributor。如本主題開始所述，執行這些命令前，您必須建立新套件版本並上傳到 S3。

**使用 新增套件版本 AWS CLI**

1. 執行下列命令，使用新套件版本的項目編輯 AWS Systems Manager 文件。用您的文件的名稱取代 *document\$1name*。使用在 [步驟 3：將套件和資訊清單上傳至 Amazon Simple Storage Service (Amazon S3) 儲存貯體](distributor-working-with-packages-create.md#packages-upload-s3) 中複製的 JSON 資訊清單 URL 取代 *amzn-s3-demo-bucket*。*S3-bucket-URL-of-package* 是儲存整個套件的 Amazon Simple Storage Service (Amazon S3) 儲存貯體的 URL。使用資訊清單中的 `version` 值取代 *version-name-from-updated-manifest*。將 `--document-version` 參數設定為 `$LATEST`，讓與此套件版本相關聯的文件變成最新文件版本。

   ```
   aws ssm update-document \
       --name "document-name" \
       --content "S3-bucket-URL-to-manifest-file" \
       --attachments Key="SourceUrl",Values="amzn-s3-demo-bucket" \
       --version-name version-name-from-updated-manifest \
       --document-version $LATEST
   ```

   下列是 範例。

   ```
   aws ssm update-document \
       --name ExamplePackage \
       --content "https://s3.amazonaws.com/amzn-s3-demo-bucket/ExamplePackage/manifest.json" \
       --attachments Key="SourceUrl",Values="https://s3.amazonaws.com/amzn-s3-demo-bucket/ExamplePackage" \
       --version-name 1.1.1 \
       --document-version $LATEST
   ```

1. 執行以下命令來驗證您的套件已更新，並顯示套件資訊清單。請用您的套件名稱取代 *package\$1name*，並可選擇用您更新的文件版本編號 (與套件版本不同) 取代 *document\$1version*。若此套件版本與最新文件版本相關，您可以將選用 `--document-version` 參數的值指定為 `$LATEST`。

   ```
   aws ssm get-document \
       --name "package-name" \
       --document-version "document-version"
   ```

如需有關可與 **update-document**命令搭配使用之其他選項的資訊，請參閱 *AWS CLI 命令參考*的 [https://docs.aws.amazon.com/cli/latest/reference/ssm/update-document.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/update-document.html) AWS Systems Manager 一節。

# 安裝或更新 Distributor 套件
<a name="distributor-working-with-packages-deploy"></a>

您可以使用 中的工具Distributor，將套件部署到您的 AWS Systems Manager 受管節點 AWS Systems Manager。若要部署套件，請使用 AWS 管理主控台 或 AWS Command Line Interface (AWS CLI)。您可以在每個命令部署一個套件版本。您可以安裝新套件或就地更新現有的安裝。您可以選擇部署特定版本，或選擇一律用最新部署套件版本來部署。建議您使用 中的State Manager工具 AWS Systems Manager來安裝套件。使用 State Manager 協助確保受管節點始終執行最新版本的套件。

**重要**  
您使用 Distributor 安裝的套件只能使用 Distributor 來解除安裝。否則，Systems Manager 仍可將應用程式註冊為 `INSTALLED`，並導致其他意外的結果。


| Preference | AWS Systems Manager 動作 | 詳細資訊 | 
| --- | --- | --- | 
|  立即安裝或更新套件。  |  Run Command  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/systems-manager/latest/userguide/distributor-working-with-packages-deploy.html)  | 
|  依排程安裝或更新的套件，以便安裝一律會包含預設版本。  |  State Manager  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/systems-manager/latest/userguide/distributor-working-with-packages-deploy.html)  | 
|  自動安裝套件到具有特定標籤或標籤集合的新受管節點上。例如，在新執行個體上安裝 Amazon CloudWatch 代理程式。  |  State Manager  |  有一種方法，可以套用標籤到新的受管節點，然後在您的 State Manager 關聯指定標籤為目標。State Manager 會在符合關聯標籤的受管節點關聯中安裝套件。請參閱 [了解 State Manager 關聯中的目標和速率控制](systems-manager-state-manager-targets-and-rate-controls.md)。  | 

**Topics**
+ [使用主控台一次性安裝或更新套件](#distributor-deploy-pkg-console)
+ [使用主控台排程套件安裝或更新](#distributor-deploy-sm-pkg-console)
+ [使用 安裝套件一次 AWS CLI](#distributor-deploy-pkg-cli)
+ [使用 更新套件一次 AWS CLI](#distributor-update-pkg-cli)
+ [使用 排程套件安裝 AWS CLI](#distributor-smdeploy-pkg-cli)
+ [使用 排程套件更新 AWS CLI](#distributor-smupdate-pkg-cli)

## 使用主控台一次性安裝或更新套件
<a name="distributor-deploy-pkg-console"></a>

您可以使用 AWS Systems Manager 主控台安裝或更新套件一次。當您設定一次性安裝時， Distributor會使用 中的[AWS Systems Manager Run Command](run-command.md)工具 AWS Systems Manager來執行安裝。

**使用主控台一次性安裝或更新套件**

1. 在 https：//[https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) 開啟 AWS Systems Manager 主控台。

1. 在導覽窗格中，選擇 **Distributor**。

1. 在 Distributor 首頁上，選擇您想安裝的套件。

1. 選擇 **Install one time (一次性安裝)**。

   這個命令會用命令文件 `AWS-ConfigureAWSPackage` 和您選擇的 Distributor 套件開啟 Run Command。

1. 對於 **Document version (文件版本)**，選取您要執行的 `AWS-ConfigureAWSPackage` 文件的版本。

1. 針對 **Action (動作)**，選擇 **Install (安裝)**。

1. 對於 **Installation type (安裝類型)**，選擇以下其中一項：
   + **Uninstall and reinstall (解除安裝並重新安裝)**：套件會完全解除安裝，然後重新安裝。在重新安裝完成之前，應用程式無法使用。
   + **In-place update** (就地更新)：根據您在 `update` 指令碼中提供的指示，只將新的或變更的檔案新增至現有的安裝。應用程式在整個更新程序中仍然可用。已 AWS 發佈的套件不支援此選項，但`AWSEC2Launch-Agent`套件除外。

1. 對於 **Name (名稱)**，確認已輸入您所選套件的名稱。

1. (選用) 對於 **Version (版本)**，輸入套件的版本名稱值。如果您將此欄位留空，Run Command 會安裝您在 Distributor 選的預設版本。

1. 在 **Targets** (目標) 區段中，透過手動指定標籤、選取執行個體或裝置，或指定資源群組，選擇您要執行這項操作的受管節點。
**注意**  
如果在清單中沒看到受管節點，則請參閱 [疑難排解受管節點的可用性](fleet-manager-troubleshooting-managed-nodes.md)。

1. 對於**其他參數**：
   + 在 **Comment** (註解) 中，輸入此命令的相關資訊。
   + 在**逾時 (秒)** 中，指定在命令執行全面失敗之前，系統要等候的秒數。

1. 對於 **Rate Control** (速率控制)：
   + 在 **Concurrency (並行)** 中，指定可同時執行命令的節點數目或百分比。
**注意**  
如果透過指定標籤或資源群組選取了目標，且您不確定會以多少個受管節點為目標，則透過指定百分比限制可以同時執行文件之目標的數量。
   + 在 **Error threshold** (錯誤閾值) 中，指定在特定數目或百分比之受管節點上的命令失敗之後，停止在其他目標上執行命令。例如，如果您指定三個錯誤，則 Systems Manager 會在收到第四個錯誤時停止傳送命令。仍在處理命令的受管節點也可能會傳送錯誤。

1. (選用) 針對**輸出選項**，若要將命令輸出儲存至檔案，請選取**將命令輸出寫入至 S3 儲存貯體**方塊。在方塊中輸入儲存貯體和字首 (資料夾) 名稱。
**注意**  
授予能力以將資料寫入至 S3 儲存貯體的 S3 許可，會是指派給執行個體之執行個體設定檔 (適用於 EC2 執行個體) 或 IAM 服務角色 (啟用混合模式的機器) 的許可，而不是執行此任務之 IAM 使用者的許可。如需詳細資訊，請參閱[設定 Systems Manager 所需的執行個體許可](setup-instance-permissions.md)或[建立混合環境的 IAM 服務角色](hybrid-multicloud-service-role.md)。此外，若指定的 S3 儲存貯體位於不同的 AWS 帳戶內，請確保與受管節點相關聯的執行個體設定檔或 IAM 服務角色是否具有寫入該儲存貯體的必要許可。

1. 在**SNS 通知**區段中，如果您要傳送有關命令執行狀態的通知，請選取**啟用 SNS 通知**核取方塊。

   如需為 Run Command 設定 Amazon SNS 通知的詳細資訊，請參閱 [使用 Amazon SNS 通知監控 Systems Manager 狀態變更](monitoring-sns-notifications.md)。

1. 當您準備好安裝套件時，請選擇 **Run** (執行)。

1. **Command status (命令狀態)** 區域會報告執行的進度。如果命令仍在進行中，請選擇主控台左上角的重新整理圖示，直到 **Overall status (整體狀態)** 或 **Detailed status (詳細狀態)** 欄顯示 **Success (成功)** 或 **Failed (失敗)** 顯示為止。

1. 在 **Targets and outputs (目標和輸出)** 區域中，選擇受管節點名稱旁邊的按鈕，然後選擇 **View output (檢視輸出)**。

   此指令輸出頁面會顯示指令執行的結果。

1. (選用) 如果您選擇將命令輸出寫入 Amazon Simple Storage Service (Amazon S3) 儲存貯體，請選擇 **Amazon Simple Storage Service (Amazon S3)** 以檢視輸出日誌資料。

## 使用主控台排程套件安裝或更新
<a name="distributor-deploy-sm-pkg-console"></a>

您可以使用 AWS Systems Manager 主控台來排程套件的安裝或更新。排定套件安裝或更新時，Distributor 會使用 [AWS Systems Manager State Manager](systems-manager-state.md)來安裝或更新。

**使用主控台排程套件安裝**

1. 在 https：//[https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) 開啟 AWS Systems Manager 主控台。

1. 在導覽窗格中，選擇 **Distributor**。

1. 在 Distributor 首頁上，選擇您想安裝或安裝的套件。

1. 對於 **Package (套件)**，選擇 **Install on a schedule (依排程安裝)**。

   此命令會開啟 State Manager 至為您建立的新關聯。

1. 對於 **Name (名稱)**，輸入名稱 (例如，**Deploy-test-agent-package**)。此為選用操作，但建議您採用。名稱中不得使用空格。

1. 在 **Document (文件)** 清單中，已選取文件名稱 `AWS-ConfigureAWSPackage`。

1. 對於 **Action (動作)**，請確認已選取 **Install (安裝)**。

1. 對於 **Installation type (安裝類型)**，選擇以下其中一項：
   + **Uninstall and reinstall (解除安裝並重新安裝)**：套件會完全解除安裝，然後重新安裝。在重新安裝完成之前，應用程式無法使用。
   + **In-place update** (就地更新)：根據您在 `update` 指令碼中提供的指示，只將新的或變更的檔案新增至現有的安裝。應用程式在整個更新程序中仍然可用。

1. 對於 **Name (名稱)**，確認已輸入您套件的名稱。

1. 對於 **Version (版本)**，如果您要安裝最新發佈版本以外的套件版本，請輸入版本識別碼。

1. 對於 **Targets (目標)**，請選擇 **Selecting all managed instances in this account (選擇此帳戶中的所有受管執行個體)**、**Specifying tags (指定標籤)** 或 **Manually Selecting Instance (手動選擇執行個體)**。如果您選擇使用標籤來指向資源，請在提供的欄位中輸入標籤索引鍵和標籤值。
**注意**  
您可以選擇選取**此帳戶中的所有受管執行個體**或**手動選取執行個體**，以選擇受管 AWS IoT Greengrass 核心裝置。

1. 對於 **Specify schedule (指定排程)**，請選擇 **On Schedule (依排程)** 定期執行關聯，或 **No Schedule (不排程)** 來執行關聯一次。如需關於這些選項的詳細資訊，請參閱 [在 Systems Manager 中使用關聯](state-manager-associations.md)。使用控制項來建立 `cron` 或關聯速率排程。

1. 選擇 **Create Association (建立關聯)**。

1. 在 **Association (關聯)** 頁面上，選擇您建立的關聯旁邊的按鈕，然後選擇 **Apply association now (立即套用關聯)**。

   State Manager會在指定的目標上建立並立即執行關聯。如需執行關聯結果的詳細資訊，請參閱此指南中的[在 Systems Manager 中使用關聯](state-manager-associations.md)。

如需在 **Advanced options (進階選項)**、**Rate control (速率控制)** 以及 **Output options (輸出選項)** 中使用選項的詳細資訊，請參閱[在 Systems Manager 中使用關聯](state-manager-associations.md)。

## 使用 安裝套件一次 AWS CLI
<a name="distributor-deploy-pkg-cli"></a>

您可以在 **send-command**中執行 AWS CLI 以安裝Distributor套件一次。如果套件已經安裝，解除安裝套件時會讓應用程式離線，並將新版本安裝就位。

**使用 安裝套件一次 AWS CLI**
+ 在 AWS CLI中執行以下命令。

  ```
  aws ssm send-command \
      --document-name "AWS-ConfigureAWSPackage" \
      --instance-ids "instance-IDs" \
      --parameters '{"action":["Install"],"installationType":["Uninstall and reinstall"],"name":["package-name (in same account) or package-ARN (shared from different account)"]}'
  ```
**注意**  
`installationType` 的預設行為是 `Uninstall and reinstall`。當您安裝完整套件時，您可以在此命令中忽略 `"installationType":["Uninstall and reinstall"]`。

  下列是 範例。

  ```
  aws ssm send-command \
      --document-name "AWS-ConfigureAWSPackage" \
      --instance-ids "i-00000000000000" \
      --parameters '{"action":["Install"],"installationType":["Uninstall and reinstall"],"name":["ExamplePackage"]}'
  ```

如需有關可與 **send-command**命令搭配使用之其他選項的資訊，請參閱 *AWS CLI 命令參考*的 [https://docs.aws.amazon.com/cli/latest/reference/ssm/send-command.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/send-command.html) AWS Systems Manager 一節。

## 使用 更新套件一次 AWS CLI
<a name="distributor-update-pkg-cli"></a>

您可以在 **send-command**中執行 AWS CLI 以更新Distributor套件，而無需讓相關聯的應用程式離線。只會取代套件中的新檔案或更新檔案。

**使用 更新套件一次 AWS CLI**
+ 在 AWS CLI中執行以下命令。

  ```
  aws ssm send-command \
      --document-name "AWS-ConfigureAWSPackage" \
      --instance-ids "instance-IDs" \
      --parameters '{"action":["Install"],"installationType":["In-place update"],"name":["package-name (in same account) or package-ARN (shared from different account)"]}'
  ```
**注意**  
當您新增新的或變更的檔案時，必須在命令中包含 `"installationType":["In-place update"]`。

  下列是 範例。

  ```
  aws ssm send-command \
      --document-name "AWS-ConfigureAWSPackage" \
      --instance-ids "i-02573cafcfEXAMPLE" \
      --parameters '{"action":["Install"],"installationType":["In-place update"],"name":["ExamplePackage"]}'
  ```

如需有關可與 **send-command**命令搭配使用之其他選項的資訊，請參閱 *AWS CLI 命令參考*的 [https://docs.aws.amazon.com/cli/latest/reference/ssm/send-command.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/send-command.html) AWS Systems Manager 一節。

## 使用 排程套件安裝 AWS CLI
<a name="distributor-smdeploy-pkg-cli"></a>

您可以在 **create-association**中執行 AWS CLI ，以排程安裝Distributor套件。`--name` 值 (文件名稱) 一律為 `AWS-ConfigureAWSPackage`。以下命令會使用索引鍵 `InstanceIds` 來指定目標受管節點。如果套件已經安裝，解除安裝套件時會讓應用程式離線，並將新版本安裝就位。

```
aws ssm create-association \
    --name "AWS-ConfigureAWSPackage" \
    --parameters '{"action":["Install"],"installationType":["Uninstall and reinstall"],"name":["package-name (in same account) or package-ARN (shared from different account)"]}' \
    --targets [{\"Key\":\"InstanceIds\",\"Values\":[\"instance-ID1\",\"instance-ID2\"]}]
```

**注意**  
`installationType` 的預設行為是 `Uninstall and reinstall`。當您安裝完整套件時，您可以在此命令中忽略 `"installationType":["Uninstall and reinstall"]`。

下列是 範例。

```
aws ssm create-association \
    --name "AWS-ConfigureAWSPackage" \
    --parameters '{"action":["Install"],"installationType":["Uninstall and reinstall"],"name":["Test-ConfigureAWSPackage"]}' \
    --targets [{\"Key\":\"InstanceIds\",\"Values\":[\"i-02573cafcfEXAMPLE\",\"i-0471e04240EXAMPLE\"]}]
```

如需有關可與 **create-association**命令搭配使用之其他選項的資訊，請參閱 *AWS CLI 命令參考*的 [https://docs.aws.amazon.com/cli/latest/reference/ssm/create-association.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/create-association.html) AWS Systems Manager 一節。

## 使用 排程套件更新 AWS CLI
<a name="distributor-smupdate-pkg-cli"></a>

您可以在 **create-association**中執行 AWS CLI ，以排程更新Distributor套件，而無需讓相關聯的應用程式離線。只會取代套件中的新檔案或更新檔案。`--name` 值 (文件名稱) 一律為 `AWS-ConfigureAWSPackage`。以下命令會使用索引鍵 `InstanceIds` 來指定目標執行個體。

```
aws ssm create-association \
    --name "AWS-ConfigureAWSPackage" \
    --parameters '{"action":["Install"],"installationType":["In-place update"],"name":["package-name (in same account) or package-ARN (shared from different account)"]}' \
    --targets [{\"Key\":\"InstanceIds\",\"Values\":[\"instance-ID1\",\"instance-ID2\"]}]
```

**注意**  
當您新增新的或變更的檔案時，必須在命令中包含 `"installationType":["In-place update"]`。

下列是 範例。

```
aws ssm create-association \
    --name "AWS-ConfigureAWSPackage" \
    --parameters '{"action":["Install"],"installationType":["In-place update"],"name":["Test-ConfigureAWSPackage"]}' \
    --targets [{\"Key\":\"InstanceIds\",\"Values\":[\"i-02573cafcfEXAMPLE\",\"i-0471e04240EXAMPLE\"]}]
```

如需有關可與 **create-association**命令搭配使用之其他選項的資訊，請參閱 *AWS CLI 命令參考*的 [https://docs.aws.amazon.com/cli/latest/reference/ssm/create-association.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/create-association.html) AWS Systems Manager 一節。

# 解除安裝 Distributor 套件
<a name="distributor-working-with-packages-uninstall"></a>

您可以使用 AWS 管理主控台 或 AWS Command Line Interface (AWS CLI)，透過使用 將Distributor套件從 AWS Systems Manager 受管節點解除安裝Run Command。 Distributor和 Run Command是 中的工具 AWS Systems Manager。在此版本中，您可以解除安裝一個套件版本。您可以解除安裝特定版本或預設版本。

**重要**  
您使用 Distributor 安裝的套件只能使用 Distributor 來解除安裝。否則，Systems Manager 仍可將應用程式註冊為 `INSTALLED`，並導致其他意外的結果。

**Topics**
+ [使用主控台解除安裝套件](#distributor-pkg-uninstall-console)
+ [使用 解除安裝套件 AWS CLI](#distributor-pkg-uninstall-cli)

## 使用主控台解除安裝套件
<a name="distributor-pkg-uninstall-console"></a>

您可以在 Systems Manager 主控台中使用 Run Command 解除安裝套件一次。Distributor 使用 [AWS Systems Manager Run Command](run-command.md) 來解除安裝套件。

**使用主控台解除安裝套件**

1. 在 https：//[https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) 開啟 AWS Systems Manager 主控台。

1. 在導覽窗格中，選擇 **Run Command**。

1. 在 Run Command 首頁選擇 **Run command (執行命令)**。

1. 選擇 `AWS-ConfigureAWSPackage` 命令文件。

1. 從 **Action (動作)**，選擇 **Uninstall (解除安裝)** 

1. 在 **Name (名稱)** 輸入您想解除安裝的套件名稱。

1. 對於 **Targets** (目標)，選擇您想要如何鎖定受管節點。您可以指定目標共用的標籤索引鍵和值。您也可以選擇屬性來指定目標，屬性包括 ID、平台和 SSM Agent 版本等。

1. 您可以使用進階選項來新增有關作業的註解、變更 **Rate control** (比率控制) 中的 **Concurrency** (並行) 和 **Error threshold** (錯誤閾值) 值、指定輸出選項，或設定 Amazon Simple Notification Service (Amazon SNS) 通知。如需詳細資訊，請參閱此指南中的[從主控台執行命令](https://docs.aws.amazon.com/systems-manager/latest/userguide/rc-console.html)。

1. 準備好解除安裝套件時，請選擇 **Run** (執行)，然後選擇 **View results** (檢視結果)。

1. 在命令清單中，選擇您剛剛執行的 `AWS-ConfigureAWSPackage` 命令。如果命令仍在進行中，選擇主控台右上角的重新整理圖示。

1. **Status** (狀態) 列顯示 **Success** (成功) 或 **Failed** (失敗) 時，請選擇 **Output** (輸出) 標籤。

1. 選擇 **View output (檢視輸出)**。此指令輸出頁面會顯示指令執行的結果。

## 使用 解除安裝套件 AWS CLI
<a name="distributor-pkg-uninstall-cli"></a>

您可以使用 從受管節點 AWS CLI 解除安裝Distributor套件，方法是使用 Run Command。

**使用 解除安裝套件 AWS CLI**
+ 在 AWS CLI中執行以下命令。

  ```
  aws ssm send-command \
      --document-name "AWS-ConfigureAWSPackage" \
      --instance-ids "instance-IDs" \
      --parameters '{"action":["Uninstall"],"name":["package-name (in same account) or package-ARN (shared from different account)"]}'
  ```

  下列是 範例。

  ```
  aws ssm send-command \
      --document-name "AWS-ConfigureAWSPackage" \
      --instance-ids "i-02573cafcfEXAMPLE" \
      --parameters '{"action":["Uninstall"],"name":["Test-ConfigureAWSPackage"]}'
  ```

如需有關可與 **send-command**命令搭配使用之其他選項的資訊，請參閱 *AWS CLI 命令參考*的 [https://docs.aws.amazon.com/cli/latest/reference/ssm/send-command.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/send-command.html) AWS Systems Manager 一節。

# 刪除 Distributor 套件
<a name="distributor-working-with-packages-dpkg"></a>

本節說明如何刪除套件。您無法刪除套件的版本，只能刪除整個套件。

## 使用主控台刪除套件
<a name="distributor-delete-pkg-console"></a>

您可以使用 AWS Systems Manager 主控台，從 中的Distributor工具 中刪除套件或套件版本 AWS Systems Manager。刪除套件會從 Distributor 刪除所有套件版本。

**使用主控台刪除套件**

1. 在 https：//[https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) 開啟 AWS Systems Manager 主控台。

1. 在導覽窗格中，選擇 **Distributor**。

1. 在 **Distributor** 首頁上選擇您想刪除的套件。

1. 在套件詳細資訊頁面上，選擇 **Delete package (刪除套件)**。

1. 當系統提示您確認刪除時，選擇 **Delete package** (刪除套件)。

## 使用主控台刪除套件版本
<a name="distributor-delete-pkg-version-console"></a>

您可以使用 Systems Manager 主控台從 Distributor 刪除套件版本。

**使用主控台刪除套件版本**

1. 在 https：//[https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) 開啟 AWS Systems Manager 主控台。

1. 在導覽窗格中，選擇 **Distributor**。

1. 在 **Distributor** 首頁上選擇您想刪除其版本的套件。

1. 在套件的版本頁面上，選擇要刪除的版本，然後選擇 **Delete version (刪除版本)**。

1. 當系統提示您確認刪除時，選擇 **Delete package version** (刪除套件版本)。

## 使用命令列刪除套件
<a name="distributor-delete-pkg-cli"></a>

您可以使用偏好的命令列工具，從 Distributor 刪除套件。

------
#### [ Linux & macOS ]

**使用 刪除套件 AWS CLI**

1. 執行以下命令，列出特定套件的文件。在這個命令的結果中，尋找您要刪除的套件。

   ```
   aws ssm list-documents \
       --filters Key=Name,Values=package-name
   ```

1. 執行以下命令以刪除套件。用套件名稱取代 *package\$1name*。

   ```
   aws ssm delete-document \
       --name "package-name"
   ```

1. 再次執行 **list-documents** 命令，確認套件已刪除。您刪除的套件不應包含在清單中。

   ```
   aws ssm list-documents \
       --filters Key=Name,Values=package-name
   ```

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

**使用 刪除套件 AWS CLI**

1. 執行以下命令，列出特定套件的文件。在這個命令的結果中，尋找您要刪除的套件。

   ```
   aws ssm list-documents ^
       --filters Key=Name,Values=package-name
   ```

1. 執行以下命令以刪除套件。用套件名稱取代 *package\$1name*。

   ```
   aws ssm delete-document ^
       --name "package-name"
   ```

1. 再次執行 **list-documents** 命令，確認套件已刪除。您刪除的套件不應包含在清單中。

   ```
   aws ssm list-documents ^
       --filters Key=Name,Values=package-name
   ```

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

**使用 Tools for PowerShell 刪除套件**

1. 執行以下命令，列出特定套件的文件。在這個命令的結果中，尋找您要刪除的套件。

   ```
   $filter = New-Object Amazon.SimpleSystemsManagement.Model.DocumentKeyValuesFilter
   $filter.Key = "Name"
   $filter.Values = "package-name"
   
   Get-SSMDocumentList `
       -Filters @($filter)
   ```

1. 執行以下命令以刪除套件。用套件名稱取代 *package\$1name*。

   ```
   Remove-SSMDocument `
       -Name "package-name"
   ```

1. 再次執行 **Get-SSMDocumentList** 命令，確認套件已刪除。您刪除的套件不應包含在清單中。

   ```
   $filter = New-Object Amazon.SimpleSystemsManagement.Model.DocumentKeyValuesFilter
   $filter.Key = "Name"
   $filter.Values = "package-name"
   
   Get-SSMDocumentList `
       -Filters @($filter)
   ```

------

## 使用命令列刪除套件版本
<a name="distributor-delete-pkg-version-cli"></a>

您可以使用偏好的命令列工具，從 Distributor 刪除套件版本。

------
#### [ Linux & macOS ]

**使用 刪除套件版本 AWS CLI**

1. 執行下列命令以列出套件的版本。在這個命令的結果中，尋找您要刪除的套件版本。

   ```
   aws ssm list-document-versions \
       --name "package-name"
   ```

1. 執行以下命令以刪除套件版本。用套件名稱取代 *package-name*，以及用版本號碼取代 *version*。

   ```
   aws ssm delete-document \
       --name "package-name" \
       --document-version version
   ```

1. 執行 **list-document-versions** 命令，確認套件版本已刪除。應該找不到您刪除的套件版本。

   ```
   aws ssm list-document-versions \
       --name "package-name"
   ```

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

**使用 刪除套件版本 AWS CLI**

1. 執行下列命令以列出套件的版本。在這個命令的結果中，尋找您要刪除的套件版本。

   ```
   aws ssm list-document-versions ^
       --name "package-name"
   ```

1. 執行以下命令以刪除套件版本。用套件名稱取代 *package-name*，以及用版本號碼取代 *version*。

   ```
   aws ssm delete-document ^
       --name "package-name" ^
       --document-version version
   ```

1. 執行 **list-document-versions** 命令，確認套件版本已刪除。應該找不到您刪除的套件版本。

   ```
   aws ssm list-document-versions ^
       --name "package-name"
   ```

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

**使用 Tools for PowerShell 刪除套件版本**

1. 執行下列命令以列出套件的版本。在這個命令的結果中，尋找您要刪除的套件版本。

   ```
   Get-SSMDocumentVersionList `
       -Name "package-name"
   ```

1. 執行以下命令以刪除套件版本。用套件名稱取代 *package-name*，以及用版本號碼取代 *version*。

   ```
   Remove-SSMDocument `
       -Name "package-name" `
       -DocumentVersion version
   ```

1. 執行 **Get-SSMDocumentVersionList** 命令，確認套件版本已刪除。應該找不到您刪除的套件版本。

   ```
   Get-SSMDocumentVersionList `
       -Name "package-name"
   ```

------

如需有關可與 **list-documents**命令搭配使用之其他選項的資訊，請參閱 *AWS CLI 命令參考*的 [https://docs.aws.amazon.com/cli/latest/reference/ssm/list-documents.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/list-documents.html) AWS Systems Manager 一節。如需可搭配 **delete-document** 命令使用之其他選項的相關資訊，請參閱[https://docs.aws.amazon.com/cli/latest/reference/ssm/delete-document.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/delete-document.html)。