Linux自动化安装JDK

Posted 墨阳

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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\r;exp_continue;}
            *assword:* {send -- $2\r;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 [email protected]$SERVER:/root
    ssh [email protected]$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

[email protected]


 

以上是关于Linux自动化安装JDK的主要内容,如果未能解决你的问题,请参考以下文章

linux自动部署--sh脚本安装jdk,tomcat,mysqlclient

自动化服务部署:Linux下安装JDK

Linux自动安装jdk脚本分享,亲测好用

linux-jenkinsmaven安装+git自动集成

linux安装配置apk打包程序gradle+jdk+Android_sdk+python自动化编译脚本

如何在CentOS下安装部署Jenkins持续集成环境