CentOS 6 one-click system optimization Shell script
CentOS version 6.2 has been released and can now be used in the production environment. The new kernel version can also make better use of hardware. I wrote a script to initialize the system environment. Now, you can modify the script as needed.
The script content is as follows:
#!/bin/bash#author suzezhi#this script is only for CentOS 6#check the OSplatform=`uname -i`if [ $platform != "x86_64" ];then echo "this script is only for 64bit Operating System !"exit 1fiecho "the platform is ok"version=`lsb_release -r |awk '{print substr($2,1,1)}'`if [ $version != 6 ];thenecho "this script is only for CentOS 6 !"exit 1ficat << EOF+---------------------------------------+| your system is CentOS 6 x86_64 || start optimizing....... |+---------------------------------------EOF#make the 163.com as the default yum repomv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backupwget http://mirrors.163.com/.help/CentOS6-Base-163.repo -O /etc/yum.repos.d/CentOS-Base.repo#add the third-party repo#add the epelrpm -Uvh http://download.Fedora.RedHat.com/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6#add the rpmforgerpm -Uvh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpmrpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag#update the system and set the ntpyum clean allyum -y update glibc\*yum -y update yum\* rpm\* python\* yum -y updateyum -y install ntpecho "* 4 * * * /usr/sbin/ntpdate 210.72.145.44 > /dev/null 2>&1" >> /var/spool/cron/rootservice crond restart#set the file limitecho "ulimit -SHn 102400" >> /etc/rc.localcat >> /etc/security/limits.conf << EOF* soft nofile 65535* hard nofile 65535EOF#set the control-alt-delete to guard against the miSUSEsed -i 's#exec /sbin/shutdown -r now#\#exec /sbin/shutdown -r now#' /etc/init/control-alt-delete.conf#disable selinuxsed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config#set sshsed -i 's/^GSSAPIAuthentication yes$/GSSAPIAuthentication no/' /etc/ssh/sshd_configsed -i 's/#UseDNS yes/UseDNS no/' /etc/ssh/sshd_configservice sshd restart#tune kernel parametrescat >> /etc/sysctl.conf << EOFnet.ipv4.tcp_fin_timeout = 1net.ipv4.tcp_keepalive_time = 1200net.ipv4.tcp_mem = 94500000 915000000 927000000net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_timestamps = 0net.ipv4.tcp_synack_retries = 1net.ipv4.tcp_syn_retries = 1net.ipv4.tcp_tw_recycle = 1net.core.rmem_max = 16777216net.core.wmem_max = 16777216net.core.netdev_max_backlog = 262144net.core.somaxconn = 262144net.ipv4.tcp_max_orphans = 3276800net.ipv4.tcp_max_syn_backlog = 262144net.core.wmem_default = 8388608net.core.rmem_default = 8388608EOF/sbin/sysctl -p#define the backspace button can erase the last character typedecho 'stty erase ^H' >> /etc/profileecho "syntax on" >> /root/.vimrc#stop some crontabmkdir /etc/cron.daily.bakmv /etc/cron.daily/makewhatis.cron /etc/cron.daily.bakmv /etc/cron.daily/mlocate.cron /etc/cron.daily.bakchkconfig bluetooth offchkconfig cups offchkconfig ip6tables off#disable the ipv6cat > /etc/modprobe.d/ipv6.conf << EOFIalias net-pf-10 offoptions ipv6 disable=1EOFIecho "NETWORKING_IPV6=off" >> /etc/sysconfig/networkcat << EOF+-------------------------------------------------+| optimizer is done || it's recommond to restart this server ! |+-------------------------------------------------+EOF
The script content is described as follows:
- First, judge the system. If it is a 64-bit Cent OS, continue to run.
- First, set the system installation source To Netease (Netease's installation source is relatively stable in China)
- Install epel sources and rpmforge sources, and use third-party sources to facilitate yum installation.
- Update Software
- Set to synchronize time at four o'clock every morning (synchronize time with the National Time Service Center Server)
- Increase the number of files simultaneously opened by the System
- Press ctrl alt delete to block the server from being restarted during incorrect operations.
- Disable selinux
- Disable GSSAPI authentication and reverse DNS resolution to speed up SSH Login
- Optimize some Kernel Parameters
- Adjust the button for deleting characters to backspace (some systems use delete by default)
- Enable vim syntax highlighting
- Cancel generating whatis database and locate Database
- Disable useless services
- Disable IPv6
Original article: http://www.linuxde.net/2011/12/5756.html