Articles of 厨师

Chef :: Exceptions :: ChecksumMismatch从源码安装nginx-1.7.8

运行vagrant up –provision时出现以下错误 – 设置我的开发环境与vagrant … ==> default: [2014-12-08T20:33:51+00:00] ERROR: remote_file[http://nginx.org/download/nginx-1.7.8.tar.gz] (nginx::source line 58) had an error: Chef::Exceptions::ChecksumMismatch: Checksum on resource (0510af) does not match checksum on content (12f75e) 我的厨师JSON有以下nginx: "nginx": { "version": "1.7.8", "user": "deploy", "init_style": "init", "modules": [ "http_stub_status_module", "http_ssl_module", "http_gzip_static_module" ], "passenger": { "version": "4.0.53", "gem_binary": "/home/vagrant/.rbenv/shims/gem" }, "configure_flags": [ "–add-module=/home/vagrant/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/passenger-3.0.18/ext/nginx" ], […]

如何configurationChef Solo在新的Vagrant盒子上安装Nginx?

我是新来的厨师和文件(甚至他们的网站的主页)让我的头脑旋转。 我甚至不确定是否将其用于正确的目的。 我的目的是设置一个Vagrantfile ,告诉大厨Solo在我启动一个新的盒子时自动安装一些软件。 这是Chef Solo的用意之一,对吗? 我真的不确定这是否是“地球上最困难的基础设施挑战”之一 ,但无论如何。 我的第一个目标是让Chef Solo为我安装nginx 。 在我的项目中,我已经克隆了nginx的食谱: $ git clone https://github.com/opscode-cookbooks/nginx.git cookbooks/nginx 我编辑我的Vagrantfile看起来像这样: Vagrant.configure("2") do |config| config.vm.box = "opscode-ubuntu-1204" config.vm.provision :chef_solo do |chef| chef.add_recipe "nginx" end end 当我跑过来的vagrant up ,我发现一些食谱没有find的错误( build-essential , apt等),所以我把它们从适当的回购中克隆出来。 现在,当我vagrant up ,我得到这个输出: [2013-10-01T20:31:03+00:00] INFO: Processing package[nginx] action install (nginx::package line 38) Error executing action `install` on […]

如何让厨师重新加载全球path

我正在设置一个简单的厨师食谱来安装一个二进制应用程序。 在Ubuntu或者CentOS中没有这个软件包,所以我写了一个配方, 从源代码下载tar 从tar中提取内容 创build一个将app_home添加到全局$ PATH的bash脚本(它需要是全局的) 重新加载$ ​​PATH,以便当前login的用户可以在shell命令中引用它 我很好,第3步,但我不能让厨师重新加载$ ​​PATH。 我已经尝试在.bash_profile以及/etc/profile.d/放置新的导出PATH = $ PATH:/ path / to / app / bin ,但是没有成功。 如果我退出shell,并重新ssh我正确地看到PATH,但从来没有在同一个会话,当我跑sudo chef-client 。 有什么办法,厨师可以自动touch或重新加载PATH,使当前login的用户可以使用它?

主目录不是通过添加用户资源与主厨创build的

在一个stream浪的盒子精确64(Ubuntu的12.04) 使用Chef创build用户资源时,不会创build主目录: 我的食谱: user "myuser" do supports :manage_home => true shell "/bin/bash" home "/home/myuser" comment "Created by Chef" password "myencryptedpassword" system true provider Chef::Provider::User::Useradd action :create end 当我authentication时: $ su – myuser Password: No directory, logging in with HOME=/ 更新 – 对于precise64(Ubuntu 12.04 64位)的解决方法 directory "/home/myuser" do owner "myuser" group "myuser" mode 00755 action :create […]

使用Chef食谱将多行添加到configuration文件

我试图创build一个厨师食谱来追加多个行(20-30)到一个特定的configuration文件。 我知道推荐的模式是改变整个configuration文件,而不是只追加到一个文件,但我不喜欢这种方法有多种原因。 到目前为止唯一的解决scheme是使用cookbook_file ,然后使用bash资源来做: cat lines_to_append >> /path/configfile 显然这不能正常工作,因为它会一遍又一遍地附加文件,每次运行chef-client。 我不得不创build一个小bash脚本来检查一个特定的string, 如果没有find ,附加到文件。 但这似乎打败了使用厨师的目的。 一定会有更好的办法。 一个有前途的解决scheme是来自OpsCode社区的线上食谱 。 它旨在解决这个确切的问题。 不幸的是,function是不完整的,越野车,代码只是一个快速入侵。 远不是一个坚实的解决scheme。 我评估的另一个select是augeas 。 看起来非常强大,但它会为系统增加一个抽象层。 矫枉过正,就我而言。 鉴于这是任何系统pipe理员最明显的任务之一,厨师有什么简单而美丽的解决scheme,我没有看到? 编辑:这是我迄今为止如何解决: cookbook_file "/tmp/parms_to_append.conf" do source "parms_to_append.conf" end bash "append_to_config" do user "root" code <<-EOF cat /tmp/parms_to_append.conf >> /etc/config rm /tmp/parms_to_append.conf EOF not_if "grep -q MY_IDENTIFIER /etc/config" end 它的作品,但不知道这是推荐的厨师模式。

厨师厨师validation。安全

嗨,我正在异地设置一个使用厨师的机器集群。 如果其中一台机器被盗,攻击者可以通过拥有chef-validator.pem对我的厨师服务器或其他节点造成什么样的损害? 还有什么东西可以通过厨师进入? 谢谢!

厨师:安装Windows服务

我是新来的这个论坛(所以道歉,如果我张贴在错误的地方),也是非常新的厨师。 我一直在围绕试图清楚了解如何安装Windows服务的房屋。 基本上我想要厨师相当于“SC创造” 我试图使用的食谱是这样的: windows_package "RMS_EU" do installer_type :msi action :install source "c:\Servies\V5.5\EUNTRouteManager\Routing.WindowsService.exe" end 当我运行这个我得到错误说msres问题。 我试过了这个脚本的多种变体,并且发现了如何安装一个简单的服务非常稀疏的信息。 那么有谁知道我哪里出了问题? 正如我所说的这个工作,它应该显示为服务列表中的Windows服务。 这些文件已经在指定path中的服务上,并且运行了Windows 2008 R2,使用PowerShell v4.0和最新的Chef客户端安装。 任何和所有的帮助将不胜感激。 感谢您的反馈意见 问候 斯科特

使用指定path的Java JDK无提示安装

我想以指定的版本以静默模式安装(实际上,使用Chef)JDK。 我的问题是,当我添加INSTALLDIR参数时,Java JDK安装失败。 没有它,JDK将安装在默认目录( C:/ Program Files / Java /或C:/ Program Files(x86)/ Java / )中。 我正在运行命令 jdk-7u79-windows-i586.exe /s INSTALLDIR="C:/java" 也试过了 jdk-7u79-windows-i586.exe /s INSTALLDIR:"C:/java" 什么使Java安装显示popup式窗口与我可以在MSI安装程序中使用的参数。 C:/ java / path是现有的目录。 另外,我发现这个网站: https : //docs.oracle.com/javase/7/docs/webnotes/install/windows/jdk-installation-windows.html你可以findJDK的指定参数。 我想使用Chef资源windows-package进行安装 windows_package node['name']['JDK1.8'] do source node['source']['JDK1.8'] installer_type :custom action :install options '/s INSTALLDIR=C:/java2' end 什么使输出 Mixlib::ShellOut::ShellCommandFailed ———————————— Expected process to exit with [0, […]

将自定义厨师推送作业添加到Windows白名单

我正在尝试将推送作业添加到pushy-client的Windows白名单中。 当我使用刀进行search时,它会在Windows节点的白名单中显示自定义作业。 当我尝试运行它时,作业立即失败,在Windows端,它说该命令不在白名单中。 我在GitHub中发现这个问题: Windows推送服务无法加载白名单 我想知道是否有人有解决方法,如何解决这个问题的build议,或者知道我的代码在哪里,我可以猴子补丁。

厨师10:如何使用remote_file或类似从Windows共享中获取文件?

我正在尝试使用remote_file来cachingWindows共享上的大型软件包的本地副本。 这是怎么做的? 我无法使用基于驱动器号的path,基于UNC的path或file: URL。