2012-08-29 38 views
2

我知道如何使用终端在linux机器上安装java。但我想使用Chef Framework自动安装。我有两台机器M1和M2。我在机器M1上,想在机器M2上安装java。这是我做的,使用终端....使用厨师安装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. 是什么问题(厨师独奏或SHEF服务器)
  2. 做我需要的机器安装M2厨师的范畴。
  3. 我已经从GitHub下载了JAVA的食谱,但我不知道该怎么做。

我已经写了同一台机器上安装Java的一些代码..但它也没有工作.. CODE:

#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烹饪书..谢谢。 :)

+0

您可以使用厨师服务器或厨师

您可以通过添加依赖于你的食谱的metadata.rb使用 - 独奏,你必须安装在两台机器上的厨师宝石才能使它工作。此链接可能会有所帮助:http://wiki.opscode.com/display/chef/Fast+Start+Guide – nictrix

回答

9

这是一个长期过时的问题,但我会包括一个答案,以防有人在这一个绊倒。

Opscode有一个Java Cookbook,他们维护它可以安装OpenJDK或Oracle JDK。它在opscode社区网站here上提供。

depends "java",  "~> 1.10.2" 

,并包括在你的食谱的default.rb配方:

include_recipe "java" 
+0

你怎么知道java路径在哪里?我需要设置JAVA_HOME,我不知道... – pitchblack408