zoukankan      html  css  js  c++  java
  • Linux自动化安装JDK

    一、自动化部署jdk思路

      a、可以使用一台Linux机器充当http服务器,jdk版本资源可以放在http服务器上,这样就可以统一使用wget下载jdk。

    官方的jdk直接使用wget下载,因为没有点击确认接受协议,所以下载的jdk不能正常安装。

    二、安装http服务器,准备初始环境

    # 安装httpd
    yum -y  install httpd
    # 启动httd服务器( centos7使用: systemctl start httpd.service)
    service httpd start
    # 关闭防火墙
    sudo systemctl stop firewalld.service && sudo systemctl disable firewalld.service
    # 切换目录
    cd /var/www
    # 创建存放app目录 (将jdk版本远程上传到该目录下)
    mkdir soft
    # 可以使用http://[ip]/soft/访问http服务器是否成功
    # 生成免密key
    ssh-keygen
    #其他机器如果没有expect命令,每一个机器需要安装
    yum -y install expect

    三、编写自动化脚本

      vi boot.sh
    #!/bin/bash
    
    SERVERS="node2 node3 node4 node5"
    PASSWORD=xxx
    BASE_SERVER=192.168.182.xxx
    
    auto_ssh_copy_id() {
        expect -c "set timeout -1;
            spawn ssh-copy-id $1;
            expect {
                *(yes/no)* {send -- yes
    ;exp_continue;}
                *assword:* {send -- $2
    ;exp_continue;}
                eof        {exit 0;}
            }";
    }
    
    ssh_copy_id_to_all() {
        for SERVER in $SERVERS
        do
            auto_ssh_copy_id $SERVER $PASSWORD
        done
    }
    
    ssh_copy_id_to_all
    
    
    for SERVER in $SERVERS
    do
        scp install_jdk.sh root@$SERVER:/root
        ssh root@$SERVER "/root/install_jdk.sh $BASE_SERVER"
    done
    vi install_jdk.sh
    #!/bin/bash
    
    yum install -y wget
    wget $1/soft/jdk-8u161-linux-x64.tar.gz
    tar -zxvf jdk-8u161-linux-x64.tar.gz -C /usr/local
    rm -rf jdk-8u161-linux-x64.tar.gz
    sed -i '/export JAVA_HOME=/usr/local/jdk1.8.0_161/'d /etc/profile
    sed -i '/export PATH=$PATH:$JAVA_HOME/bin/'d /etc/profile
    cat >> /etc/profile << EOF
    export JAVA_HOME=/usr/local/jdk1.8.0_161
    export PATH=$PATH:$JAVA_HOME/bin
    EOF
    source /etc/profile

      a、赋予执行权限

    chmod +x boot.sh install_jdk.sh

      b、只需要修改SERVERS,PASSWORD,BASE_SERVER三个属于值即可,

        1、SERVERS代表需要安装机器的ip,多个ip用空格隔开

        2、PASSWORD所有机器密码,规定所有机器的密码一样

        3、BASE_SERVER是代表充当http服务器ip

        4、根据下载的jdk版本,需要修改install_jdk.sh脚本

    三、测试

      a、执行./boot.sh则自动化完成部署

    yexiangyang

    moyyexy@gmail.com


     

  • 相关阅读:
    Oracle Function:COUNT
    SQL Fundamentals: Using Single-Row Functions to Customize Output使用单行函数自定义输出
    Oracle Function: NVL
    将searchBar的背景灰色去掉
    cardboard sdk for unity 系统分析
    搭建CARDBOARD+ANDROID+unity3d的VR开发环境
    adb server is out of date.killing的解决办法
    Android SDK Manager国内无法更新的解决方案
    cardboard sdk for unity 下载地址
    转载:Eclipse build Android时不生成apk问题解决方法
  • 原文地址:https://www.cnblogs.com/moy25/p/8687970.html
Copyright © 2011-2022 走看看