gpt4 book ai didi

chef-infra - 一个服务的action 'enable' chef最后做了什么?

转载 作者:行者123 更新时间:2023-12-05 07:31:28 26 4
gpt4 key购买 nike

当我如下声明一个服务时:

service "my_service" do
action [:enable, :start]
end

Chef 最终会执行什么操作?它会只运行 service my_service enableservice my_service start 吗?

对于 start,无论您的 linux 服务器使用 init.d 还是 systemd 都应该没有问题,因为 systemctl 命令向后兼容 服务 命令。但是对于 service 命令,确实没有 enable 这样的选项。例如,如果您运行 service my_service enable,您将获得

Usage: /sbin/service my_service {start|stop|reload|restart|try-restart|force-reload|status} 

在我的例子中,我使用的是 systemd,我真正要做的是运行 systemctl enable my_service。但是从文档中我无法判断 Chef 最终会做什么。

我可以为 start 操作指定自定义 start_command,但不幸的是没有 enable_command

有人对此有明确的答案或引用吗?

最佳答案

好的,我刚刚在 Chef 中遇到了一个叫做“provider”的东西。我什至可以选择指定哪个提供商来提供服务。

service my_service
action [:enable, :start]
provider Chef::Provider::Service::Systemd
end

所以我认为只要我能确保 Chef::Provider::Service::Systemd 被使用,enable 操作就可以按预期执行。

但是 chef 将使用的默认提供程序是什么?以及如何检查和更改它?

关于chef-infra - 一个服务的action 'enable' chef最后做了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51779563/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com