使用chef安装java

时间:2012-08-29 11:13:12

标签: java ruby chef

我知道如何使用终端在linux机器上安装java。但我想使用Chef Framework自动化安装。我有两台机器M1和M2。我在机器M1上,想在机器M2上安装java。这就是我在使用终端时所做的....

首先我SSH进入机器M2,我做了以下事情......(在这里我从第三方存储下载java文件。)

Step1:-
cd setup

step2:-
wget http://downloads.company.com/downloads/DevTools/jdk/6.0/jdk-6u31-linux-i586.bin

Step3:-
chmod +x jdk-6u31-linux-i586.bin

Step4:-
yes | ./jdk-6u31-linux-i586.bin

Step5:-
cd /usr/bin

Step6:-
mv java javaorg

Step7:-
cd /usr

Step8:-
ln -s /home/harish/setup/jdk1.6.0_31 java

Step9:-
echo 'export PATH=$PATH:/usr/java/bin' > /etc/profile.d/alljava.sh;echo 'export JAVA_BINDIR=/usr/java/bin' >> /etc/profile.d/alljava.sh;echo 'export JAVA_ROOT=/usr/java' >> /etc/profile.d/alljava.sh;echo 'export JAVA_HOME=/usr/java' >> /etc/profile.d/alljava.sh;echo 'export JRE_HOME=/usr/java/jre' >> /etc/profile.d/alljava.sh

Step10:-
source /etc/profile.d/alljava.sh

Step11:-
echo $JAVA_HOME

Step12:-
java -version

我有以下问题:

  1. 问题的类别是什么(chef-solo或shef-server)
  2. 我是否需要安装机器M2厨师。
  3. 我从GitHub下载了JAVA的食谱,但我不知道如何处理。
  4. 我已经写了一些在SAME机器上安装java的代码..但它也无法正常工作.. 代码:

     #cookbook/java/recipe/default.rb    
    
        *####This will install JAVA on machine M1######*
    
    
        execute "copy" do
          cwd "/home/user/setup"
          command "wget http://downloads.company.com/downloads/DevTools/jdk/6.0/jdk-6u31-linux-i586.bin"
        end
        execute "change_mode" do
          command "chmod +x jdk-6u31-linux-i586.bin"
        end
        execute "dont_know" do
          command "yes | ./jdk-6u31-linux-i586.bin"
        end
    
        execute "make link" do
          command "ln -s /home/harish/setup/jdk1.6.0_31 java"
        end
    
        java_home = "export JAVA_HOME=/usr/java/jdk1.6.0_31"
        path = "export PATH=$PATH:JAVA_HOME/bin"
    
        file "/etc/profile" do
          content "#{java_home}\n#{path}"
          owner "root"
        end
    

    但是这段代码给出了一些重要信息..(错误)。 任何人都可以通过这个帮助,以及如何使用下载的JAVA烹饪书..谢谢。 :)

1 个答案:

答案 0 :(得分:9)

这是一个很长时间的过时问题,但如果有人偶然发现这个问题,我会提供一个答案。

Opscode有一个他们维护的Java手册,可以安装OpenJDK或Oracle JDK。它可以在opscode社区网站here上找到。

您可以通过向菜谱的metadata.rb添加依赖项来使用它:

depends "java",     "~> 1.10.2"

并在食谱的default.rb中包含食谱:

include_recipe "java"