【发布时间】:2017-05-15 15:30:44
【问题描述】:
我正在尝试使用 chef-solo 安装 java。问题是在/etc/profile 文件中设置JAVA_HOME 和PATH 变量。我尝试使用厨师提供的'file' 资源。这是我的一些代码:
java_home = "export JAVA_HOME=/usr/lib/java/jdk1.7.0_05"
path = "export PATH=$PATH:/usr/lib/java/jdk1.7.0_05/bin"
execute "make_dir" do
cwd "/usr/lib/"
user "root"
command "mkdir java"
end
execute "copy" do
cwd "/usr/lib/java"
user "root"
command "cp -r /home/user/Downloads/jdk1* /usr/lib/java"
end
file "/etc/profile" do
owner "root"
group "root"
action :touch
content JAVA_HOME
content PATH
end
但问题是content 命令覆盖了文件的所有内容,有没有办法在使用 chef-solo 资源时更新文件。谢谢!
更新:我从chef-recipe 找到了一些代码,但我不确定它到底是做什么的,代码是..
ruby_block "set-env-java-home" do
block do
ENV["JAVA_HOME"] = java_home
end
end
它是仅为该实例设置 JAVA_HOME 变量还是永久设置?有人可以帮忙吗?
【问题讨论】:
标签: ruby chef-infra