shell指令碼實現虛擬機器實驗環境的簡單配置

2021-07-05 08:05:27 字數 2494 閱讀 4995

親自寫過shell指令碼後才發現,這玩意真是太方便了,當你想把一些瑣碎的、細節性的小指令一次性來完成時,指令碼無疑是最好的選擇,方便、快捷,關鍵是真是懶人必備啊。

由於安裝的centos6.5是最小化安裝,且是實驗環境,即安裝在vmware workstations上面,在首次安裝完成後,配置完ip位址的相關資訊後,就做了乙個初始的快照,以便下次實驗完後,可以通過快照快速還原系統。

但是由於實驗環境的要求,例如防火牆、selinux、光碟掛載、yum源配置等,都是最常需要修改的選項,並且由於最小化安裝,系統裡並沒有vim編譯工具和man手冊的查詢,所以導致每次還原快照後,還要處理這些瑣碎的問題。為此,我就專門寫了這麼乙個小指令碼,內容並不複雜,但是也是一種學習過程,發出來和大家一起分享一下,順便求指教......

#!/bin/bash

# config some ****** 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 

fised  -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學習。

shell是什麼?我認為shell其實是乙個命令直譯器,它的作用是解釋使用者輸入的命令和程式,相當於人和計算機的交流,一種互動方式。關於shell的一些命令與特殊字元。n 即執行第n 數字 條命令。字串 用來執行歷史中最近一次以某某字串開頭的指令。alias 別名,即可看到系統預設的別名。萬用字元,...

虛擬機器 KVM部分實驗

grep vmx proc cpuinfo lsmod grep kvm1 檢視ip ifconfig2 是否連線外網 三種都可以 ping www.baidu.com3 檢查selinux,將其設定為permissive 關閉selinux setenforce 0 將其設定為permissive...

Nginx實現虛擬機器

區分不同的 有三種方式 1 ip區分 方法一 使用標準的網路配置工具 比如ifconfig和 route 命令 新增 lp別名 當前ip配置情況 在eth0網絡卡再繫結乙個ip 方法二 1 將 etc sysconfig network scripts ifcfg eth0檔案複製乙份,命名為 if...