"sudo: chef-client: command not found" 从工作站用刀执行时
"sudo: chef-client: command not found" when executed with knife from workstation
当我在我的工作站上使用 knife 触发 chef-client 时,我的节点上 运行ning chef-client 出现问题。我在 macOS 上,我的节点也是 macOS。一般来说,knife 似乎对我有用,因为如果我执行,例如,knife ssh tags:my-mac-mini' 'pwd' -x ‘myUser’ -a ipaddress -P ‘myPasswrod’
它会连接到标记为 my-mac-mini
的节点,然后打印具有工作目录的节点列表。但是当我尝试执行 knife ssh tags:my-mac-mini' 'sudo chef-client' -x ‘myUser’ -a ipaddress -P ‘myPasswrod’
时,它会分别为每个节点打印出 sudo: chef-client: command not found
。此外,我的节点是自举的,当我登录到特定节点时,我可以在所有节点上 运行 chef-client。
我很确定我在我的设置中遗漏了一些东西,但我并没有真正理解可能是什么错误。有什么想法吗?
如果您正在执行命令的 shell 运行 路径中没有指定的二进制文件,就会发生这种情况。您可能必须指定二进制文件的完整路径。
既然你说你可以ssh
进入你的节点和运行chef-client
,运行下面获取二进制文件的完整路径
$ which chef-client
它的输出是这样的
/path/to/chef-client
现在,当 运行通过 knife
时,使用此完整路径而不是单独使用 chef-client
当我在我的工作站上使用 knife 触发 chef-client 时,我的节点上 运行ning chef-client 出现问题。我在 macOS 上,我的节点也是 macOS。一般来说,knife 似乎对我有用,因为如果我执行,例如,knife ssh tags:my-mac-mini' 'pwd' -x ‘myUser’ -a ipaddress -P ‘myPasswrod’
它会连接到标记为 my-mac-mini
的节点,然后打印具有工作目录的节点列表。但是当我尝试执行 knife ssh tags:my-mac-mini' 'sudo chef-client' -x ‘myUser’ -a ipaddress -P ‘myPasswrod’
时,它会分别为每个节点打印出 sudo: chef-client: command not found
。此外,我的节点是自举的,当我登录到特定节点时,我可以在所有节点上 运行 chef-client。
我很确定我在我的设置中遗漏了一些东西,但我并没有真正理解可能是什么错误。有什么想法吗?
如果您正在执行命令的 shell 运行 路径中没有指定的二进制文件,就会发生这种情况。您可能必须指定二进制文件的完整路径。
既然你说你可以ssh
进入你的节点和运行chef-client
,运行下面获取二进制文件的完整路径
$ which chef-client
它的输出是这样的
/path/to/chef-client
现在,当 运行通过 knife
chef-client