分享我自己的一个最小化安装CentOS6的初始化脚本

#!/bin/bash
#
#Filename:postinstall_init.sh
#Description:系统安装完成后,对系统进行一些配置,以符合自己的试验环境
#Author:renpingsheng
#Email:995883352@qq.com
#Version:1.0
#Date:2017.5.5


setenforce 0

#更改selinux的配置文件,禁用selinux,成功则打印“配置完成”
sed -i.bak '1,$s@SELINUX=enforcing@SELINUX=disabled@g' /etc/selinux/config && echo "SElinux is setting OK!"

#定义一些常用的别名
cat <<EOF >>/root/.bashrc && echo "The file bashrc is setting ok!"
alias "cdnet"="cd /etc/sysconfig/network-scripts/"
alias "grep"="grep --color=auto"
alias "renet"="service network restart"
EOF


#备份系统已有的repo文件
cd /etc/yum.repos.d/
[ -d repo_bak ] || mkdir repo_bak
mv *.repo repo_bak
echo "The old repo file is backup ok!"

#配置内网的yum源
cat <<EOF > CentOS-base.repo
[CentOS-base]
name=CentOS-base
baseurl=http://172.16.0.1/cobbler/ks_mirror/CentOS-6.8-x86_64/
enabled=1
gpgcheck=0

[epel]
name=CentOS-epel
baseurl=http://172.16.0.1/fedora-epel/6/x86_64/
enabled=1
gpgcheck=0
EOF
echo "The repository is setting ok!"

#清空yum缓存,生成新的yum缓存
yum clean all && yum makecache &> /dev/null

#安装一些常用的软件
for software in vim createrepo psmisc tree lftp htop lrzsz nmap wget traceroute; do
    rpm -q $software
    #判断软件是否已经安装
    if [ $? == 1 ]; then 
        yum install -y $software >> /dev/null && echo "The package $software is install OK!"
    else
        echo "The Package $software is already installed!"
    fi
done
#释放定义的变量
unset software

#安装系统开发组件
yum groupinstall -y "Development tools" >> /dev/null && echo "Development tools suite is installed ok!"

#配置vim别名
echo "alias vi=vim" >> /root/.bashrc

#配置vim环境
cat <<EOF >> /root/.vimrc && echo "The vimrc file is setting ok!"
set hlsearch
set nu
set ai
set ic
set sm
syntax on
set fileformat=unix
EOF

#使.bashrc文件立即生效
source /root/.bashrc

#使.vimrc文件立即生效
source /root/.vimrc

#重启系统
shutdown -r now

原创文章,作者:renpingsheng,如若转载,请注明出处:http://www.178linux.com/74868

(0)
renpingshengrenpingsheng
上一篇 2017-05-07
下一篇 2017-05-07

相关推荐

  • 变量、脚本、条件测试

    一、编程基础   程序:指令+数据  计算机:运行二进制指令 程序编程风格:  过程式:以指令为中心,数据服务于指令  对象式:以数据为中心,指令服务于数据shell程序:提供了编程能力,解释执行编程语言:  编译:高级语言–>编译器–>目标代码  解释:高级语言…

    Linux干货 2016-08-15
  • keepalive配置文件详解

    第一部分:全局定义块 1、email通知。作用:有故障,发邮件报警。 2、Lvs负载均衡器标识(lvs_id)。在一个网络内,它应该是唯一的。 3、花括号“{}”。用来分隔定义块,因此必须成对出现。如果写漏了,keepalived运行时,不会得到预期的结果。由于定义块内存在嵌套关系,因此很容易遗漏结尾处的花括号,这点要特别注意。 global_defs{ n…

    2017-09-17
  • 第六周作业

    请详细总结vim编辑器的使用并完成以下练习题 基本模式:     编辑模式,命令模式     输入模式     末行模式         内置的命令行接口 打开…

    Linux干货 2017-02-14
  • 15磁盘管理

    在系统中,常见的硬盘接口有分两类:并行的和串行的 并行: IDE: 133MB/s SCSI: 640MB/s 串行: SATA: 6Gbps SAS: 6Gbps USB: 480MB/s 存储设备的设备文件命名方式大致为:/dev/DEV_FILE IDE: /dev/hd#  #–>0,1,2,3 SCSI,SATA,SAS…

    Linux干货 2016-12-02
  • rsyslog+mysql+loganalyzer 搭建日志服务器及监控

    rsyslog 日志:历史事件; 历史事件:时间、地点、事件; syslog: klogd:kernel yslogd:system(application) 事件记录格式:日期时间 主机 进程[pid]:事件内容; C/S架构;通tcp或udp协议的服务完成日志记录的传送; rsyslog: rsyslog的特性: – 多线程; –…

    Linux干货 2017-01-10
  • 正则表达式

    正则表达式:             由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符)不表示字符            字面意义,而表示控制或通配的功能程序支持:  grep,sed,awk,vim,less…

    2017-08-05