使用SaltStack安装JDK1.6

创建states文件

/srv/salt目录下创建jdk目录,并在jdk目录创建init.sls文件,init.sls文件内容如下:

jdk-file:
 file.managed:
   - source: salt://jdk/files/jdk1.6.0_39.tar.gz
   - name: /usr/java/jdk1.6.0_39.tar.gz
   - include_empty: True

jdk-install:
 cmd.run:
   - name: '/bin/tar -zxf jdk1.6.0_39.tar.gz && /bin/ln -s jdk1.6.0_39  latest '
   - cwd: /usr/java
   - unless: 'test -e jdk1.6.0_39'
   - require:
     - file: jdk-file

jdk-rmzip:
  file.absent:
    - name: /usr/java/jdk1.6.0_39.tar.gz

/root/.bashrc:
  file.append:
    - text:
      - export JAVA_HOME=/usr/java/latest
      - export PATH=$JAVA_HOME/bin:$PATH

上面sls文件需要引用jdk1.6.0_39.tar.gz文件,故需要下载jdk1.6.0_39.bin安装之后将其打包成jdk1.6.0_39.tar.gz拷贝到/srv/salt/jdk/files目录。

init.sls文件执行过程包括以下几个步骤:

  • jdk-file,将salt://jdk/files/jdk1.6.0_39.tar.gz文件拷贝到/usr/java
  • jdk-install,解压文件
  • jdk-rmzip,删除压缩包
  • /root/.bashrc,设置JAVA_HOME

修改top.sls文件(该步骤为可选),添加jdk.init:

base:
  '*':
    - jdk.init

测试运行

在master上运行下面命令,并观察运行结果:

[root@sk1 vagrant]# salt '*' state.sls jdk
sk2:
----------
          ID: jdk-file
    Function: file.managed
        Name: /usr/java/jdk1.6.0_39.tar.gz
      Result: True
     Comment: File /usr/java/jdk1.6.0_39.tar.gz updated
     Changes:
              ----------
              diff:
                  New file
              mode:
                  0644
----------
          ID: jdk-install
    Function: cmd.run
        Name: /bin/tar -zxf jdk1.6.0_39.tar.gz && /bin/ln -s jdk1.6.0_39  latest
      Result: True
     Comment: unless execution succeeded
     Changes:
----------
          ID: jdk-rmzip
    Function: file.absent
        Name: /usr/java/jdk1.6.0_39.tar.gz
      Result: True
     Comment: Removed file /usr/java/jdk1.6.0_39.tar.gz
     Changes:
              ----------
              removed:
                  /usr/java/jdk1.6.0_39.tar.gz
----------
          ID: /root/.bashrc
    Function: file.append
      Result: True
     Comment: Appended 0 lines
     Changes:
Summary
------------
Succeeded: 4
Failed:    0
------------
Total:     4

从上可以看出成功了4个,失败为0。

安装了jdk之后,需要重启minion(还需要修改minion启动脚本,让minion加载上系统环境变量,详细说明,见安装SaltStack和halite)才能通过下面脚本运行java相关的命令,如java、jps等等:

salt '*' cmd.run 'jps'

否则,你需要通过下面脚本来执行:

salt '*' cmd.run 'source /root/.bashrc ;jps'

设置pillar

将上面的jdk/init.sls文件修改为通过pillar引用变量

a.首先在/srv/pillar目录创建jdk目录,并在jdk目录下创建init.sls文件,内容如下:

jdk:
  name: jdk1.6.0_39
  srvpath: salt://jdk/files
  homepath: /usr/java

b.在/srv/pillar/top.sls中添加jdk.init

base:
  '*':
    - jdk.init

c.修改/srv/salt/jdk/init.sls文件为从pillar引入变量,内容如下:

jdk-file:
  file.managed:
    - source: {{pillar['jdk']['srvpath']}}/{{pillar['jdk']['name']}}.tar.gz
    - name: {{pillar['jdk']['homepath']}}/{{pillar['jdk']['name']}}.tar.gz
    - makedirs: True

jdk-install:
  cmd.run:
    - name: 'unzip -q {{pillar['jdk']['name']}}.tar.gz'
    - cwd: {{pillar['jdk']['homepath']}}
    - unless: 'test -e {{pillar['jdk']['name']}}'
    - require:
      - file: jdk-file
jdk-rmzip:
  file.absent:
    - name: {{pillar['jdk']['homepath']}}/{{pillar['jdk']['name']}}.tar.gz
{{pillar['userhome']}}/.bashrc:
  file.append:
    - text:
      - export JAVA_HOME={{pillar['jdk']['homepath']}}/{{pillar['jdk']['name']}}
      - export PATH=$JAVA_HOME/bin:$PATH

d.参考上面,再次测试一遍

时间: 2024-12-21 20:14:07

使用SaltStack安装JDK1.6的相关文章

