清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
#! /bin/bash
#
#
#初始化Centos系统
#
#
#
function echo_success()
{
echo -e "\e[32m$1\e[0m"
}
function echo_failure()
{
echo -e "\e[31m$1\e[0m"
}
function echo_warning()
{
echo -e "\e[33m$1\e[0m"
}
export LANG=en_US.utf8
#
#检查系统服务关闭不必要的服务
#
echo_success "System Initialization..."
function check_service()
{
LEVEL=35
SERVER_ARR=('crond' 'messagebus' 'network' 'sshd' {'','r'}'syslog')
SERVER_STATUS=0
for I in $(chkconfig --list|awk '{print $1}'|egrep -v '^.*:'|sort|uniq)
do
for X in ${SERVER_ARR[@]}
do
if [ "x$I" == "x$X" ];then
for S in $(chkconfig --list $I|awk '{print $5;print $7;}')
do
if [ "${S##*:}" != "on" ];then
LEVEL_TMP=${S%%:*}
chkconfig --level $LEVEL_TMP $I on
fi
done
SERVER_STATUS=1
fi
done
if [ $SERVER_STATUS -eq 0 ];then
service $I stop &>/dev/zero
chkconfig --level $LEVEL $I off
else
SERVER_STATUS=0
fi
done
}
#
#关闭其他杂项
#
function check_other()
{
SELINUX_CONF_FILE=/etc/selinux/config
SELINUX_STATUS=$(grep "^SELINUX=" $SELINUX_CONF_FILE)
INITABE_CONF_FILE=/etc/inittab
TTY_CONF_FILE=/etc/init/start-ttys.conf
INIT_CONF_FILE=/etc/sysconfig/init
LIMIT_CONF_FILE=/etc/security/limits.conf
INITCTL=/sbin/initctl
SYSTEM_TYPE=0
RUN_LEVEL=3
TTY_NUMBER=2
if [ -f $TTY_CONF_FILE ];then
SYSTEM_TYPE=6
else
SYSTEM_TYPE=5
fi
if [ "x${SELINUX_STATUS##*=}" != "xdisabled" ];then
sed -i "s/$SELINUX_STATUS/SELINUX=disabled/" $SELINUX_CONF_FILE
/usr/sbin/setenforce 0
fi
NOW_RUN_LEVEL=$(grep ^id:[0-6]:* /etc/inittab)
if [ "x${NOW_RUN_LEVEL:3:1}" != "x3" ];then
sed -i "s/$NOW_RUN_LEVEL/${NOW_RUN_LEVEL//[0-9]/$RUN_LEVEL}/" $INITABE_CONF_FILE
fi
if [ ${SYSTEM_TYPE} -eq 6 ];then
NOW_TTY_NUM=$(grep "^.*ACTIVE_CONSOLES.*]$" $INIT_CONF_FILE)
NOW_TTY_TMP_NUM=${NOW_TTY_NUM:$(expr ${#NOW_TTY_NUM} - 2):1}
if [ $NOW_TTY_TMP_NUM -gt 2 ];then
NOW_TMP_TTY=${NOW_TTY_NUM:$(expr ${#NOW_TTY_NUM} - 4):3}
sed -i "s/\[$NOW_TMP_TTY\]/\[1-2]/" $INIT_CONF_FILE
for TTY_P in $(ps auxw|grep tty[$(expr $TTY_NUMBER + 1)-$NOW_TTY_TMP_NUM]|grep -v grep|awk '{print $NF}')
do
$INITCTL stop tty TTY=$TTY_P &>/dev/zero
done
fi
elif [ ${SYSTEM_TYPE} -eq 5 ];then
sed -i 's/^[3-9]/#&/' $INITABE_CONF_FILE
init q
else
echo "init system is Centos 6.x or Centos5.x"
fi
if [ -f $LIMIT_CONF_FILE ];then
sed -i 's/^*.[sh]/#*/' $LIMIT_CONF_FILE
cat <<EOF >> $LIMIT_CONF_FILE
* soft nofile 60000
* hard nofile 65535
EOF
fi
}
check_service
check_other
echo_success "System initialization is complete"