使用Chef卸载软件包

Aru*_*run 8 amazon-ec2 chef-infra

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

我的角色/ app.rb看起来像这样:

name "app"

description "App server"

run_list [
    "recipe[apt]",
    ...,
    ...,
    "recipe[nginx]"
    ...,
    ...,
]
Run Code Online (Sandbox Code Playgroud)

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

stp*_*ung 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