#!/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
分享到:
相关推荐
"嵌入式Linux系统初始化分析" 嵌入式Linux系统初始化是指在嵌入式系统中,Linux操作系统的初始化过程。该过程涉及到系统的启动、内核的加载、驱动程序的安装、文件系统的挂载等多个方面。在嵌入式Linux系统中,初始...
在Linux操作系统中,系统初始化是一个复杂且有序的过程,它确保了操作系统在启动后能正常运行所有必要的服务和程序。这个过程涉及到多个脚本和配置文件的执行,其中`rc.sysinit`和`rc.local`是两个关键的初始化脚本...
最近频繁在Centos7.3上安装oracle,设置基础安装环境工序太多,所以写了一个脚本起到能在linux一键初始化oracle11g安装环境脚本的目的,其中主要更改主机名、关闭防火墙、禁用Selinx、配置用户和组、创建目录、更改...
Linux系统环境初始化脚本
总的来说,使用Python初始化Linux开发环境涉及多方面的知识,包括但不限于Python环境的设置、虚拟环境管理、包管理、配置管理工具的使用、系统级别的文件和目录操作,以及持续集成和监控工具的集成。熟悉这些概念和...
Linux系统内存磁盘初始化技术,即initrd(Initial RAM Disk),是Linux内核启动过程中的一个重要环节,尤其在处理复杂的系统引导场景时。initrd是一个临时的根文件系统,它在系统启动时被加载到内存中,目的是为了...
"Linux+系统初始化" Linux 系统初始化是指在 Linux 操作系统中对服务器进行初始化设置,以便服务器能够正确地运行和提供服务。该过程主要涉及到服务器的网络配置、权限申请、虚拟机资源申请等几个方面。 在 Linux ...
在Linux系统中,初始化程序是启动过程中的关键部分,它负责设置硬件环境,加载必要的内核模块,并为用户空间的应用程序提供运行平台。本章主要聚焦于“main.c”文件,这是Linux内核启动流程中的一部分,用于实现系统...
在"mmu.rar_2410 mmu_linux mmu初始化_mmu"这个压缩包中,我们主要关注的是针对2410处理器的Linux MMU初始化过程。 2410是Samsung公司基于ARM920T内核设计的一款处理器,常用于嵌入式系统。它包含了MMU功能,允许...
Linux 初始化是指在 Linux 操作系统中安装和配置的过程,包括安装 Linux 操作系统、配置基本环境、安装 PyCharm 等开发工具。在本文中,我们将详细介绍 Linux 初始化和 PyCharm 安装的过程。 一、Linux 初始化 ...
- 初始化系统环境变量,如PATH等。 - 设置终端控制台,准备用户登录界面。 5. **用户登录**:完成以上步骤后,系统会显示登录界面,等待用户输入用户名和密码。 #### 四、与启动相关的代码文件 - **Bootsect.s...
### Linux内核初始化及启动之用户模式开始文 #### Linux内核初始化流程概览 Linux内核初始化是一个复杂且精细的过程,它确保操作系统能够正确地加载并准备好接收用户级应用程序。这一过程通常从BIOS加载内核镜像...
在深入探讨Linux环境下Atheros AR8328网络芯片的初始化与配置流程前,我们先对Atheros AR8328有一个基本的认识。AR8328是一款高性能、高集成度的千兆以太网交换机芯片,广泛应用于各种网络设备中,包括路由器、NAS...
### Linux内核初始化及启动之用户模式开始 #### 核心知识点概述 本文将深入探讨Linux内核在启动进入用户模式后所涉及的关键步骤和技术细节。主要包括PCI设备初始化、网络协议栈初始化、交换守护进程kswapd的工作...
### Linux内核初始化及启动之用户模式开始 #### 一、PCI 初始化 在Linux内核启动过程中,PCI(Peripheral Component Interconnect,外围组件互连)...通过这些初始化操作,Linux内核能够建立起稳定、高效的运行环境。
总结来说,inittab是Linux系统初始化的核心,它决定了系统启动时的运行级别和服务启动顺序。理解inittab的结构和作用对于深入理解Linux启动流程至关重要。通过调整inittab,我们可以定制系统的启动行为,满足特定的...
- **准备实模式下C语言环境**: 实现C语言环境的基本设置,如栈和堆的初始化。 - **实模式代码main函数**: - **复制初始化头变量**: 将初始化信息复制到适当的位置。 - **初始化堆**: 为动态内存分配准备空间。 -...
以上步骤为内核初始化过程中的几个关键环节,它们共同构建了Linux系统的基本运行环境。通过深入了解这些过程,我们不仅可以更好地理解Linux内核的工作原理,还能在此基础上进行进一步的定制和优化,以满足特定的应用...
`Setup.s`是内核启动时运行的第一个程序,它负责初始化硬件环境,如设置内存管理、初始化中断处理等基本功能。这部分的实验可能包括理解汇编代码,分析其功能,并可能涉及修改和测试这些设置。 第 4 章介绍了模块的...
### Linux内核Socket相关协议栈初始化详解 #### 引言 Linux内核中关于socket相关的协议栈初始化是一项复杂而精细的任务。本文旨在深入探讨Linux内核中与socket相关的协议栈初始化过程,帮助读者理解其核心机制和...