【问题标题】:Installing java using chef使用厨师安装java
【发布时间】:2013-05-09 09:26:10
【问题描述】:

我知道如何使用终端在 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 上安装 Chef。
  3. 我已经从GitHub 下载了 JAVA 食谱,但我不知道该怎么做。

我已经编写了一些用于在同一台机器上安装 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 食谱。谢谢。 :)

【问题讨论】:

标签: java ruby chef-infra


【解决方案1】:

这是一个早已过时的问题,但我会提供一个答案,以防有人偶然发现这个问题。

Opscode 有一本他们维护的 Java 食谱,可以安装 OpenJDK 或 Oracle JDK。它可以在 opscode 社区站点here 上找到。

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

depends "java",     "~> 1.10.2"

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

include_recipe "java"

【讨论】:

  • 怎么知道java路径在哪里?我需要设置 JAVA_HOME 不知道是什么...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-30
相关资源
最近更新 更多