在 FreeBSD 10 上使用 Knife Bootstrap 时出现的问题

在 FreeBSD 10 上使用 Knife Bootstrap 时出现的问题

我相当确定这与我的食谱无关,因为连接后立即发生以下情况:

0.0.0.0 Unmatched '.
0.0.0.0 distro=FreeBSD: Command not found.
0.0.0.0 distro: Undefined variable.
0.0.0.0 if: Expression Syntax.
0.0.0.0 then: Command not found.
0.0.0.0 PATH=/usr/sfw/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin: Command not found.
0.0.0.0 export: Command not found.
0.0.0.0 fi: Command not found.
0.0.0.0 fi: Command not found.
0.0.0.0 Badly placed ()'s.
0.0.0.0 Invalid null command.
0.0.0.0 then: Command not found.
0.0.0.0 return: Command not found.
0.0.0.0 else: endif not found.

我无法通过阅读与 Chef 的 FreeBSD 相关的文档和线程来确定这一点,但感觉 FreeBSD 9.x(以及 10,扩展)的兼容性进展缓慢,所以我主要想确定如果它没有得到严格支持,我是否应该继续努力。

不确定是否相关,但我使用的命令是:

knife bootstrap $IP --run-list "recipe[freebsd-baseline]" -x root -P "$PASSWORD" -N $HOSTNAME 

FreeBSD 版本:

# uname -rs
FreeBSD 10.0-RELEASE

还有人遇到过这种情况吗?是否有官方资源可以确定受支持的 FreeBSD 版本?

答案1

除非您指定了自定义引导模板这是 bootstrap 尝试运行的

它至少需要安装bash和或wget,并且可以通过 找到。我已经有一段时间没用过 FreeBSD 了,但我记得上次安装时默认安装中没有包含这些东西。curlPATH

我最近对编写 chef 大部分内容的人说了一些刻薄的话,我既坚持这些话,又不寒而栗地想着对 FreeBSD 有什么样的不成熟的支持。

一路顺利。

答案2

在引导节点中,将root用户的默认shell改为bash,即:

# chsh -s /usr/local/bin/bash

假设您已经在节点上安装了 chef-client,这应该可以完成这项工作。

相关内容