我相当确定这与我的食谱无关,因为连接后立即发生以下情况:
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 了,但我记得上次安装时默认安装中没有包含这些东西。curl
PATH
我最近对编写 chef 大部分内容的人说了一些刻薄的话,我既坚持这些话,又不寒而栗地想着对 FreeBSD 有什么样的不成熟的支持。
一路顺利。
答案2
在引导节点中,将root用户的默认shell改为bash,即:
# chsh -s /usr/local/bin/bash
假设您已经在节点上安装了 chef-client,这应该可以完成这项工作。