免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12345下一页
最近访问板块 发新帖
查看: 12676 | 回复: 44
打印 上一主题 下一主题

分享一个CentOS 6 初始化脚本 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-26 16:11 |只看该作者 |倒序浏览
本帖最后由 redhat_xiaosu 于 2011-12-29 23:33 编辑

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 install kernel-devel kernel-headers && echo exclude=kernel* >> /etc/yum.conf
  35. yum -y update glibc\*
  36. yum -y update yum\* rpm\* python\*
  37. yum -y update
  38. yum -y install ntp
  39. echo "* 4 * * * /usr/sbin/ntpdate 210.72.145.44 > /dev/null 2>&1" >> /var/spool/cron/root
  40. service crond restart

  41. #set the file limit
  42. echo "ulimit -SHn 102400" >> /etc/rc.local
  43. cat >> /etc/security/limits.conf << EOF
  44. *           soft   nofile       65535
  45. *           hard   nofile       65535
  46. EOF

  47. #set the control-alt-delete to guard against the misuse
  48. sed -i 's#exec /sbin/shutdown -r now#\#exec /sbin/shutdown -r now#' /etc/init/control-alt-delete.conf

  49. #disable selinux
  50. sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

  51. #set ssh
  52. sed -i 's/^GSSAPIAuthentication yes$/GSSAPIAuthentication no/' /etc/ssh/sshd_config
  53. sed -i 's/#UseDNS yes/UseDNS no/' /etc/ssh/sshd_config
  54. service sshd restart

  55. #tune kernel parametres
  56. cat >> /etc/sysctl.conf << EOF
  57. net.ipv4.tcp_fin_timeout = 1
  58. net.ipv4.tcp_keepalive_time = 1200
  59. net.ipv4.tcp_mem = 94500000 915000000 927000000
  60. net.ipv4.tcp_tw_reuse = 1
  61. net.ipv4.tcp_timestamps = 0
  62. net.ipv4.tcp_synack_retries = 1
  63. net.ipv4.tcp_syn_retries = 1
  64. net.ipv4.tcp_tw_recycle = 1
  65. net.core.rmem_max = 16777216
  66. net.core.wmem_max = 16777216
  67. net.core.netdev_max_backlog = 262144
  68. net.core.somaxconn = 262144
  69. net.ipv4.tcp_max_orphans = 3276800
  70. net.ipv4.tcp_max_syn_backlog = 262144
  71. net.core.wmem_default = 8388608
  72. net.core.rmem_default = 8388608
  73. EOF
  74. /sbin/sysctl -p

  75. #define the backspace button can erase the last character typed
  76. echo 'stty erase ^H' >> /etc/profile

  77. echo "syntax on" >> /root/.vimrc

  78. #stop some crontab
  79. mkdir /etc/cron.daily.bak
  80. mv /etc/cron.daily/makewhatis.cron /etc/cron.daily.bak
  81. mv /etc/cron.daily/mlocate.cron /etc/cron.daily.bak

  82. chkconfig bluetooth off
  83. chkconfig cups off
  84. chkconfig ip6tables off


  85. #disable the ipv6
  86. cat > /etc/modprobe.d/ipv6.conf << EOFI
  87. alias net-pf-10 off
  88. options ipv6 disable=1
  89. EOFI

  90. echo "NETWORKING_IPV6=off" >> /etc/sysconfig/network
  91. cat << EOF
  92. +-------------------------------------------------+
  93. |               optimizer is done                               |
  94. |   it's recommond to restart this server !             |
  95. +-------------------------------------------------+
  96. EOF
复制代码
对脚本的内容做一下说明(给不太熟悉的哥们扫扫盲,高手直接绕开就行):
1.先对系统进行判断,如果是Cent OS 64位,就继续运行。
2.先将系统的安装源设置为网易的(网易的安装源算是国内比较稳定的)
3.安装epel的源和rpmforge的源,利用第三方的源来让yum安装起来更方便
4.更新软件
5.设置为每天凌晨四点进行时间同步(跟国家授时中心的服务器进行时间同步)
6.将系统同时打开的文件个数增大
7.将ctrl alt delete键进行屏蔽,防止误操作的时候服务器重启
8.关闭selinux
9,禁用GSSAPI来认证,也禁用DNS反向解析,加快SSH登陆速度
10.优化一些内核参数
11.调整删除字符的按键为backspace(某些系统默认是delete)
12.打开vim的语法高亮
13.取消生成whatis数据库和locate数据库
14.关闭没用的服务
15.关闭IPv6

评分

参与人数 1可用积分 +12 收起 理由
send_linux + 12 很给力!谢谢分享!

查看全部评分

论坛徽章:
2
技术图书徽章
日期:2013-11-23 01:55:57白羊座
日期:2013-12-08 15:48:16
2 [报告]
发表于 2011-12-26 17:40 |只看该作者
回复 1# redhat_xiaosu


    yum install kernel-devel kernel-headers && echo exclude=kernel* >> /etc/yum.conf

论坛徽章:
0
3 [报告]
发表于 2011-12-26 17:52 |只看该作者
回复 2# 7looki


    有道理,毕竟升级内核有一定风险。。。。。

论坛徽章:
2
技术图书徽章
日期:2013-11-23 01:55:57白羊座
日期:2013-12-08 15:48:16
4 [报告]
发表于 2011-12-26 17:57 |只看该作者
本帖最后由 7looki 于 2011-12-26 17:57 编辑

回复 3# redhat_xiaosu


     我一般在update之前执行这条语句,执行一次就OK了.

论坛徽章:
0
5 [报告]
发表于 2011-12-26 18:01 |只看该作者
回复 4# 7looki


    哦,不错,感谢分享

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
6 [报告]
发表于 2011-12-26 18:15 |只看该作者
本帖最后由 chenyx 于 2011-12-26 18:15 编辑

总结的不错,赞一个
楼上两位的代码用编辑器的代码功能括起来就更完美了

论坛徽章:
0
7 [报告]
发表于 2011-12-26 18:23 |只看该作者
回复 6# chenyx


    感谢提醒,也将7looki兄的建议加进去了

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
8 [报告]
发表于 2011-12-26 20:36 |只看该作者
感谢分享

论坛徽章:
0
9 [报告]
发表于 2011-12-27 07:20 |只看该作者
有些地方看不懂。。才疏学浅了。。。。

不过,centos默认是最小安装,服务很少,连xinetd服务都没有,简单的应用,只做web应用服务的话,貌似也不用做这些工作吧。

我的服务部署在xenserver之上,风险也小。

ipv6也可以启用,教育网用交大的源,速度根本不是问题,3M/s以上的速度,update基本可以说是瞬间完成的事,偶尔用用epel的源,可以用手动模式。

更新内核那个,没看懂,更新内核会有什么风险?yum update的应该没问题吧?

论坛徽章:
0
10 [报告]
发表于 2011-12-27 09:21 |只看该作者
回复 9# leeyc


    这个应该具体情况具体分析吧,毕竟大部分的机器都没有接入教育网,并且,一两年之内,IPv6也不会普及,我关闭的蓝牙之类的服务,是为了节省资源,而不是基于安全考虑的,更新内核是有一定风险的,因为有些源码安装上去的模块是跟内核版本有关的,我就遇到过新内核无法启动的情况,并且机器托管在机房,当时也是很折腾。。。。。当然,你可以根据需要修改成适合你的脚本,呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP