Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services AWS::CloudFormation::初始化yum更新失败_Amazon Web Services_Amazon Cloudformation - Fatal编程技术网

Amazon web services AWS::CloudFormation::初始化yum更新失败

Amazon web services AWS::CloudFormation::初始化yum更新失败,amazon-web-services,amazon-cloudformation,Amazon Web Services,Amazon Cloudformation,遇到了一个小问题,所以在我的json文件中,我想运行一个命令来更新所有包,下面的命令是: "commands" : { "update_yum_packages" : { "command" : "sudo yum update -y" } }, 现在,如果我从json文件中删除它,堆栈将不会产生任何问题,但是当我添加命令时,我从AWS::CloudFormation::WaitCondition中

遇到了一个小问题,所以在我的json文件中,我想运行一个命令来更新所有包,下面的命令是:

        "commands" : {
          "update_yum_packages" : {
            "command" : "sudo yum update -y"
          }
        },
现在,如果我从json文件中删除它,堆栈将不会产生任何问题,但是当我添加命令时,我从AWS::CloudFormation::WaitCondition中得到一个错误。我已将超时设置为1200这里是否有明显的错误


在ssh到新实例上后,我可以很好地运行该命令。

您可以查看/var/log/cloud-init-output.log中的日志文件

您将看到,它抱怨在没有tty的情况下运行sudo命令:

cloud-init-output.log:sudo: sorry, you must have a tty to run sudo
用户数据以root用户身份运行,不需要使用“sudo”。而使用sudo将失败,并使cloudinit进程失败

所以只要使用:

    "commands" : {
      "update_yum_packages" : {
        "command" : "yum update -y"
      }
    },

这个yaml应该做同样的事情,而不必直接给sudo打电话

#cloud-config
---
package_update: true
package_upgrade: true
package_reboot_if_required: true

尝试在没有
sudo
的情况下运行它。如果失败,请粘贴
/var/log/cloud init*
@tedder42中的相关日志条目,您可以直接回答,我认为这也是问题所在。