【问题标题】:Uninstalling a package using Chef使用 Chef 卸载软件包
【发布时间】:2013-08-28 13:41:23
【问题描述】:

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

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

name "app"

description "App server"

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

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

【问题讨论】:

    标签: amazon-ec2 chef-infra


    【解决方案1】:

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

    您可以编写自己的配方来撤消配方[nginx] 可能是配方[remove_nginx] 或类似的东西。之后,您可以删除 recipe[remove_nginx]。

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

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

    显然,您可以从 ruby​​_block 中的 run_list 中删除一个配方,这样就省去了在运行后使用刀自己删除它的麻烦:

    https://gist.github.com/883522

    【讨论】:

    • 优秀的答案!仅供参考,opscode.com 链接已损坏。
    猜你喜欢
    • 2023-01-11
    • 2018-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-19
    • 2015-08-23
    • 1970-01-01
    • 2013-01-12
    相关资源
    最近更新 更多