我正在编写使用chef-solo安装jsk的练习方法,我需要更新.bashrc文件来设置JAVA_HOME和PATH变量.我不知道怎么做.任何人都可以告诉我该怎么做.我的一些代码是......
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"}是什么意思.谢谢
我正在尝试使用安装java chef-solo.问题是在文件中设置JAVA_HOME和PATH变量/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变量还是永久设置?有人可以帮忙吗?
我知道如何使用终端在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)
我有以下问题:
我已经写了一些代码在SAME机器上安装java ..但它也无法正常工作..代码:
#cookbook/java/recipe/default.rb
*####This will install JAVA on machine …Run Code Online (Sandbox Code Playgroud) int age;
char name[10];
scanf("%d", &age);
scanf("%s", name);
Run Code Online (Sandbox Code Playgroud)
在第一个scanf函数中,我们'&'在年龄之前使用符号,但在第二个函数中我们scanf不使用'&'
它,因为它是一个char数组.谁能告诉我为什么会这样?