Centos6 系统初始化

系统安装完之后,一般不会马上去部署应用。首先需要对系统进行优化,包括:文件句柄优化、服务器时间同步、内核参数的优化、iptables优化等。

需要根据自己的业务,优化相应的参数。如下是之前写的一个初始化脚本。

#!/bin/bash
#this script is only for CentOS 6
#check the OS
#Author: David.zhang

yum -y groupinstall "base"
yum -y install lsb wget
yum -y install ruby ruby-lib ruby-rdoc
platform=`uname -i`
if [ $platform != "x86_64" ];then 
echo "this script is only for 64bit Operating System !"
exit 1
fi
echo "the platform is ok"
version=`lsb_release -r |awk ‘{print substr($2,1,1)}‘`
if [ $version != 6 ];then
echo "this script is only for CentOS 6 !"
exit 1
fi
 
cat << EOF
+---------------------------------------+
|   your system is CentOS 6 x86_64      |
|        start optimizing.......                   |
+---------------------------------------
EOF
 
 
#add the third-party repo

#add the epel
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

#add the rpmforge
rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
 
#add the puppetlabs
rpm -Uvh http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-7.noarch.rpm

# Turn off unnecessary services
#set ulimit

#update the system and set the ntp
yum clean all
yum -y update && echo exclude=kernel* >> /etc/yum.conf
echo "0 3 * * * /usr/sbin/ntpdate cn.pool.ntp.org >& /dev/null" >>/var/spool/cron/root

 
#set the file limit
echo "ulimit -SHn 102400" >> /etc/rc.local
cat >> /etc/security/limits.conf << EOF
*           soft   nofile       65535
*           hard   nofile       65535
EOF
 
#set the control-alt-delete to guard against the misuse
sed -i ‘s#exec /sbin/shutdown -r now#\#exec /sbin/shutdown -r now#‘ /etc/init/control-alt-delete.conf
 
#disable selinux
sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/‘ /etc/selinux/config
 
#set ssh
sed -i ‘s/^GSSAPIAuthentication yes$/GSSAPIAuthentication no/‘ /etc/ssh/sshd_config
sed -i ‘s/#UseDNS yes/UseDNS no/‘ /etc/ssh/sshd_config
service sshd restart
 
#tune kernel parametres #set sysctl
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
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
net.ipv4.tcp_max_tw_buckets = 60000
net.ipv4.tcp_sack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_rmem = 4096 87380 4194304
net.ipv4.tcp_wmem = 4096 16384 4194304
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.netdev_max_backlog = 500000
net.core.somaxconn = 262144
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 1024 65535
net.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_tcp_timeout_established = 180
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120
vm.swappiness = 0
EOF
/sbin/sysctl -p
 
#define the backspace button can erase the last character typed
echo ‘stty erase ^H‘ >> /etc/profile
 
echo "syntax on" >> /root/.vimrc
 
 
#disable the ipv6
cat > /etc/modprobe.d/ipv6.conf << EOFI
alias net-pf-10 off
options ipv6 disable=1
EOFI
 
echo "NETWORKING_IPV6=off" >> /etc/sysconfig/network

# set iptables
iptables -F
iptables -X
iptables -Z
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -d 224.0.0.0/8 -j ACCEPT
iptables -A INPUT -p vrrp -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 65522 -j ACCEPT
iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A INPUT -p tcp --sport 53 -j ACCEPT
iptables -P INPUT DROP
#iptables -P FORWARD DROP
#iptables -P OUTPUT DROP
/etc/init.d/iptables save

cat << EOF
+-------------------------------------------------+
|               optimizer is done                 |
|   it‘s recommond to restart this server !       |
+-------------------------------------------------+
EOF

就这么简单,每次系统安装完成。只需要执行该脚本,就可以完成对系统的初始化工作。

Centos6 系统初始化

时间: 2024-10-03 20:12:55

Centos6 系统初始化的相关文章

centos6系统初始化

系统:centos6 作用:配置ip.yum源.ntp.关闭selinux.iptables #!/bin/bash # configure network cat >/etc/sysconfig/network-scripts/ifcfg-eth0<<EOF DEVICE=eth0 NAME="eth0" TYPE=Ethernet ONBOOT=yes BOOTPROTO=static IPADDR=192.168.126.10 PREFIX=24 GATEWAY

