美文网首页
环境搭建-CentOS 7上通过脚本自动化部署JDK 8

环境搭建-CentOS 7上通过脚本自动化部署JDK 8

作者: Statmoon | 来源:发表于2019-06-20 15:58 被阅读0次

引言


  最近在搭建 Kubernetes 1.14 版本,过程中涉及各种组件的安装配置,所以打算通过脚本自动化的部署配置这些组件,本文主要描述在 CentOS 7上通过脚本自动化部署配置 JDK 8。

自动化脚本导航


环境搭建-CentOS 7上通过脚本自动化部署JDK 8
环境搭建-CentOS 7上通过Shell脚本自动化修改机器名并配置静态IP
环境搭建-CentOS 7上通过Shell脚本自动化配置免密登录
环境搭建-CentOS 7上通过Shell脚本自动化安装Harbor

搭建步骤分析


  1. 卸载 OpenJDK;
  2. Oracle 官方下载页面下载对应版本的 JDK:
JDK 8u211

下载链接为:https://download.oracle.com/otn/java/jdk/8u211-b12/478a62b7d4e34b78b671c754eaaf38ab/jdk-8u211-linux-x64.tar.gz,这个地址写脚本的时候会用到;

  1. 解压压缩包;
  2. 配置环境变量。

自动化脚本


  结合以上的步骤我们本来可以写一个带自动下载 JDK 的脚本,但是现在 Oracle 网站下载 JDK 需要登录,笔者 Oracle 账号已多年未用,加上 Oracle 网站找回密码那访问速度,果断放弃,手动上传了以前使用的 jdk-8u77-linux-x64.tar.gz,修改脚本文件为:

#!/bin/bash
basedir="/usr/local"
echo "Begin to uninstall OpenJDK"
for line in `rpm -qa | grep java`
do
    echo $line
    if [[ $line != *.noarch ]];
    then 
        rpm -e --nodeps $line
    fi
done
echo "Download completed, begin to decompress package."
tar zxvf jdk-8u77-linux-x64.tar.gz -C $basedir
echo "Decompress completed, package : jdk-8u77-linux-x64.tar.gz"
echo "Delete package: jdk-8u77-linux-x64.tar.gz"
rm -rf jdk-8u77-linux-x64.tar.gz
echo "Set system environment variable"
if [[ "$(cat /etc/profile | grep JAVA_HOME)"x = x ]]
then
  echo '# set java
export JAVA_HOME=/usr/local/jdk1.8.0_77
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' >> /etc/profile
fi
echo "Setting completed."

完成后还需要运行如下命令使配置生效:

source /etc/profile

为什么该命令不写在脚本里面,这个问题可以自行百度,source 命令在脚本里面是作用于脚本那个 shell,对外层没有影响,即退出脚本后没有作用。
【注意】如果运行脚本出现如下错误:

-bash: ./install_JDK8.sh: /bin/bash^M: bad interpreter: No such file or directory

这是由于文件编码格式为 dos 的问题,通过 vim 命令编辑,进入后运行命令【:set ff】查看文件编码格式,会在最下方出现【fileformat=dos】,通过运行如下命令修改即可:

:set ff=unix
:wq

相关文章

网友评论

      本文标题:环境搭建-CentOS 7上通过脚本自动化部署JDK 8

      本文链接:https://www.haomeiwen.com/subject/xajlqctx.html