前言
每當裝了新的Centos總是有着這樣或那樣的不習慣,
寫一個初始化腳本吧,把你的個人操作習慣,
常用軟件都寫進去,當新裝一個系統後,
只用運行一下初始化腳本,
就可以把你的個人操作習慣
常用軟件都按你的要求自動安裝好了。
豈不是特別開心…
vim個人編輯
用vim編輯器寫一個腳本,以後用這個腳本寫你想要寫的東西,可以自動生成Author、Email、
Create time、Filename等等基本信息,這樣以後寫腳本可以節省大量的時間。
代碼塊如下:
#!/bin/bash
cat > $1 <<eof
#!/bin/bash
# ----------------+---------------------------------------+
# * Author : YGL
# * Email : [email protected]
# * Create time : `date +%F`
# * Last modified :
# * Filename : `basename $1`
# * Description :
# * version : 0.9
# ----------------+---------------------------------------+
eof
vim + $1
chmod a+x $1
初始化腳本
判斷系統板本
在初始化腳本中寫在最前面,最先執行,判斷系統是CentOS6還是CentOS7,並且對version賦值,
在腳本後面會繼續用到$version這個變量。
代碼塊如下:
#####判斷系統版本#####
version=`grep -o " [0-9]" /etc/redhat-release|cut -d" " -f2`
if [ "$version" -eq 7 ];then
echo "system version is CentOS 7"
else [ "$version" -eq 6 ];
echo "system version is CentOS 6"
fi
iptable設置
因爲接下來會開啓服務,所以爲了不影響服務的運行,先對iptable進行設置
同時對selinux的配置文件進行修改,不然用戶不能訪問
代碼塊如下:
#####iptables設置#####
iptables -F
iptables -X
sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config
光盤掛載及yum源設置
首先掛載光盤,按照國際慣例掛在media下的cdrom下,同時把一系列目錄創建好,
且把其他系統本來自帶的yum源配置文件放進剛創建的bak備份目錄裏面,因爲我這邊
剛好ftp服務器上面有着齊全的rpm包,我就直接掛在ftp服務器上了,各位可以直接
掛載在阿里雲、163、等這些大型服務器上,亦或是隻掛載光盤,再把光盤當yum源。
代碼塊如下:
#####掛載光盤與設置yum源#####
mkdir /media/cdrom
mount /dev/sr0 /media/cdrom
mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
if [ $version -eq 6 ];then
cat > /etc/yum.repos.d/base.repo << EOF
[base]
name=CentOS-6
baseurl=file///media/cdrom/
gpgcheck=0
[epel]
name=epel-6
baseurl=http://172.18.0.1/fedora-epel/6/x86_64
gpgcheck=0
EOF
fi
if [ $version -eq 7 ];then
cat > /etc/yum.repos.d/base.repo <<EOF
[base]
name=CentOS-7
baseurl=file///media/cdrom/
gpgcheck=0
[epel]
name=epel-7
baseurl=http://172.18.0.1/fedora-epel/7/x86_64
gpgcheck=0
EOF
fi
yum clean all &> /dev/null && yum makecache &> /dev/null
echo "CDROM mount and yum source be ready"
編譯安裝httpd
首先腳本會判斷當前機器上是否有httpd源代碼的壓縮包,如果沒有就會去之前設置好的yum源
上前去下載。按照CentOS的版本,下載對應版本的httpd的壓縮包,並且解壓。接下來從yum源
上安裝Development Tools工具,按照接下來htppd安裝你所選用的服務模塊所依賴的包,這裏
先全部從yum源上提前安裝好,創建apache系統組和用戶,再把環境變量寫入全局配置文件中,
接下來就是編譯安裝了。
代碼塊如下:
#####httpd編譯安裝#####
httpdname22=httpd-2.2.25.tar.bz2
httpdname24=httpd-2.4.25.tar.bz2
if [ $version -eq 6 ];then
{ [ -f $httpdname22 ] || wget ftp://172.18.0.1/pub/Sources/sources/httpd/httpd-2.2.25.tar.bz2 &> /dev/null; } && tar xf $httpdname22 &> /dev/null
fi
if [ $version -eq 7 ];then
{ [ -f $httpdname24 ] || wget ftp://172.18.0.1/pub/Sources/sources/httpd/httpd-2.4.25.tar.bz2 &> /dev/null; } && tar xf $httpdname24 &> /dev/null
fi
yum -y groupinstall "Development Tools" &> /dev/null
yum -y install apr apr-util pcre-devel openssl-devel openssl &> /dev/null && echo "The dependency package is already installed"
id apche &> /dev/null || { groupadd -r apache &> /dev/null && useradd -g apache -r apache &> /dev/null; }
echo 'export PATH=/usr/local/apache/bin:$PATH' > /etc/profile.d/httpd2.sh
if [ $version -eq 6 ];then
cd httpd-2.2.25
fi
if [ $version -eq 7 ];then
cd httpd-2.4.25
fi
./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd22 --enable-so --enable-ssl &> /dev/null || { echo "configure error" && exit 66; }
{ make &> /dev/null && make install &> /dev/null; } || { echo "make error" && exit 67; }
echo "The httpd is already installed"
apachetcl start
echo "apachetcl be start"
別名和提示符
狂拽炫酷的提示符顏色。早已習慣的別名,好看且實用。
代碼塊如下:
#####配置別名和提示符#####
cat >> /root/.bashrc << EOF
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias cdnet='cd /etc/sysconfig/network-scripts/'
alias IPOUT='ifconfig | egrep -o "\<([[:digit:]]{1,3}\.){3}[[:digit:]]{1,3}\>" | head -1'
alias p='poweroff'
alias cl='clear'
alias pkl='pkill -kill -t $1':
PS1="\[\e[1;31m\][\[\e[0m\] \[\e[1;33m\]\u@\h\[\e[0m\] \[\e[1;36m\]\w\[\e[0m\]\[\e[1;31m\] ]\[\e[0m\]\[\e[1;32m\]\\$\[\e[0m\] "
EOF
echo "alias and command prompt be ready"
vim個人習慣設置
單純的個人vim使用習慣。
代碼塊如下:
#####vim個人習慣設置#####
cat >> /root/.vimrc << EOF
set tabstop=4
set nu
set ai
set hlsearch
set syntax on
EOF
echo "vimrc be ready"
login界面前後信息
login界面的前後兩句話都做了顏色處理,在vim裏面^[是用專門的顏色提示按出來的。
代碼塊如下:
#####login界面前後信息#####
echo "^[[31mI believe I have the talent to make it ^[[0m" >> /etc/motd
echo "^[[36mIf you don't work hard, you'll be eliminated^[[0m" >> /etc/issue
echo "reset is over,have a good day."
結束了
初始化腳本,每個人都有自己不同的習慣,需求,初始化腳本,隨着時間的推移,會變得越來越長,因爲你會的也越來越多。
感謝各位大神指出小白的不足之處….