一个简单的shell脚本-----实现虚拟机实验环境的简单配置

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

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

    但是由于实验环境的要求,例如防火墙、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


    另外,请不要吐槽我的英语。。。。虽然过了四级并且差点过了六级,然而还是没有什么用。。。

你可能感兴趣的:(linux,shell,脚本,实验, , ,偷懒)