CentOS6系统初始化脚本

#!/bin/bash ### Usage: This script use to config linux system #获取IP地址 172.16.100.100 outip=`ifconfig eth1 |grep inet|cut -f 2 -d ":" |cut -f 1 -d " "|awk -F "." '{print $4}'` #定义系统主机名 hostname=dbbak$outip.mstuc.cn1 #修改yum源  #

【linux基础】19、系统初始化流程

一.内核 linux系统的组成:内核(kernel)+根文件系统(rootfs) 1.内核的功能 进程管理:task_struct,scheduler(调度) 内存管理: I/O管理:中断及中断处理 文件系统: 驱动程序 安全相关功能:SElinux,各种加密库 2.内核设计流派 单内核:单一体系 将所有功能都作成一个整体,都作在内核中 linux: 模块化设计:核心 + 外围功能性模块组成 内核支持动态装卸载模块  .ko文件:kernel object 微内核:内核子系统 windows,s

系统初始化

系统初始化 1.sudo su – 切换到root用户 2.卸载openjdk1.6和jdk1.7 yum remove java-1.6.0-openjdk*java-1.7.0-openjdk*  //centos6.7 [email protected]:~# apt-get purge openjdk*  //ubuntu12.04 [email protected]:~# mv jdk1.8.0_51 /usr/local/ [email protected]:~# cd /usr/l

linux系统监控工具汇总及几个小脚本 , 系统初始化脚本

重要性能监测工具:top.vmstat.w.uptime.ps.free.iostat.netstat./proc等 需要监视Linux服务器的性能?大多数Linux发行版都集成了一些监视工具.这些工具可以获取有关系统活动的信息的详细指标.通过这些工具,你可以发现产生系统性能问题可能存在原因.下面讨论的是一些最基本的命令,它涉及到系统分析和调试服务器等一些问题,如:1.    找出系统瓶颈问题.2.    磁盘 (储存) 瓶颈问题.3.    CPU和内存瓶颈问题.4.    网络瓶颈问题.#

Linux——解决RedHat6/CentOS6系统中“弹出界面eth0:设备似乎不存在”的问题

刚刚在自己的CentOS6系统中执行service network restart时,竟然提示: 弹出界面 eth0: 设备 似乎不存在, 初始化操作将被延迟.   [失败] 这事可真神奇.于是手动编辑网卡配置文件/etc/sysconfig/network-scripts/ifcfg-eth0,根据自己的忘记进行了一番设置,再次执行service network restart,竟然又弹出一个: 弹出界面 eth0: 错误:没有找到合适的设备:没有找到可用于连接 'eth0' 的设备. 后来发

11、系统初始化流程、拯救模式 学习笔记

POST --> BIOS (Boot Sequence) --> MBR(bootloader) --> Kernel (CentOS5: initrd, CentOS6: initramfs) --> /sbin/init (CentOS5:/etc/inittab, CentOS6: /etc/inittab, /etc/init/*.conf) /etc/inittab: CentOS5: 每一行定义一个操作 CentOS6: upstart 脚本 运行级别: 0-6: 7

基于kickstart实现网络共享以及制作光盘和U盘实现半自动安装centos6系统

一.使用kickstart实现网络共享半自动化安装. ①在centos6上安装system-config-kickstart.ftpd包.   ②使用system-config-kickstart命令,编辑里面的内容,该文件生成ks.cfg文件. 修改完之后在File菜单中选择Save保存,在最上面输入ks.cfg名字,选择保存位置,点击Save按钮即可. #platform=x86, AMD64, or IntelEM64T #version=DEVEL     # Firewall conf

制作一个最小的CentOS6系统

制作一个最小的CentOS6系统 首先要明确一下CentOS6启动的过程 POST -> BootSequence(BIOS) -> Bootloader(MBR) -> Kernel(ramdisk) -> rootfs -> switchroot -> /sbin/init -> (/etc/inittab,/etc/init/*.conf) -> 设置默认运行级别 -> 系统初始化脚本 ->关闭或启动对应级别下的服务 -> 启动终端