分享我自己的一个最小化安装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 08:53
下一篇 2017-05-07 10:03

相关推荐

  • 马哥教育网络班21期-第2周课程练习

    1、 Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 cp 复制、mv 剪切、rm 删除 tree,mkdir 2、 bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。 echo$ 查看命令执行状态返回值 。 返回0,则表示执行成功。 返回非零,则表示执行失败。(1-255) 3、请使用命令行展开功能来完成…

    Linux干货 2016-07-17
  • Linux磁盘管理进阶

    Linux磁盘管理进阶 dd命令 SWAP与移动介质 磁盘配额 RAID dd命令 dd – convert and copy a file Copy a file, converting and formatting according&…

    Linux干货 2016-09-05
  • PXE原理详解及实践

    一、PXE简介 PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由支持通过网络启动操作系统,再启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol…

    Linux干货 2017-01-10
  • Linux LVM介绍及管理

    什么是LVM? LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,用来提高磁盘分区管理的灵活性。系统管理员可以通过LVM轻松的管理磁盘分区,如:将若干个磁盘分区或物理磁盘连接为一个整块的卷组 (volumegroup),形成一个存储池。管理员可以…

    Linux干货 2016-08-30
  • 文件查找命令Find

    文件查找命令find Find:在文件上查找符合条件的文件,是个实时的查找工具,通过遍历指定路径完成文件查找 工作特点: l  查找速度慢 l  精度查找 l  实时查找 l  可能只搜索用户具有读取和执行权限的目录   语法: find [option]…[查找路径][查找条件][处理动作]   …

    Linux干货 2016-08-16
  • python内建函数

    # Python内建函数(部分)– 标识id返回对象的唯一标识,CPython返回内存地址– 哈希hash()返回一个对象的哈希值– 类型type()返回对象类型– 类型转换float() int() bin() hex() oct() bool() list() tuple() dict()set() com…

    Linux干货 2017-10-09