我正在 AWS 中处理基于 CentOS 8 的实例/启动配置,并希望使用 cfn-init 来管理一些设置/配置步骤。
但是,我发现提供的 RPM 没有部署,因为 Python2 和 Python3 的打包方式不同,以至于 AWS 提供的 RPM 找不到它的依赖项。
我用来安装的命令是:yum install -y https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-latest.amzn1.noarch.rpm
这会导致以下错误:
Error:
Problem: conflicting requests
- nothing provides python >= 2.6 needed by aws-cfn-bootstrap-1.4-34.noarch
- nothing provides python-setuptools needed by aws-cfn-bootstrap-1.4-34.noarch
- nothing provides python-daemon needed by aws-cfn-bootstrap-1.4-34.noarch
- nothing provides pystache needed by aws-cfn-bootstrap-1.4-34.noarch
我怀疑这是因为 CentOS <= 7 中的 python 现在是 CentOS8 中的 python2。
在这种情况下安装这些工具的最佳方式是什么?
因此,最后我解压了 tarball 并通过 UserData 脚本执行安装。这是通过调整现有指南来完成的,以了解如何通过 CLI 进行操作
这会导致脚本很长,并且下面的版本仅安装 Python2,因为在 Python3 上运行 AWS 工具时存在一些问题(对于我的用例,我只需要 Python,否则我会想办法解决这个问题)。
编辑- 显然有一个 Python3 兼容版本可以从https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-latest.tar.gz下载。有关更多详细信息,请查看AWS 文档。