CentOS 6システム最適化Shellスクリプト

23019 ワード

回転:http://sebug.net/node/t-1853 ここのブログです.
 
CentOSはすでに6.2版を発表しました.今はもう生産環境で使えます.新しいバージョンのカーネルもハードウェアをよりよく利用できます.シナリオを書いて、システム環境を初期化します.今は共有します.自分の必要に応じて、シナリオを修正してください.
スクリプトの内容は以下の通りです.

  
  
  
  
  1. #!/bin/bash
  2. #author suzezhi
  3. #this script is only for CentOS 6
  4. #check the OS
  5. platform=`uname -i`
  6. if [ $platform != "x86_64" ];then
  7. echo "this script is only for 64bit Operating System !"
  8. exit 1
  9. fi
  10. echo "the platform is ok"
  11. version=`lsb_release -r |awk '{print substr($2,1,1)}'`
  12. if [ $version != 6 ];then
  13. echo "this script is only for CentOS 6 !"
  14. exit 1
  15. fi
  16. cat << EOF
  17. +---------------------------------------+
  18. | your system is CentOS 6 x86_64 |
  19. | start optimizing....... |
  20. +---------------------------------------
  21. EOF
  22. #make the 163.com as the default yum repo
  23. mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
  24. wget http://mirrors.163.com/.help/CentOS6-Base-163.repo -O /etc/yum.repos.d/CentOS-Base.repo
  25. #add the third-party repo
  26. #add the epel
  27. rpm -Uvh http://download.Fedora.RedHat.com/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm
  28. rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
  29. #add the rpmforge
  30. rpm -Uvh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
  31. rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
  32. #update the system and set the ntp
  33. yum clean all
  34. yum -y update glibc\*
  35. yum -y update yum\* rpm\* python\*
  36. yum -y update
  37. yum -y install ntp
  38. echo "* 4 * * * /usr/sbin/ntpdate 210.72.145.44 > /dev/null 2>&1" >> /var/spool/cron/root
  39. service crond restart
  40. #set the file limit
  41. echo "ulimit -SHn 102400" >> /etc/rc.local
  42. cat >> /etc/security/limits.conf << EOF
  43. * soft nofile 65535
  44. * hard nofile 65535
  45. EOF
  46. #set the control-alt-delete to guard against the miSUSE
  47. sed -i 's#exec /sbin/shutdown -r now#\#exec /sbin/shutdown -r now#' /etc/init/control-alt-delete.conf
  48. #disable selinux
  49. sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
  50. #set ssh
  51. sed -i 's/^GSSAPIAuthentication yes$/GSSAPIAuthentication no/' /etc/ssh/sshd_config
  52. sed -i 's/#UseDNS yes/UseDNS no/' /etc/ssh/sshd_config
  53. service sshd restart
  54. #tune kernel parametres
  55. cat >> /etc/sysctl.conf << EOF
  56. net.ipv4.tcp_fin_timeout = 1
  57. net.ipv4.tcp_keepalive_time = 1200
  58. net.ipv4.tcp_mem = 94500000 915000000 927000000
  59. net.ipv4.tcp_tw_reuse = 1
  60. net.ipv4.tcp_timestamps = 0
  61. net.ipv4.tcp_synack_retries = 1
  62. net.ipv4.tcp_syn_retries = 1
  63. net.ipv4.tcp_tw_recycle = 1
  64. net.core.rmem_max = 16777216
  65. net.core.wmem_max = 16777216
  66. net.core.netdev_max_backlog = 262144
  67. net.core.somaxconn = 262144
  68. net.ipv4.tcp_max_orphans = 3276800
  69. net.ipv4.tcp_max_syn_backlog = 262144
  70. net.core.wmem_default = 8388608
  71. net.core.rmem_default = 8388608
  72. EOF
  73. /sbin/sysctl -p
  74. #define the backspace button can erase the last character typed
  75. echo 'stty erase ^H' >> /etc/profile
  76. echo "syntax on" >> /root/.vimrc
  77. #stop some crontab
  78. mkdir /etc/cron.daily.bak
  79. mv /etc/cron.daily/makewhatis.cron /etc/cron.daily.bak
  80. mv /etc/cron.daily/mlocate.cron /etc/cron.daily.bak
  81. chkconfig bluetooth off
  82. chkconfig cups off
  83. chkconfig ip6tables off
  84. #disable the ipv6
  85. cat > /etc/modprobe.d/ipv6.conf << EOFI
  86. alias net-pf-10 off
  87. options ipv6 disable=1
  88. EOFI
  89. echo "NETWORKING_IPV6=off" >> /etc/sysconfig/network
  90. cat << EOF
  91. +-------------------------------------------------+
  92. | optimizer is done |
  93. | it's recommond to restart this server ! |
  94. +-------------------------------------------------+
  95. EOF

  1. , Cent OS 64 , 。
  2. ( )
  3. epel rpmforge , yum
  4. ( )
  5. ctrl ALT delete ,
  6. SELinux
  7. GSSAPI , DNS , SSH
  8. backspace( delete)
  9. vim
  10. whatis locate
  11. IPv6

 

142