安装准备
jdk压缩包和脚本网盘链接:
链接:https://pan.baidu.com/s/1qc4voMWaCrXTrzpBp8scZA
提取码:soul
将jdk包和脚本放入一个文件夹中,习惯放入/opt中
进入/opt
运行脚本文件 ①功能序号 ②想修改的系统名称 ③想修改的静态ip地址
(注意IP地址文件是ifcfg-ens33还是ifcfg-ens32,大部分情况为ifcfg-ens33 ,如果是ifcfg-ens32将脚本文件所有ifcfg-ens33改为ifcfg-ens32)
cd /opt
source sys_setup.sh 7 AvA 192.168.1.170
脚本详细功能说明
1 修改系统名称 同时修改hosts文件
modify_sysname(){
hostnamectl set-hostname $1
cfg=`cat /etc/hosts | grep $2 | grep -wF $1`
if [ "$cfg" == "" ];then
echo "$2 $1" >> /etc/hosts
fi
}
2 修改IP静态地址
modify_staticip(){
chk=`cat /etc/sysconfig/network-scripts/ifcfg-ens32 | grep static`
if [ "$chk" == "" ];then
sed -i 's/dhcp/static/' /etc/sysconfig/network-scripts/ifcfg-ens32
echo "IPADDR=$1" >> /etc/sysconfig/network-scripts/ifcfg-ens32
echo "NETMASK=255.255.255.0" >> /etc/sysconfig/network-scripts/ifcfg-ens32
echo "GATEWAY=${1%.*}.2" >> /etc/sysconfig/network-scripts/ifcfg-ens32
echo "DNS1=114.114.114.114" >> /etc/sysconfig/network-scripts/ifcfg-ens32
echo "DNS2=8.8.8.8" >> /etc/sysconfig/network-scripts/ifcfg-ens32
fi
systemctl restart network
}
3 关闭防火墙
close_firewalld(){
systemctl stop firewalld
systemctl disable firewalld
}
4 修改yum源为阿里源
modify_yumsource() {
# 检查是否已有备份文件 如果有则说明已经运行过
if [ -e /etc/yum.repos.d/CentOS-Base.repo_bak ];then
echo "don't nothing!"
else
#首先安装wget命令
yum install -y wget
#修改yum
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo_bak
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
fi
}
5 安装JDK (软件目录必须在/opt下)
首先检查文件的文件夹是否存在不存在就创建一个
check_soft_folder(){
if [ -e /opt/soft/$1 ];then
echo "/opt/soft/$1 folder already exists"
return 0
else
mkdir -p /opt/soft/$1
return 1
fi
}
安装JDK
setup_jdk() {
#检查JDK是否已经安装过
check_soft_folder jdk180
if [ $? == 1 ];then
#在opt文件夹下搜索jdk的tar.gz文件
jdkName=`ls /opt/ | grep jdk*`
#将文件解压到对应的soft文件夹下
tar -zxf /opt/$jdkName -C /opt/soft/jdk180 --strip-components 1
#配置/etc/profile文件
echo "" >> /etc/profile
echo "#java environment" >> /etc/profile
echo "export JAVA_HOME=/opt/soft/jdk180" >> /etc/profile
echo "export CLASSPATH=.:\${JAVA_HOME}/jre/lib/rt.jar:\${JAVA_HOME}/lib/dt.jar:\${JAVA_HOME}/lib/tools.jar" >> /etc/profile
echo "export PATH=\$PATH:\${JAVA_HOME}/bin" >> /etc/profile
source /etc/profile
fi
}
6 安装mysql5.7
setup_mysql() {
#检查linux的mariadb是否卸载 如果没有说明没有安装过mysql
mdb=`rpm -qa | grep mariadb`
if [ "$mdb" != "" ];then
rpm -e --nodeps $mdb
cd /opt/
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server
#修改/etc/my.cnf文件解决中文乱码
sed -i '/socket/a character-set-server=utf8' /etc/my.cnf
echo "[client]" >> /etc/my.cnf
echo "default-character-set=utf8" >> /etc/my.cnf
echo "[mysql]" >> /etc/my.cnf
echo "default-character-set=utf8" >> /etc/my.cnf
systemctl start mysqld.service
#获取临时密码
pwdinfo=`grep "password" /var/log/mysqld.log| grep -wF "temporary password"`
passwd=${pwdinfo#*localhost:}
passwd=$(echo $passwd)
#执行修改密码语句
mysql -uroot -p$passwd --connect-expired-password -e "set global validate_password_policy=0"
mysql -uroot -p$passwd --connect-expired-password -e "set global validate_password_length=1"
mysql -uroot -p$passwd --connect-expired-password -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'okok'"
#修改远程登录
mysql -uroot -pokok -e "GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'okok'"
mysql -uroot -pokok -e "flush privileges"
#重启服务
systemctl restart mysqld.service
fi
}
7 以上流程来一遍
custom_option() {
case $1 in
"1")
modify_sysname $2 $3
;;
"2")
modify_staticip $3
;;
"3")
close_firewalld
;;
"4")
modify_yumsource
;;
"5")
setup_jdk
;;
"6")
setup_mysql
;;
"7")
modify_sysname $2 $3
modify_staticip $3
close_firewalld
modify_yumsource
setup_jdk
setup_mysql
;;
*)
echo "please option 1~7"
esac
}