#!/bin/bash
# 此脚本主要针对系统刚完成安装,对系统完成参数调优

##### check id root #####
if [ $(id -u) != "0" ]; then
    echo "You must be root to run this script ..."
    exit 1
fi

##### set function #####
CentOS6 ()
{
    yum install -y wget
    /usr/bin/wget -qO /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
    /usr/bin/wget -qO /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
    yum install -y tree screen make cmake vim ntpdate telnet nc lrzsz gcc gcc-c++
    /etc/init.d/iptables stop && chkconfig iptables off
}

CentOS7 ()
{
    yum install -y wget
    /usr/bin/wget -qO /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo  
    /usr/bin/wget -qO /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    yum install -y tree screen make cmake vim ntpdate telnet nc lrzsz gcc gcc-c++
    systemctl stop firewalld.service && systemctl disable firewalld.service    
}

##### get system Edition #####
Edition=`grep -o '[[:digit:]]' /etc/redhat-release |head -1`
if [ $Edition == '6' ];then
    echo -e "\n\033[34mStart CentOS6 installation……\033[0m\n"
    CentOS6
elif [ $Edition == '7' ]; then
    echo -e "\n\033[34mStart CentOS7 installation……\033[0m\n"
    CentOS7    
else
    echo "This system is not CentOS 6, script execution failed ..."
    exit 2    
fi

####################华丽的分割线 6 与7 命令不同的写在上面函数中  命令相同的写在下面####################################

##### disable selinux && iptables #####
sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
setenforce 0

##### set vim #####
sed -i "7a alias vi='vim'" /root/.bashrc
sed -i "8a alias grep='grep --color'" /root/.bashrc

##### set ssh #####
ssh_cf="/etc/ssh/sshd_config"
sed -i 's/#GSSAPIAuthentication no/GSSAPIAuthentication no/g' $ssh_cf
sed -i 's/GSSAPIAuthentication yes/#GSSAPIAuthentication yes/g' $ssh_cf
sed -i "s/#UseDNS yes/UseDNS no/" $ssh_cf

##### set ntpdate #####
echo '*/4 * * * * /usr/sbin/ntpdate time.windows.com >/dev/null 2>&1' >> /var/spool/cron/root
\cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# \cp /usr/share/zoneinfo/America/New_York /etc/localtime  纽约(西5区)
# \cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime     中国(东8区)
# \cp /usr/share/zoneinfo/Asia/Bangkok /etc/localtime      泰国(东7区)
# \cp /usr/share/zoneinfo/Asia/Korea /etc/localtime        韩国(东9区)
# \cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime        日本(东9区)

##### set limits #####
echo -e "* soft nofile 65535\n* hard nofile 65535" >>/etc/security/limits.conf

##### set kernel #####
>/etc/sysctl.conf
cat >>/etc/sysctl.conf <<EOF
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 1024 65535

net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.eth0.rp_filter = 0
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.eth0.arp_announce = 2
#Add

net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_tw_reuse = 0
net.core.wmem_max = 327679
net.core.rmem_max = 327679
net.core.wmem_default = 327679
net.core.rmem_default = 327679
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_syn_retries = 3
net.ipv4.tcp_synack_retries = 3
net.ipv4.tcp_max_syn_backlog = 65536
net.core.netdev_max_backlog = 65536
net.core.somaxconn = 65536
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
EOF
/sbin/sysctl -p

echo -e "\n\033[32mSystem initialization completed, you must restart the system\033[0m\n"

转载于:https://blog.51cto.com/younger008/1918674

