操作系统

当前位置:金沙棋牌 > 操作系统 > shell脚本实现虚拟机实验环境的简单配置,shell搭

shell脚本实现虚拟机实验环境的简单配置,shell搭

来源:http://www.logblo.com 作者:金沙棋牌 时间:2019-11-07 17:21

#!/bin/bash
#Auth:Darius
#CentOS_7配置实验环境
eno=`ifconfig|awk '{print $1}'|head -1|awk -F ":" '{print $1}'`
file=/etc/sysconfig/network-scripts/ifcfg-$eno
dir=/etc/yum.repos.d
#关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
#查看防火墙是否开启
firewall-cmd --state
#清空防火墙规则
iptables -F
#临时关闭selinux
setenforce 0

#!/bin/bash
#Auth:Darius
#自动化安装dhcp服务
#"$1"为测试IP,用来查看IP段是否能通
eno=`ifconfig|awk '{print $1}'|head -1|awk -F ":" '{print $1}'`
file=/etc/sysconfig/network-scripts/ifcfg-$eno
file1=/etc/dhcp/dhcpd.conf
dir=/etc/yum.repos.d
#ip地址设置
ping -c 4 -i 0.1 -W 2 $1 &>/dev/null
if [ $? -ne 0 ];then
echo -e "DEVICE=$enonTYPE=EthernetnONBOOT=yesnBOOTPROTO=static" >$file
read -p "请输入ip地址": ip
read -p "请输入子网掩码": nt
read -p "请输入网关": gw
echo "IPADDR=$ip" >> $file
echo "NETMASK=$nt" >>$file
echo "GATEWAY=$gw" >>$file
if [ $? -eq 0 ]
then
[ $? -eq 0 ] && echo "IP地址配置成功"
else
echo "IP地址配置失败"
fi
else
echo "网络测试成功"
fi
#构建yum本地仓库
mkdir /media/cdrom
mount /dev/sr0 /media/cdrom/
#设置光盘自动挂载
echo "/dev/sr0 /media/cdrom iso9660 defaults 0 0" >> /etc/fstab
mkdir $dir/bak
mv $dir/C* $dir/bak/
echo -e "[yum]nname=yumnbaseurl=file:///media/cdromngpgcheck=0nenabled=1" >$dir/yum.repo
yum clean all &>/dev/null
yum makecache &>/dev/null
echo "yum仓库构建完成"
#金沙棋牌,检测并安装dhcp服务
yum install -y dhcp &>/dev/null
echo "dhcp服务安装成功"
cat /usr/share/doc/dhcp*/dhcpd.conf.sample >$file1
[ $? -eq 0 ] && echo "模板复制成功"
cp $file1 /etc/dhcp/dhcpd.conf.bak
echo -e "subnet 192.168.1.0 netmask 255.255.255.0{nrange 192.168.1.2 192.168.1.100;noption routers 192.168.1.1;n}" >>$file1
echo "文件配置完成"
service dhcpd start &>/dev/null
chkconfig dhcpd on &>/dev/null
[ $? -eq 0 ] && echo "dhcp服务已启动"

亲自写过shell脚本后才发现,这玩意真是太方便了,当你想把一些琐碎的、细节性的小指令一次性来完成时,脚本无疑是最好的选择,方便、快捷,关键是真是懒人必备啊。

#永久关闭selinux
sed -i 's/=enforcing/=disabled/' /etc/sysconfig/selinux
sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
#修改主机名
echo "当前主机名:$(hostname)"
read -p "请输入新主机名:" hostname_input
hostname $hostname_input &> /dev/null
hostnamectl set-hostname $hostname_input &> /dev/null

由于安装的CentOS6.5是最小化安装,且是实验环境,即安装在vmware workstations上面,在首次安装完成后,配置完IP地址的相关信息后,就做了一个初始的快照,以便下次实验完后,可以通过快照快速还原系统。

#ip地址设置
rm -rf /etc/udev/*
echo -e "DEVICE=$enonTYPE=EthernetnONBOOT=yesnBOOTPROTO=static" >$file
read -p "请输入ip地址": ip
read -p "请输入子网掩码": nt
read -p "请输入网关": gw
echo "IPADDR=$ip" >> $file
echo "NETMASK=$nt" >>$file
echo "GATEWAY=$gw" >>$file
[ $? -eq 0 ] && echo "IP地址配置成功"
#构建yum本地仓库
mkdir /media/cdrom
mount /dev/sr0 /media/cdrom/
#设置光盘自动挂载
echo "/dev/sr0 /media/cdrom iso9660 defaults 0 0" >> /etc/fstab
mkdir $dir/bak
mv $dir/C* $dir/bak/
echo -e "[yum]nname=yumnbaseurl=file:///media/cdromngpgcheck=0nenabled=1" >$dir/yum.repo
yum clean all &>/dev/null
yum makecache &>/dev/null
echo "yum仓库构建完成"
yum install -y vim gcc gcc-c++ make &>/dev/null

但是由于实验环境的要求,例如防火墙、SELinux、光盘挂载、yum源配置等,都是最常需要修改的选项,并且由于最小化安装,系统里并没有vim编译工具和man手册的查询,所以导致每次还原快照后,还要处理这些琐碎的问题。为此,我就专门写了这么一个小脚本,内容并不复杂,但是也是一种学习过程,发出来和大家一起分享一下,顺便求指教......

#!/bin/bash
# Config some simple order when the system start
# Create by phoenix
 
# Specify the path
server=/etc/init.d
yum=/etc/yum.repos.d
mountdir=/media/cdrom
selinux=/etc/selinux/config
 
# stop the iptabes and set it can't start when the system start
$server/iptables stop &>/dev/null
if [ "$?" = "0" ]; then
  chkconfig iptables off
  chkconfig ip6tables off
  echo "1# The iptables stop successfully"
else
  echo "1# The iptables stop failed"
fi
 
# shutdown the selinxu system
setenforce 0 && sed -e 's/^SELINUX=enforcing/SELINUX=disabled/g' $selinux >$selinux.bak
mv -f $selinux.bak $selinux
echo "2# The selinux system is disabled"
 
# Mount the CD-ROM
mount |grep sr0 &>/dev/null
if [ ! "$?" = "0" ]; then
  if [ ! -e $mountdir ]; then
      mkdir -p $mountdir &>/dev/null
  else
      mount /dev/cdrom $mountdir &>/dev/null
      echo "3# The CD-ROM is mounting successfully"
  fi 
else
  echo "3# The CD-ROM is already mounted"
fi
 
# Config the source of yum
if [ -e $yum/CentOS-Base.repo ];then
  mv -f $yum/CentOS-Base.repo $yum/CentOS-Base.repo.bak &>/dev/null
else
  echo "4# Starting config the source of yum"
    sleep 3
fi
 
 sed  -e 's/^enabled=0/enabled=1/g' $yum/CentOS-Media.repo >$yum/CentOS-Media.repo.bak
 mv -f $yum/CentOS-Media.repo.bak $yum/CentOS-Media.repo>>/dev/null
 
yum clean all &>/dev/null &&echo "5# The source of yum configed successfully"
 
# Modify the code of language
echo "#LANG=zh_CN.UTF-8" >/etc/sysconfig/i18n
echo "6# The language is modify successfully"
 
# Install the tools "VIM" and "MAN"
echo "7# Starting install vim and man,please wait......"
sleep 3
yum install vim man -y &>/dev/null
 
# Reboot the system when all the work is done
echo "#########  All work is done  ########"
sleep 2
echo "Please wait the syatem restart......"
sleep 2
init 6

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-09/122802.htm

金沙棋牌 1

本文由金沙棋牌发布于操作系统,转载请注明出处:shell脚本实现虚拟机实验环境的简单配置,shell搭

关键词:

上一篇:没有了

下一篇:没有了