我尝试通过knife bootstrap IP
. 它似乎工作正常,直到本机扩展(mkmf)需要构建要素。Knife 用来登录的用户是 root,所以 Knife 应该可以安装 build-essentials。
任何人都知道这是否可以自动化,或者我是否必须登录到我想要引导并安装这些软件包的每台机器?
谢谢,
罗宾
我尝试通过knife bootstrap IP
. 它似乎工作正常,直到本机扩展(mkmf)需要构建要素。Knife 用来登录的用户是 root,所以 Knife 应该可以安装 build-essentials。
任何人都知道这是否可以自动化,或者我是否必须登录到我想要引导并安装这些软件包的每台机器?
谢谢,
罗宾
你可以做几件事。
将 build-essentials 放在您的操作系统安装或基础映像中,以便在尝试安装任何编译本机扩展的任何东西之前就在那里(如果安装 Chef,这可能是 JSON RubyGem)。
将 build-essentials 包添加到引导脚本中安装的列表中。不过,默认的引导模板ubuntu10.04-gems
已经这样做了。
使用 Opscode全栈安装程序。Opscode 为运行 Chef 客户端(或单独)所需的 libc 之上的所有内容构建预编译的本机包。该页面包含有关如何使用小脚本检测平台并从 S3 存储桶下载正确包的说明。例如,如果您使用的是 Ubuntu 10.04,它将检测平台、版本和架构,然后检索正确的 .deb 包。这可以通过knife bootstrap
,使用这个模板来完成(它将在下一个发布的 Chef 版本中。