前言:
我的第一篇文章就是配置新的Linux系统,但全部过程写下来太复杂了,可以使用shell脚本全部写好后一键配置。
思路:
准备工作:
1.每一步之前echo输出每一步骤的名称以便观测
2.运行脚本之前请一定要对虚拟机快照!!!方便出错后即使回溯!!!
第一步:modify macName
1.更改计算机名称,将它作为一个函数传入值,下指令的时候传入
2.更改/etc/hosts文件,文件最后加上新设置的固定ip地址和新计算机名,固定ip地址也作为一个函数传入值,下指令的时候自己设置
3.关闭防火墙,永久关闭防火墙
第二步:modify ifcfg-ens33
1.把dhcp改为static
2.文件最后加上固定ip、子网掩码、网关、域名解析服务器
第三步:restart
重启网络。这步有可能比较慢。
第四步:download vim wget
这一步如果不能下载这两个工具,后面的任何操作都白扯,所以如果后面报错“无法找到wget”或者“无法用vim打开文件”,就是没有成功下载这两个工具。
如果下载失败,只可能是上面网络没有设置好,请查找上面文件配置是否有错误。
第五步:change yum source
1.更改yum源为国内阿里源(其他的也行)
2.清空缓存,重新加载缓存
3.调用函数,加上可输入的参数
脚本全内容:
function init(){
#modify macName
echo "==================modify macName===================="
hostnamectl set-hostname $1
sed -i '$a '$2' '$1'' /etc/hosts
#close firewalld
systemctl stop firewalld
systemctl disable firewalld
#modify ifcfg-ens33
echo "========================modify ifcfg-ens33========================"
sed -i 's/dhcp/static/' /etc/sysconfig/network-scripts/ifcfg-ens33
sed -i '$a IPADDR='$2'' /etc/sysconfig/network-scripts/ifcfg-ens33
sed -i '$a NETWORK=255.255.255.0' /etc/sysconfig/network-scripts/ifcfg-ens33
gw=`echo $2 | awk -F. '{print $1"."$2"."$3".2"}'`
sed -i '$a GATEWAY='$gw'' /etc/sysconfig/network-scripts/ifcfg-ens33
sed -i '$a DNS1=114.114.114.114' /etc/sysconfig/network-scripts/ifcfg-ens33
sed -i '$a DSN2=8.8.8.8' /etc/sysconfig/network-scripts/ifcfg-ens33
#restart
echo "========================restart======================"
systemctl restart network
#download vim wget
echo "========================download vim wget==========================="
yum install -y vim wget
#change yum source
echo "=======================change yum source========================="
mv /etc/yum.repos.d/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
}
init $1 $2