分享我自己的一个最小化安装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

相关推荐

  • shell编写的linux命令练习工具

    linux常用命令加选项,有成百上个,仅仅靠背诵忘记得太快,所以写了此脚本,便于对linux命令的练习,希望能帮助到大家。 运行脚本效果如下: 上边两图一个是运行脚本时的截图,另一个为题库的格式(@做分隔符,所以如果题目中有@一定要替换掉) 下面附上源码 #!/bin/bash#版本号:1.0 #作者:Mr.L #WX:504498722FILE=/root…

    2017-03-19
  • centos6.9实现网卡bonding

    centos6.9实现网卡bonding 为什么要用bonding  将多块网卡配置同一IP地址实际中是不可能的。通过bonding,虚拟一块网卡对外提供连接,物理网卡被修改为相同的MAC地址,这样可以实现多块网卡绑定同一IP地址,对外提供服务。用于网络负载均衡和网络冗余。 工作模式  bonding的模式:0-6,即:7种模式,这里我们…

    2017-08-20
  • Linux文件查找之find命令详解

    文件查找 文件查找就是在在文件系统上查找符合条件的文件; 文件查找分为: 实时查找:遍历所有文件进行条件匹配 非实时查找:根据所以查找 locate: 1、查询系统上预建的文件索引数据库 /var/lib/mlocate/mlocate.db 2、locate属于非实时查找,依赖于事先构建的索引; 索引的构建是在系统较为空闲时自动进行(周期性任务);管理员手…

    Linux干货 2016-08-18
  • Linux磁盘与文件系统管理

    Linux磁盘管理 硬盘的物理组成 柱面 硬盘与读存数据相关的部件:圆形硬盘片(一或多个)、磁头、机械臂。 硬盘片上有磁道,多个硬盘片上的同一磁道形成柱面,这个柱面就是分区时形成的最小单位,windows的C盘(系统盘)分区就是在最外层的一堆柱面上。 扇区 硬盘上的最小存储单位叫扇区,每个扇区储存512字节。在读取数据的时候,硬盘会转动,利用机械手臂将磁头移…

    Linux干货 2016-11-22
  • 关于 进程和性能监控

            Linux系统状态的查看及管理工具:     pstree, ps, pidof, pgrep, top, htop, glance,pmap, vmstat, dstat, kill, pkill, job, bg, fg, nohup pstree命…

    系统运维 2016-09-11
  • 作业:0805

    1.查出用户UID最大值的用户名、UID及shell类型 > cat /etc/passwd|cut -d: -f 1,3,7 |sort -t: -k2 -n| tail -1 2.查出/tmp的权限,以数字方式显示 > st…

    Linux干货 2016-08-08