引言
??最近在搭建 Kubernetes 1.14 版本,過(guò)程中涉及各種組件的安裝配置蘑险,所以打算通過(guò)腳本自動(dòng)化的部署配置這些組件滴肿,本文主要描述在 CentOS 7上通過(guò)腳本自動(dòng)化部署配置 JDK 8。
自動(dòng)化腳本導(dǎo)航
環(huán)境搭建-CentOS 7上通過(guò)腳本自動(dòng)化部署JDK 8
環(huán)境搭建-CentOS 7上通過(guò)Shell腳本自動(dòng)化修改機(jī)器名并配置靜態(tài)IP
環(huán)境搭建-CentOS 7上通過(guò)Shell腳本自動(dòng)化配置免密登錄
環(huán)境搭建-CentOS 7上通過(guò)Shell腳本自動(dòng)化安裝Harbor
搭建步驟分析
- 卸載 OpenJDK佃迄;
- 從 Oracle 官方下載頁(yè)面下載對(duì)應(yīng)版本的 JDK:
下載鏈接為:https://download.oracle.com/otn/java/jdk/8u211-b12/478a62b7d4e34b78b671c754eaaf38ab/jdk-8u211-linux-x64.tar.gz泼差,這個(gè)地址寫腳本的時(shí)候會(huì)用到;
- 解壓壓縮包呵俏;
- 配置環(huán)境變量堆缘。
自動(dòng)化腳本
??結(jié)合以上的步驟我們本來(lái)可以寫一個(gè)帶自動(dòng)下載 JDK 的腳本,但是現(xiàn)在 Oracle 網(wǎng)站下載 JDK 需要登錄普碎,筆者 Oracle 賬號(hào)已多年未用吼肥,加上 Oracle 網(wǎng)站找回密碼那訪問(wèn)速度,果斷放棄麻车,手動(dòng)上傳了以前使用的 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."
完成后還需要運(yùn)行如下命令使配置生效:
source /etc/profile
為什么該命令不寫在腳本里面,這個(gè)問(wèn)題可以自行百度绪氛,source 命令在腳本里面是作用于腳本那個(gè) shell唆鸡,對(duì)外層沒有影響,即退出腳本后沒有作用枣察。
【注意】如果運(yùn)行腳本出現(xiàn)如下錯(cuò)誤:
-bash: ./install_JDK8.sh: /bin/bash^M: bad interpreter: No such file or directory
這是由于文件編碼格式為 dos 的問(wèn)題争占,通過(guò) vim 命令編輯,進(jìn)入后運(yùn)行命令【:set ff】查看文件編碼格式序目,會(huì)在最下方出現(xiàn)【fileformat=dos】臂痕,通過(guò)運(yùn)行如下命令修改即可:
:set ff=unix
:wq