Centos6 anf Centos7 system_init相关推荐

  1. ftp部署一个可供centos6、centos7系统使用的yum网络仓库

    今天我们讲一个小项目:使用centos6 ftp部署一个可供centos6.centos7系统使用的yum网络仓库 我们来分析一下这个项目:首先我们要先安装ftp包,开启并配置ftp服务.接着关闭并配 ...

  2. 在CentOS6和CentOS7安装epel仓库-最简单的方法

    1 安装epel仓库: 在CentOS6和CentOS7都可以执行下面的命令安装epel仓库 yum -y install epel-release 这条命令的好处是可以自动安装不同版本的epel,比 ...

  3. Pxe +ks+ cobbler+ cobbler-web 实现centos6.7,centos7.2无人值守全自动化网络安装系统。

    Pxe +ks+ cobbler+ cobbler-web 实现centos6.7,centos7.2无人值守全自动化网络安装系统. 实验环境:一台centos7.2 主机 一块网卡 vnet1 10 ...

  4. 详解centos6和centos7防火墙的关闭

    详解centos6和centos7防火墙的关闭 CentOS6.5查看防火墙的状态: 1 [zh@localhost ~]$service iptable status 显示结果: [zh@local ...

  5. 如何修改CentOS6、CentOS7内核支持安装锐速的内核

    如何修改CentOS6.CentOS7内核支持安装锐速的内核 摘要: 在锐速ServerSpeeder无限带宽破解版Linux一键自动安装包文章中介绍了如何使用一键包安装锐速,优化服务器网络速度.其实 ...

  6. linux之Centos6升级至centos7

    一.需求说明   centos官方于2020年12月2号停止了所有centos6更新维护,为了继续享受更新服务,redhat提供了一个redhat-upgrade-tool的升级工具,支持将cento ...

  7. CentOS6和CentOS7 一键更换内核,一键安装锐速

    CentOS6和CentOS7 一键更换内核,一键安装锐速[lotServer] –方舟博客 https://www.zhangfangzhou.cn/lotserver.html I have ap ...

  8. 一键配置linux centos,CentOS6和CentOS7 一键更换内核,一键安装锐速[lotServer]

    CentOS6和CentOS7 一键更换内核,一键安装锐速[lotServer][serverSpeeder ] CentOS6和CentOS7 一键更换内核,完成后会重启 wget --no-che ...

  9. 查看CentOS版本信息,CentOS6,CentOS7,CentOS8

    查看CentOS版本信息,CentOS6,CentOS7,CentOS8 查看CentOS版本信息 (一) 查看已经安装的CentOS版本信息 1.`cat /etc/issue` 2. `cat / ...

最新文章

  1. Ubuntu 13.10下安装ns2 2.35遇到的小问题
  2. Mybatis的prefix和suffix使用
  3. c#接口和抽象类的区别
  4. 校园春色关不住,怎奈何唯有花枝俏,不见赏花人?
  5. HDU - 2973威尔逊定理
  6. hive与依赖环境的交互
  7. django自带调试服务器的使用
  8. Vue和后台交互的方式
  9. 什么是mapDispatchToProps?
  10. fedora 23 vlc 以root运行的方法
  11. ant design 上传+自定义上传
  12. 地图标识符号大全_【好玩微信小游戏大全】虫虫逃亡:烧脑游戏佳作!强烈推荐!...
  13. vue如何制作自定义表单校验样式
  14. 外接硬盘无法进入PE界面
  15. mactex+vscode+skim打造latex编译环境
  16. linux中权限sudo,Linux中sudo权限(下)
  17. CCS2020论文泛读记录
  18. GridView,GridLayout
  19. VSCode 基本使用
  20. kindeditor html上传本地图片

热门文章

  1. 实时的YcoCg-DXT压缩
  2. 《唐伯虎点秋香》中的超级对联
  3. Android移动应用ALL IN ONE架构衍变
  4. CMIP6文件名含义详解
  5. 分布式锁系列--04关于分布式锁的选型分析02-Redlock的实现原理
  6. 青岛——生命转折的地方
  7. 利用google maps API开发应用精选
  8. VVC代码学习之自定义数据结构阅读4
  9. c++ pair 加减运算符重载
  10. 1、从1加到100的和