Amazon ec2 使用Chef卸载软件包

Amazon ec2 使用Chef卸载软件包,amazon-ec2,chef-infra,Amazon Ec2,Chef Infra,我一直在使用Chef来管理我们的服务器 我的角色/app.rb如下所示: name "app" description "App server" run_list [ "recipe[apt]", ..., ..., "recipe[nginx]" ..., ..., ] 现在我想从机器上删除nginx包。 如果我在run_列表中删除nginx recipie,它会从节点中删除nginx吗?如果没有,请告诉我在节点上进行更改管理的最佳策略。如

我一直在使用Chef来管理我们的服务器

我的角色/app.rb如下所示:

name "app"

description "App server"

run_list [
    "recipe[apt]",
    ...,
    ...,
    "recipe[nginx]"
    ...,
    ...,
]
现在我想从机器上删除nginx包。
如果我在run_列表中删除nginx recipie,它会从节点中删除nginx吗?如果没有,请告诉我在节点上进行更改管理的最佳策略。

如果从运行列表中删除nginx,则特定的配方将无法运行。它实际上不会从节点中删除nginx,因为它不知道如何删除。我昨天确实在思考这个问题

您可以编写自己的配方,撤销配方[nginx],可能是配方[remove\u nginx]或类似的内容。然后,您可以删除配方[remove_nginx]

还有人认为这是一种很好的做事方式,至少有点让人放心:

显然,您可以在ruby_块中从run_列表中删除配方,这样就省去了在运行后自己使用刀子删除配方的麻烦:


回答得很好!仅供参考opscode.com链接已断开。