小编its*_*sme的帖子

使用厨师食谱更新.bashrc

我正在编写使用chef-solo安装jsk的练习方法,我需要更新.bashrc文件来设置JAVA_HOMEPATH变量.我不知道怎么做.任何人都可以告诉我该怎么做.我的一些代码是......

file "/home/user/.bashrc" do
    owner   "root"
    #something goes here.... i don't know what. but i write
    #%{bash -i -c "source /etc/bash/bashrc && bashrc update"}

    content "JAVA_HOME=/usr/java/jdk1.1.0.05"
    content "PATH=$PATH:JAVA_HOME/bin"

  end
Run Code Online (Sandbox Code Playgroud)

我不明白command%{bash -i -c"source/etc/bash/bashrc && bashrc update"}是什么意思.谢谢

ruby chef-infra

5
推荐指数
1
解决办法
4998
查看次数

使用'file's chef-solo资源更新文件

我正在尝试使用安装java chef-solo.问题是在文件中设置JAVA_HOMEPATH变量/etc/profile.我尝试使用'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
Run Code Online (Sandbox Code Playgroud)

但问题是content命令会覆盖文件的所有内容,有没有办法在使用chef-solo资源时更新文件.谢谢!

更新:我已经找到了一些代码chef-recipe,但我不确定它究竟做了什么,代码是..

ruby_block  "set-env-java-home" do
  block do
    ENV["JAVA_HOME"] = java_home
  end
end
Run Code Online (Sandbox Code Playgroud)

它是仅为该实例设置JAVA_HOME变量还是永久设置?有人可以帮忙吗?

ruby chef-infra

4
推荐指数
2
解决办法
4459
查看次数

使用chef安装java

我知道如何使用终端在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
Run Code Online (Sandbox Code Playgroud)

我有以下问题:

  1. 什么是问题的类别(厨师独奏或shef服务器)
  2. 我是否需要安装机器M2厨师.
  3. 我从GitHub下载了JAVA的食谱,但我不知道该如何处理.

我已经写了一些代码在SAME机器上安装java ..但它也无法正常工作..代码:

 #cookbook/java/recipe/default.rb    

    *####This will install JAVA on machine …
Run Code Online (Sandbox Code Playgroud)

ruby java chef-infra

2
推荐指数
1
解决办法
7607
查看次数

为什么我们不在scanf中使用'&'来表示char arrray

int age;
char name[10];

scanf("%d", &age);
scanf("%s", name);
Run Code Online (Sandbox Code Playgroud)

在第一个scanf函数中,我们'&'在年龄之前使用符号,但在第二个函数中我们scanf不使用'&' 它,因为它是一个char数组.谁能告诉我为什么会这样?

c pointers

-1
推荐指数
1
解决办法
2988
查看次数

标签 统计

chef-infra ×3

ruby ×3

c ×1

java ×1

pointers ×1