Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
如何疑難排解失敗的 Patch Manager (Linux) 作業?
我想要疑難排解失敗的 Patch Manager (Linux) 作業。
簡短說明
修補作業可能會因各種原因而失敗,而針對錯誤的疑難排解方式則會因作業系統 (OS) 有所不同。您可以在 AWS 管理主控台或 API 回應中找到錯誤。不過,主控台輸出會在 48,000 個字元時遭到截斷,這會限制特定問題的可見性。針對這些問題,最佳實務是檢閱儲存在受管節點上的完整輸出。您也可以使用傳送到 Amazon CloudWatch 和 Amazon Simple Storage Service (Amazon S3) 的輸出,以進一步進行疑難排解。
解決方法
若要針對 Patch Manager (Linux) 作業失敗時收到的錯誤訊息進行疑難排解,請完成下列任務。
使用 AWSSupport-TroubleshootPatchManagerLinux 執行手冊
使用 AWSSupport-TroubleshootPatchManagerLinux 來針對 Linux 受管節點的修補錯誤進行疑難排解。
檢視您的分區和許可
使用 noexec 許可裝載 /var/lib/amazon 時,您會收到下列錯誤訊息範例:
"/var/lib/amazon/ssm/<instanceid>/document/orchestration/<commandid>/PatchLinux/_script.sh: Permission deniedfailed to run commands: exit status 126"
若要解決此問題,請將專屬分區設定為 /var/log/amazon 和 /var/lib/amazon,並使用 exec 許可來裝載它們。
檢閱您的受管節點許可
當受管節點沒有存取指定 Amazon S3 儲存貯體的必要許可時,即會發生下列錯誤範例:
"Unable to download payload: https://s3.DOC-EXAMPLE-BUCKET.region.amazonaws.com/aws-ssm-region/patchbaselineoperations/linux/payloads/patch-baseline-operations-X.XX.tar.gz.failed to run commands: exit status 156"
若要解決此問題,請更新您的網路組態,並確定您可以到達 AWS 區域 Amazon S3 端點。如需詳細資訊,請參閱 AWS Systems Manager Agent (SSM Agent) 與 AWS 受管 S3 儲存貯體的通訊。
檢閱 Run 命令任務和目錄空間
當兩個命令同時在相同受管節點上執行 AWS-RunPatchBaseline 時,您會收到下列錯誤訊息範例。當 /var 目錄上沒有可用的磁碟空間時,您也可以收到此錯誤訊息。
錯誤範例:
"IOError: [Errno 2] No such file or directory: 'patch-baseline-operations-X.XX.tar.gz'Unable to extract tar file: /var/log/amazon/ssm/patch-baseline-operations/patch-baseline-operations-1.75.tar.gz.
failed to run commands: exit status 155
Unable to load and extract the content of payload, abort.
failed to run commands: exit status 152"
若要解決此問題,請完成下列任務:
- 請確定沒有任何維護時段擁有兩個或多個執行 AWS-RunPatchBaseline 的 Run 命令。任務不能具有相同的優先順序等級,並在相同的目標 ID 上執行。若有必要,請變更優先順序等級。
- 請確定只有一個 State Manager 關聯在相同的排程上執行 AWS-RunPatchBaseline,並以相同的受管節點為目標。
- 在 /var 目錄下提供更多磁碟空間。
檢閱在受管節點上執行的程序
當 AWS-RunPatchBaseline 在正在執行 yum 的受管節點上執行時,並且另一個程序已經鎖定資料庫時,即會發生下列錯誤訊息範例:
"MM/DD/YYYY HH:MM:SS root [INFO]: another process has acquired yum lock, waiting 2 s and retry."
若要解決此問題,請完成下列任務:
- 沒有任何 State Manager 關聯、維護時段任務,或其他依排程執行 AWS-RunPatchBaseline 的組態會同時以相同的受管節點為目標。
- 請確定沒有同時執行手動 yum 作業。
檢閱伺服器的 Python 版本
當 Red Hat Enterprise Linux (RHEL)、Debian Server、Raspberry Pi 或 Ubuntu Server 執行個體上未安裝支援的 Python 3 版本時,您會收到下列錯誤訊息範例:
"An unsupported package manager and python version combination was found.Dnf requires Python 2 or Python 3 to be installed."
若要解決此錯誤,請在所需的伺服器上安裝 Python 第 3 版 (3.0-3.9)。
檢閱您的作業系統
不支援作業系統時,您會收到下列錯誤訊息範例:
"An error occurred (UnsupportedOperatingSystem) when calling the GetDeployablePatchSnapshotForInstance operation: patch_common.exceptions.PatchManagerError: ('Unsupported Operating System', 146)"
若要解決此問題,請使用 Patch Manager 支援的作業系統。
檢閱執行個體的輸出
修補作業失敗並且主控台輸出遭截斷後,您可能無法檢視整個輸出。
若要解決此錯誤,請在下列位置檢閱執行個體的整個輸出:
"/var/lib/amazon/ssm/<example-instance-id>/document/orchestration/<example-command-id>/awsrunShellScript/PatchLinux/stdout"
**注意:**將所有範例字串取代為您的值。
您也可以將作業設定為將 Run 命令輸出傳送到 Amazon S3 或 CloudWatch。
- 語言
- 中文 (繁體)

相關內容
- 已提問 2 年前
- 已提問 3 年前
- 已提問 1 年前
AWS 官方已更新 9 個月前