2011-09-12 87 views
8

我一直在使用厨师来管理我们的服务器。使用厨师卸载软件包

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

name "app" 

description "App server" 

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

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

回答

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

+0

出色答卷!仅供参考,opscode.com链接已损坏。 – nrobey