【总结】Linux RedHat AS3上安装JDK1.4

系统:Linux RedHat AS3 Update3 安装包:j2sdk-1_4_2_05-linux-i586.bin 安装过程: 1.将该文件拷贝到/tmp目录下 ----//注:cp j2sdk-1_4_2_05-linux-i586.bin /tmp 2.然后执行该文件 ----//注: ./j2sdk-1_4_2_05-linux-i586.bin ----//注注意/前面有个点".") 会出现拷贝文件的列表信息,默认地jdk被安装到了/usr/java/j2sdk1.4.

eclipse-关于MAC上安装JDK1.6,为什么不能安装

问题描述 关于MAC上安装JDK1.6,为什么不能安装 之前安装了jdk1.8和jdk1.7,但是在安装eclipse 的时候提示要安装jdk1.6,所以按照网上的方法卸载了1.8和1.7,我的java目录下面已经没有任何版本的jdk了,而且在终端上输入java -version也显示没有jdk,,但是为什么还是安装不了??求大神解答, 解决方案 JDK安装后需要设置环境变量才能在DOS命令下运行JAVA命令 解决方案二: 方案一:EXE安装版jdk,安装时两次安装的不要选同一个目录,安装后需要

使用SaltStack安装JBoss

SaltStack是一个具备puppet与func功能为一身的集中化管理平台,其基于python实现,功能十分强大,各模块融合度及复用性极高.SaltStack 采用 zeromq 消息队列进行通信,和 Puppet/Chef 比起来,SaltStack 速度快得多. 在开始使用SaltStack之前,首先要对SaltStack的基础进行一系列的学习,这里,强烈推荐官网的Tutorial,在完成了整个Tutorial之后,通过Module Index页面,我们能够快速查阅Salt所有模块的功能与

ubuntu-unbuntu14安装jdk1.7出现问题

问题描述 unbuntu14安装jdk1.7出现问题 如图,我把.gz包解压缩到/usr/local/java这个目录下,然后修改~/.bashrc 文件. 修改好后就跳出/usr/local/java/jdk7/jre not a valid identifier. 但是echo $JAVA_HOME 显示是正确的. 同时,输入java -v 命令跳出的是error 但是,输入java -version命令就没问题 解决方案 Unbuntu中安装JDKunbuntu10.04环境下安装jdk1

基于Fedora14下自带jdk1.6版本 安装jdk1.7不识别的解决方法_Android

安装jdk1.7.0_04后,同时设置环境变量,并且source.可是java -version查看后,还是只能查看到jdk1.6和jdk1.5一共两个版本,这两个版本都是fedora自带的. 解决方法: #:  alternatives --install /usr/bin/java java /usr/local/android/jdk1.7.0_04/bin/java 500 注意:/usr/local/android/jdk1.7.0_04/ 是我的jdk安装路径. 然后: altern

基于Fedora14下自带jdk1.6版本 安装jdk1.7不识别的解决方法

安装jdk1.7.0_04后,同时设置环境变量,并且source.可是java -version查看后,还是只能查看到jdk1.6和jdk1.5一共两个版本,这两个版本都是fedora自带的. 解决方法: #:  alternatives --install /usr/bin/java java /usr/local/android/jdk1.7.0_04/bin/java 500 注意:/usr/local/android/jdk1.7.0_04/ 是我的jdk安装路径. 然后: altern

Linux中安装jdk1.6 x64步骤详解

下载jdk1.6 进入oracle官网,依次选择 Downloads-->Java SE-->拉倒网页最底部,点击Previous Releases - Java Archive后的DOENLOAD按钮,选择Java SE 6,选择Java SE Development Kit 6u45,选择Accept License Agreement后下载这个(下载时需要登录): blob.png 拷贝至服务器/usr/local # chmod +x jdk-6u45-linux-x64.bin #

JDK1.3安装出现/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory Done.

    今天是出道以来第一次安装JDK1.3,大学的时候接触的也已是JDK1.4,而且是在Red Hat Enterprise Linux Server release 6.6上,安装JDK1.3是由于软件组一个项目使用的一个老版本的WebLogic的原因,由于各种原因一直没有升级. 在安装过程中遇到了 /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory错误. ./j2sdk-1_3_1_20-linux-i586

ubuntu jdk1.6 安装出现问题

问题描述 ubuntu jdk1.6 安装出现问题 我要在ubuntu系统上编译android源代码,编译的时候提示说要安装jdk1.6可是安装jdk1.6一直成功不了.我是按照网上的教程来的,按理说执行jdk-6u45-linux-x64.bin文件应该在当前目录下出现jdk-6u45文件夹,可是我的是下面的内容:这样就导致后面没有办法配置环境变量,求教大神这应该怎么解决呢 解决方案 你再选一个对应你环境的rpm包,安装. 解决方案二: 现在已经解决了,重新换了一个安装包就可以了,原来下载的安