#!/bin/bash
#初始化脚本
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin #设置系统环境变量
echo "nameserver 114.114.114.114" >> /etc/resolv.conf
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
logfile="/tmp/init_centos_`date +%y%m%d%H%M%S`.log"
test -d /data/soft || mkdir -p /data/soft
test -d /data/sh || mkdir /data/sh
#配置防火墙----------------------------------------------------------------------------
setenforce 0 >>$logfile 2>&1
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
cat > /etc/sysconfig/iptables << "XX"
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
# -m state --state NEW 这个条件是当connection的状态为初始连接(NEW)时候的策略。
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m multiport --dport 12220,80 -j ACCEPT
COMMIT
XX
#iptables-restore /etc/sysconfig/iptables
chkconfig --level 3 iptables on
chkconfig --level 2345 crond on
sysctl -p >>$logfile 2>&1
#配置ssh-----------------------------------------------------------------------------
mkdir -p /root/.ssh/
chmod -R 700 /root/.ssh/
cat > /root/.ssh/authorized_keys << "XX"
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDa+aRKwQEKOohM6e55cjDyLl2FUFwBdBBXBXtfrMTS81ILsBUXtbR5iF3iaraQI7sqSRI1NvB4jopVCR71IVQNVS7WxPpHKPaSmqcRd6NkpmrWvzPnRwOJTaxOaGNipvz1JhUQiaV0qMWah5XRqODKxlp+L3TbjdTuwoNlk8Tx0w== sijinhui@4399.net
XX
sed -i "s#PasswordAuthentication yes#PasswordAuthentication no#g" /etc/ssh/sshd_config
sed -i "s@#UseDNS yes@UseDNS no@" /etc/ssh/sshd_config
echo "LogLevel DEBUG" >> /etc/ssh/sshd_config
sed -i 's/\#Port 22/Port 12220/g' /etc/ssh/sshd_config
#设置.bashrc--------------------------------------------------------------------------------------------------
eth0ip=`ifconfig eth0 |grep "inet addr"| cut -f 2 -d ":"|cut -f 1 -d " "`
cat > /root/.bashrc << "XX"
# .bashrc
# User specific aliases and functions
alias vi='vim'
alias grep='grep --col'
alias rm='rm -if'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
export LANG=en_US.UTF-8
export PS1='[\u@$eth0ip \W]# '
XX
#登陆显示磁盘空间
cat > /root/.bash_profile << "XX"
# .bash_profile
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
PATH=$PATH:$HOME/bin
export PATH
echo '=========================================================='
df -lh
date
echo '=========================================================='
XX
#设置系统时区---------------------------------------------------------------------------------------------
rm -f /etc/localtime
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
cat > /etc/sysconfig/clock << "XX"
ZONE="Asia/Shanghai"
UTC=false
ARC=false
XX
cat > /var/spool/cron/root << "XX"
*/5 * * * * /usr/sbin/ntpdate ntp0.cs.mu.OZ.AU > /dev/null 2>&1
XX
#修改时间同步配置
/etc/init.d/ntpd stop
/usr/sbin/ntpdate 210.72.145.44 >>$logfile 2>&1
/etc/init.d/ntpd start
cat > /etc/ntp.conf << "XX"
server 202.120.2.101
server ntp.api.bz
server 0.pool.ntp.org
server hk.pool.ntp.org
server jp.pool.ntp.org
driftfile /var/db/ntp.drift
XX
echo "SYNC_HWCLOCK=YES" >> /etc/sysconfig/ntpd
echo '' >> /etc/rc.local
echo '/usr/sbin/ntpdate asia.pool.ntp.org> /dev/null 2>&1' >> /etc/rc.local
echo '/sbin/hwclock --systohc' >> /etc/rc.local
echo 'service ntpd start' >> /etc/rc.local
echo '' >> /etc/rc.local
cat > /data/sh/check_ntpd.sh <<"XX"
#!/bin/bash
ntpdpro=`ps aux |grep ntpd |grep -Ev "grep|$0`
if [ -z "$ntpdpro" ];then
/etc/init.d/ntpd restart
fi
XX
chmod 700 /data/sh/check_ntpd.sh
/sbin/hwclock --systohc >>$logfile 2>&1
sed -i '/ntp/d' /var/spool/cron/root
echo "* */1 * * * /bin/bash /data/sh/check_ntpd.sh > /dev/null 2>&1" >> /var/spool/cron/root
service ntpd restart
#安装第三方yum源-------------------------------------------------------------------------------
yum_epel() {
cd /data/soft
#priorities插件的作用主要是设置调用源时的优先级的,一般将官方的优先级设置为最高
yum -y install yum-plugin-priorities
sed -i '/priority/d' /etc/yum.repos.d/CentOS-Base.repo
sed -i 's/]/]\npriority=2/g' /etc/yum.repos.d/CentOS-Base.repo
sed -i '/\[base\]/{n;s/priority=2/priority=1/g}' /etc/yum.repos.d/CentOS-Base.repo
wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
sed -i 's/\[epel\]/\[epel]\npriority=10/g' /etc/yum.repos.d/epel.repo
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
sed -i '/priority/d' /etc/yum.repos.d/rpmforge.repo
sed -i 's/\[rpmforge\]/\[rpmforge]\npriority=11/g' /etc/yum.repos.d/rpmforge.repo
yum makecache
yum -y update
}
yum_epel >>$logfile 2>&1
yum -y install --skip-broken autoconf automake m4 bind-utils cmake curl dstat expat-devel gcc gcc-c++ glibc-devel groff gtk2-devel kernel-devel libcap-deve libtool libxslt lrzsz lsof make man mlocate mtr ncurses-devel ntpdate ntp openssh-clients openssl-devel pcre pcre-devel pkgconfig php rpm-devel rsync smartmontools sysstat tcl-devel telnet vim* wget >>$logfile 2>&1
分享到:
相关推荐
最近频繁在Centos7.3上安装oracle,设置基础安装环境工序太多,所以写了一个脚本起到能在linux一键初始化oracle11g安装环境脚本的目的,其中主要更改主机名、关闭防火墙、禁用Selinx、配置用户和组、创建目录、更改...
初始化Linux操作系统的开发环境相关配置
这是一个初始化服务器一键部署脚本,希望可以帮助到大家, 此脚本由“大宝不胖,但是很壮”“黑哥”编写 #如有不足的地方或是疑问请联系我 #邮箱:db88788@163.com #感谢大家的使用,谢谢。
本文结合Understanding Linux Kernel英文版第三版以及Linux2.6.11源代码详细分析了Linux exec函数族调用时内核对于进程切换所完成的一系列关于进程运行环境的初始化的过程。
1. 添加阿里云的源 2. 安装常用软件包 3. docker 安装与配置 ...27. git 初始化本地仓库 28. Nacos 安装与配置 29. ruby 安装与配置 30. Go 语言的安装与配置 31. MongoDB 安装与配置 32. 添加中文字符集
该Shell脚本主要用于新安装Linux服务器系统的初始化工作,具体包括: 关闭IPv6模块 关闭SELinux 让vim显示颜色 设置系统语言编码 优化系统服务 内核参数优化等。 可以根据自己的实际情况修改,可用于生产环境。原...
初始化-Docker环境.pdf
5.1 初始化同步与互斥环境 148 5.1.1 屏蔽中断 148 5.1.2 启动大内核锁 152 5.1.3 注册时钟通知链 153 5.1.4 激活第一个CPU 155 5.1.5 初始化地址散列表 160 5.1.6 打印版本信息 161 5.2 执行setup_arch()函数 166 ...
linux环境下MySQL源码编译安装及初始化,使用cmake安装,如何添加配置文件,配置客户端,以及初始化。
Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。...本文介绍了在Linux系统环境下的Socket建立、配置、连接建立、数据传输的方法。
linux环境下db2安装配置,包括初始化用户权限,表空间,建数据库等。
Linux系统移植的一般步骤:(1)开发环境的搭建(2)系统...通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境
init_linux 使用我的首选设置初始化新Linux环境的脚本
用于嵌入式的文件系统启动。设置基本的环境变量。设置ip地址等等。
一份完整服务器环境部署步骤,教你从一个干净的环境中一步一步...初始化MySQL,redis容器;docker的基础命令;防火墙的命令;jdk环境部署;NTP时间同步;owl的相关操作;系统简单的调优;neo4j等命令操作等,值得你拥有
linux系统安装教程 教程简介 01Linux介绍-Linux和window区别及Linux历史,avi ...05Linux安装环境-MySQL-MySQL初始化密码. avi 05redis常用命令-list命令-扩展命令(一).avi 06Linux安装-虚拟机软件介绍及虚拟
1. 准备java环境,jdk1.8 检查java是否安装,如果没有则先安装java环境:java -version 2. 安装Jenkins 官网:...
所以这里也以ubuntu16.4作为办公开发环境来进行一些初始化。 打开命令行 ubuntu16.04版本 右键——打开终端 有的Ubuntu 14.04没有自带右键打开终端功能,用起来非常不方便。今天偶尔想起来,网上搜了一下,方法...
linux下安装weblogic以及Oracle、jdk 的一些过程。以及oracle的一些初始化操作
Oracle12c双节点RAC在Linux7环境下的部署,本文档适用对象为 DBA 或具备一定 Linux/Oracle 基础知识的人员, 对 Oracle ...操作系统下的 Oracle12.2.0.1 双节点 RAC 在 OEL 7.4 环境下的部署及初始化配置调整。