You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Patch Manager在Ubuntu 22.04执行补丁失败如何解决?

AWS SSM Patch Manager 运行Ubuntu 22.04补丁安装失败问题

问题表现

  • 测试覆盖两类Ubuntu 22.04主机环境:手动升级部署的Ubuntu 22.04实例、基于AWS官方Canonical镜像创建的全新纯净Ubuntu 22.04实例
  • 执行AWS SSM RunPatchBaseline补丁安装操作时,两类实例操作全部失败
  • 命令标准输出报错信息:root [ERROR]: Error loading entrance module.
  • 命令标准错误输出报错信息:Error loading patching payloadfailed to run commands: exit status 156

官方回复(2023年2月1日付费工单反馈)

针对Ubuntu 22.04版本的Patch Manager支持,经对接内部团队确认:该功能目前处于开发阶段,已纳入产品路线图将于近期发布。目前暂无确切上线时间,预计在2023年第一季度后半段推出。建议关注SSM官方文档与AWS What's New页面获取最新更新。对于该问题带来的不便我们深表歉意,SSM团队正在加紧推进版本发布,请耐心等待。

根因分析

从/var/log/amazon/ssm/amazon-ssm-agent.log的运行日志可定位核心报错原因:Ubuntu 22.04默认搭载Python 3.10版本,该版本中Mapping、MutableMapping抽象类已从collections模块迁移至collections.abc模块下,但SSM补丁组件内置的旧版botocore依赖仍使用旧导入路径,触发ImportError导致补丁加载流程直接中断。
对应关键日志片段如下:

/usr/bin/python3
/usr/bin/apt-get
Reading package lists...
Building dependency tree...
Reading state information...
python3-apt is already the newest version (2.3.0ubuntu2).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Using python binary: 'python3'
Using Python Version: Python 3.10.4
/usr/bin/curl
/usr/bin/wget
06/10/2022 16:52:49 root [INFO]: Downloading patch operation payload
06/10/2022 16:52:49 root [INFO]: Attempting to import entrance file os_selector
06/10/2022 16:52:49 root [ERROR]: Error loading entrance module.
Traceback (most recent call last):
  File "/var/log/amazon/ssm/patch-baseline-operations/common_startup_entrance.py", line 164, in execute
    entrance_module = __import__(module_name)
  File "/var/log/amazon/ssm/patch-baseline-operations/os_selector.py", line 11, in <module>
    import common_os_selector_methods
  File "/var/log/amazon/ssm/patch-baseline-operations/common_os_selector_methods.py", line 11, in <module>
    from patch_common.baseline_override import load_baseline_override
  File "/var/log/amazon/ssm/patch-baseline-operations/patch_common/baseline_override.py", line 6, in <module>
    from patch_common.downloader import download_file, load_json_file, is_access_denied
  File "/var/log/amazon/ssm/patch-baseline-operations/patch_common/downloader.py", line 1, in <module>
    import boto3
  File "/var/log/amazon/ssm/patch-baseline-operations/boto3/__init__.py", line 16, in <module>
    from boto3.session import Session
  File "/var/log/amazon/ssm/patch-baseline-operations/boto3/session.py", line 17, in <module>
    import botocore.session
  File "/var/log/amazon/ssm/patch-baseline-operations/botocore/session.py", line 29, in <module>
    import botocore.configloader
  File "/var/log/amazon/ssm/patch-baseline-operations/botocore/configloader.py", line 19, in <module>
    from botocore.compat import six
  File "/var/log/amazon/ssm/patch-baseline-operations/botocore/compat.py", line 25, in <module>
    from botocore.exceptions import MD5UnavailableError
  File "/var/log/amazon/ssm/patch-baseline-operations/botocore/exceptions.py", line 15, in <module>
    from botocore.vendored import requests
  File "/var/log/amazon/ssm/patch-baseline-operations/botocore/vendored/requests/__init__.py", line 58, in <module>
    from . import utils
  File "/var/log/amazon/ssm/patch-baseline-operations/botocore/vendored/requests/utils.py", line 26, in <module>
    from .compat import parse_http_list as _parse_list_header
  File "/var/log/amazon/ssm/patch-baseline-operations/botocore/vendored/requests/compat.py", line 7, in <module>
    from .packages import chardet
  File "/var/log/amazon/ssm/patch-baseline-operations/botocore/vendored/requests/packages/__init__.py", line 3, in <module>
    from . import urllib3
  File "/var/log/amazon/ssm/patch-baseline-operations/botocore/vendored/requests/packages/urllib3/__init__.py", line 10, in <module>
    from .connectionpool import (
  File "/var/log/amazon/ssm/patch-baseline-operations/botocore/vendored/requests/packages/urllib3/connectionpool.py", line 38, in <module>
    from .response import HTTPResponse
  File "/var/log/amazon/ssm/patch-baseline-operations/botocore/vendored/requests/packages/urllib3/response.py", line 9, in <module>
    from ._collections import HTTPHeaderDict
  File "/var/log/amazon/ssm/patch-baseline-operations/botocore/vendored/requests/packages/urllib3/_collections.py", line 1, in <module>
    from collections import Mapping, MutableMapping
ImportError: cannot import name 'Mapping' from 'collections' (/usr/lib/python3.10/collections/__init__.py)

注:该问题属于官方组件未适配Python 3.10版本导致,官方正式适配发布前无官方支持的永久修复方案,临时修改组件导入路径的临时方案会在SSM Agent每次拉取最新补丁payload后被覆盖。


内容的提问来源于stack exchange,提问作者Scott Dunt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 15:03:23