gpt4 book ai didi

ruby - Chef12 到 Chef13 升级中的路径问题

转载 作者:数据小太阳 更新时间:2023-10-29 07:58:19 28 4
gpt4 key购买 nike

在 Chef12 上使用 chef-solo,我假设 /opt/chef/embedded/bin 路径附加到系统 PATH 和各种库,例如 opensslmakedepend 通过该路径工作。

使用相同的 chef-solo 命令升级到 Chef13,我收到诸如 - 的错误

  * execute[generate ca.pem] action run

================================================================================
Error executing action `run` on resource 'execute[generate ca.pem]'
================================================================================

Errno::ENOENT
-------------
No such file or directory - openssl

Resource Declaration:
command "openssl x509 -req -in hostname.csr -CA /path/to/ca.pem -CAkey /path/to/ca.key -CAcreateserial -out hostname.cer -days 512 -sha256"

系统信息是-

------------------------
chef_version=13.6.4
platform=oracle
platform_version=7.4
ruby=ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-linux]
program_name=chef-solo worker: ppid=627;start=06:32:26;
executable=/opt/chef/bin/chef-solo

目前的PATH只有/usr/bin等系统bin目录,没有/opt/chef/embedded/bin

我查看了 enforce_path_sanity,但我们不使用厨房文件。(引用 - https://github.com/chef/chef/issues/3705)

还有其他方法可以强制 chef-solo 客户端使用嵌入式库吗?

最佳答案

此行为是 changed在 Chef Client 13 中。强制路径完整性不再是默认设置。这样做的原因是,如果用户在其他地方也有相同的二进制文件,则将 chef 嵌入式 bin 目录设置为路径的一部分可能会导致运行意外版本的二进制文件。

有几种方法可以继续。你可以安装 openssl 包(推荐),你可以给你需要的二进制文件的绝对路径,或者你可以在你的配置文件中将 enforce_path_sanity 设置为 true 来恢复这个您熟悉的行为(client.rbsolo.rb 或其他)。

关于ruby - Chef12 到 Chef13 升级中的路径问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50526755/

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