使用Chef卸载软件包

时间:2011-09-12 08:55:11

标签: amazon-ec2 chef

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

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

name "app"

description "App server"

run_list [
    "recipe[apt]",
    ...,
    ...,
    "recipe[nginx]"
    ...,
    ...,
]

现在我想从机器上删除nginx包。 如果我在run_list中删除nginx recipie,它会从节点中删除nginx吗?如果没有,请告诉我在节点上进行变更管理的最佳策略是什么。

1 个答案:

答案 0 :(得分:9)

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

你可以编写自己的配方,取消配方[nginx]也许食谱[remove_nginx]或类似的东西。然后,您可以删除配方[remove_nginx]。

其他人也认为这是做一些至少有点让人放心的事情的好方法:

http://community.opscode.com/questions/6

显然你可以从ruby_block中的run_list中删除一个配方,这样就可以省去使用刀子在运行后自行删除它的麻烦:

https://gist.github.com/883522