【问题标题】:Giving different installation path for java in chef recipe [duplicate]在厨师食谱中为java提供不同的安装路径[重复]
【发布时间】:2014-08-12 03:59:42
【问题描述】:

我正在尝试借助以下代码安装 java,但默认情况下它安装在 /usr/java/ 目录中。我希望它安装在单独的目录中,例如 /u01/app。

食谱

# Remove old environment then notify new environment to be created
ruby_block "delete_environement" do
  block do
    editBashrc = Chef::Util::FileEdit.new("/home/oracle/.bash_profile")
    editBashrc.search_file_delete_line(/^.*#{node['java']['home']} environment settings.*$/)
    editBashrc.search_file_delete_line(/^.*#Auto-generated by Chef Cookbook sun_java.*$/)
    editBashrc.search_file_delete_line(/^.*export JAVA_HOME=.*$/)
    editBashrc.write_file 
  end
  action :create
end

remote_file "#{Chef::Config[:file_cache_path]}/jdk-7u51-linux-x64.rpm" do
  source "http://#######/java/jdk-7u51-linux-x64.rpm"
  mode "0755"
end

rpm_package "javaRPM" do    
  source :"#{Chef::Config[:file_cache_path]}/jdk-7u51-linux-x64.rpm"
  only_if {::File.exists?("#{Chef::Config[:file_cache_path]}/jdk-7u51-linux-x64.rpm")}
  owner :oracle 
  action :install   
end

# update oracle bash profile ~/.bash_profile

execute "create_environment" do
  user "oracle"
  command "echo -e '#{node['java']['home']} environment settings\n#Auto-generated by Chef Cookbook oracle_java\nexport JAVA_HOME=#{node['java']['home']}' >> ~/.bash_profile"
  command "echo -e '#{node['java']['home']} environment settings\n#Auto-generated by Chef Cookbook oracle_java\nexport PATH=$PATH:#{node['java']['home']}/bin' >> ~/.bash_profile"
  command "source ~/.bash_profile"
end

file "javaRPM-cleanup" do
  path "#{Chef::Config[:file_cache_path]}/jdk-7u51-linux-x64.rpm"
  action :delete
end 

【问题讨论】:

    标签: java path chef-infra recipe


    【解决方案1】:

    这个问题是你对execute资源的理解。正如我在this post 中解释的那样:

    请注意,Chef 只​​会使用命令属性的最后一个值。这是因为 Chef 分两个阶段执行 - 编译和执行。

    因此,只会执行该序列中的最后一个命令 (source ~/.bash_profile)。

    【讨论】:

    • 感谢您解释执行的工作原理:) 但我仍然不知道如何将 java 的安装路径从 /usr/bin 更改为我想要的目录
    猜你喜欢
    • 1970-01-01
    • 2020-01-06
    • 2013-06-23
    • 1970-01-01
    • 2013-02-18
    • 1970-01-01
    • 1970-01-01
    • 2011-06-22
    • 1970-01-01
    相关资源
    最近更新 更多