初始化CentOS系统的初始化脚本

#!/bin/bash
#
#********************************************************************
#Author: kjAlbert
#Date: 2019-10-11
#FileName: sysinit.sh
#Description: Init CentOS Linux system
#Copyright (C): 2019 All rights reserved
#********************************************************************
#
#检测root权限
if [ $UID -ne 0 ];then
echo "没有root权限,无法执行!"
exit 1
fi
#检测version
if [ -e /etc/redhat-release ];then
VER=`sed -nr 's@.* ([0-9]).*@\1@p' /etc/redhat-release`
else
echo '这不是redhat和centos系列的系统,请使用其他脚本!!'
exit 10
fi
bak=bak`date +%F_%T`
#cenos6:
case $VER in
6)
#firewalld
service iptalbes stop &>/dev/null
chkconfig iptables off &>/dev/null
echo "关闭防火墙完成"
#selinux
sed -i 's@SELINUX=enforcing@SELINUX=disabled@' /etc/selinux/config &>/dev/null
echo "关闭SELINUX完成"
#PS1
echo 'PS1="\033[1;33m[\u@\h \t \W]\$\033[0m"' >>/etc/profile
echo "命令提示符颜色修改完成,当前颜色:黄色"
#init 3
sed -i 's/\(^[^#].*\)[0-9]\(.*\)/\13\2/' /etc/inittab
echo "修改启动级别为3完成"
#yum.repos
ping mirrors.aliyun.com -c 1 &>/dev/null
if [ $? -eq 0 ];then
mkdir -p /etc/yum.repos.d/$bak &>/dev/null
mv /etc/yum.repos.d/* /etc/yum.repos.d/$bak/ &>/dev/null
echo -e "[centos$VER]\nname=centos$VER\nbaseurl=https://mirrors.aliyun.com/centos/6/os/x86_64/\ngpgcheck=0\nenabled=1\n\n[epel]\nname=aliyunEPEL\nbaseurl=https://mirrors.aliyun.com/epel/6/x86_64/\ngpgcheck=0\nenabled=1" >/etc/yum.repos.d/aliyun.repo
echo "yum源配置完成"
echo "yum源列表"
echo -e "***************************************\n"
yum repolist
echo -e "\n***************************************"
else
echo '网络不通,请检查网络!'
fi
#autofs
rpm -q autofs &>/dev/null
if [ $? -eq 0 ];then
echo 1 &>/dev/null
else
yum -y install autofs &>/dev/null
fi
service autofs start &>/dev/null
chkconfig autofs on &>/dev/null
echo "已具有自动挂载光盘功能"
#.vimrc和.bashrc的配置
echo -e 'set autoindent
set nu
syntax on
autocmd BufNewFile *.sh exec ":call SetTitle()"
func SetTitle()
if expand("%:e") == "sh"
call setline(1,"#!/bin/bash")
call setline(2,"#")
call setline(3,"#********************************************************************")
call setline(4,"#Author: kjAlbert")
call setline(5,"#Date: ".strftime("%Y-%m-%d"))
call setline(6,"#FileName: ".expand("%"))
call setline(7,"#Description: The test script")
call setline(8,"#Copyright (C): ".strftime("%Y")." All rights reserved")
call setline(9,"#********************************************************************")
call setline(10,"#")
call setline(11,"")
endif
endfunc
autocmd BufNewFile * normal G' >~/.vimrc
;;
#cenos7:
7)
#firewalld
systemctl disable --now firewalld.service &>/dev/null
echo "关闭防火墙完成"
#selinux
sed -i 's@SELINUX=enforcing@SELINUX=disabled@' /etc/selinux/config &>/dev/null
echo "关闭SELINUX完成"
#PS1
echo 'PS1="\033[1;36m[\u@\h \t \W]\\$\033[0m"' >>/etc/profile
echo "命令提示符颜色修改完成,当前颜色:青色"
#init 3
systemctl set-default multi-user.target &>/dev/null
echo "修改启动级别为3完成"
#yum.repo
mkdir /etc/yum.repos.d/$bak &>/dev/mull
mv /etc/yum.repos.d/* /etc/yum.repos.d/$bak/ &>/dev/null
echo -e "[centos$VER]\nname=centos$VER\nbaseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/\ngpgcheck=0\nenabled=1\n\n[epel]\nname=aliyunEPEL\nbaseurl=https://mirrors.aliyun.com/epel/7/x86_64/\ngpgcheck=0\nenabled=1" >/etc/yum.repos.d/aliyun.repo
echo "yum源配置完成"
echo "yum源列表"
echo -e "***************************************\n"
yum repolist
echo -e "\n***************************************"
#autofs
rpm -q autofs &>/dev/null
if [ $? -eq 0 ];then
echo 222 &>/dev/null
else
yum -y install autofs &>/dev/null
fi
systemctl enable --now autofs &>/dev/null
echo "已具有自动挂载光盘功能"
#network网卡改名为eth
grep "\<net.ifnames=0\>" /etc/default/grub
if [ $? -ne 0 ];then
sed -i 's@quiet@quiet net.ifnames=0@' /etc/default/grub
grub2-mkconfig -o /etc/grub2.cfg &>/dev/null
echo "网卡名称修改完成"
fi
#.vimrc和.bashrc的配置
echo -e 'set autoindent
set nu
syntax on
autocmd BufNewFile *.sh exec ":call SetTitle()"
func SetTitle()
if expand("%:e") == "sh"
call setline(1,"#!/bin/bash")
call setline(2,"#")
call setline(3,"#********************************************************************")
call setline(4,"#Author: kjAlbert")
call setline(5,"#Date: ".strftime("%Y-%m-%d"))
call setline(6,"#FileName: ".expand("%"))
call setline(7,"#Description: The test script")
call setline(8,"#Copyright (C): ".strftime("%Y")." All rights reserved")
call setline(9,"#********************************************************************")
call setline(10,"#")
call setline(11,"")
endif
endfunc
autocmd BufNewFile * normal G' >~/.vimrc
;;
#cenos8:
8)
#firewalld
systemctl disable --now firewalld.service &>/dev/null
echo "关闭防火墙完成"
#selinux
sed -i 's@SELINUX=enforcing@SELINUX=disabled@' /etc/selinux/config &>/dev/null
echo "关闭SELINUX完成"
#PS1
echo 'PS1="\033[1;32m[\u@\h \t \W]\\$\033[0m"' >>/etc/profile
echo "命令提示符颜色修改完成,当前颜色:绿色"
#init 3
systemctl set-default multi-user.target &>/dev/null
echo "修改启动级别为3完成"
#yum.repo
mkdir /etc/yum.repos.d/$bak &>/dev/null
mv /etc/yum.repos.d/* /etc/yum.repos.d/$bak/ &>/dev/null
echo -e "[centos$VER]\nname=centos$VER\nbaseurl=https://mirrors.aliyun.com/centos/8/AppStream/x86_64/os/\ngpgcheck=0\nenabled=1\n\n[cenos8base]\nname=centos8Base\nbaseurl=https://mirrors.aliyun.com/centos/8/BaseOS/x86_64/os/\ngpgcheck=0\nenabled=1\n\n[epel]\nname=aliyunEPEL\nbaseurl=https://mirrors.aliyun.com/epel/8/Everything/x86_64/\ngpgcheck=0\nenabled=1" >/etc/yum.repos.d/aliyun.repo
echo "yum源配置完成"
echo "yum源列表"
echo -e "***************************************\n"
yum repolist
echo -e "\n***************************************"
#autofs
rpm -q autofs &>/dev/null
if [ $? -eq 0 ];then
echo 333 &>/dev/null
else
yum -y install autofs &>/dev/null
fi
systemctl enable --now autofs &>/dev/null
echo "已具有自动挂载光盘功能"
#network网卡改名为eth
grep "\<net.ifnames=0\>" /etc/default/grub
if [ $? -ne 0 ];then
sed -i 's@quiet@quiet net.ifnames=0@' /etc/default/grub
grub2-mkconfig -o /etc/grub2.cfg &>/dev/null
echo "网卡名称修改完成"
fi
#.vimrc和.bashrc的配置
echo -e 'set autoindent
set nu
syntax on
autocmd BufNewFile *.sh exec ":call SetTitle()"
func SetTitle()
if expand("%:e") == "sh"
call setline(1,"#!/bin/bash")
call setline(2,"#")
call setline(3,"#********************************************************************")
call setline(4,"#Author: kjAlbert")
call setline(5,"#Date: ".strftime("%Y-%m-%d"))
call setline(6,"#FileName: ".expand("%"))
call setline(7,"#Description: The test script")
call setline(8,"#Copyright (C): ".strftime("%Y")." All rights reserved")
call setline(9,"#********************************************************************")
call setline(10,"#")
call setline(11,"")
endif
endfunc
autocmd BufNewFile * normal G' >~/.vimrc
;;
*)
echo '垓版本开发中,敬请期待!'
exit 10
;;
esac
echo -e "***************************************\n"
echo '初始化完成感谢使用!!'
echo -e "\n***************************************"
#echo -n "配置完成需要重启CentOS(立即重启Y/稍后手动重启n):"
#REBOOT=Y
#read REBOOT
#if [[ $REBOOT =~ [Nn][Oo]? ]];then
# echo "选择稍后手动重启..."
# exit 0
#fi
reboot

执行方式

将脚本放在局域网中的一台http服务器上

curl http://xxx.xxx.xxx.xxx/sysinit.sh |bash

即可执行,完成后自动重启

关于.bashrc中环境变量,别名等内容可根据自己喜好添加

bash-1 初始化CentOS系统的初始化脚本的更多相关文章

  1. centos系统将shell脚本改成systemctl启动的形式

    说明: CentOS 7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分,像需要开机不登陆就能运行的程序,就将程序存在系统服务里,即 ...

  2. Ubuntu 系统服务器初始化配置、安全加固、内核优化和常用软件安装的Shell脚本分享

    转载自:https://www.bilibili.com/read/cv13875402?spm_id_from=333.999.0.0 描述: 适用于企业内部 Ubuntu 操作服务器初始化.系统安 ...

  3. CentOS7 系统服务器初始化配置、安全加固、内核升级优化常用软件安装的Shell脚本分享

    转载自:https://www.bilibili.com/read/cv13875630?spm_id_from=333.999.0.0 描述: 适用于企业内部 CentOS7 系列操作服务器初始化. ...

  4. centos系统初始化流程及实现系统裁剪

    Linux系统的初始化流程: POST:ROM+RAM BIOS: Boot Sequence MBR: 446:bootloader 64: 分区表 2: 5A kernel文件:基本磁盘分区 /s ...

  5. centos 系统初始化

    centos 系统初始化 #!/bin/bash # author cfwl create date of 2012-10-21 # blog http://cfwlxf.blog.51cto.com ...

  6. linux基础-第十单元 系统的初始化和服务

    第十单元 系统的初始化和服务 Linux系统引导的顺序 Linux系统引导的顺序 BOIS的初始化和引导加载程序 什么是BIOS GRUB程序和grub.conf文件 什么是grub grub配置文件 ...

  7. 浅析 Linux 初始化 init 系统,第 1 部分: sysvinit 第 2 部分: UpStart 第 3 部分: Systemd

    浅析 Linux 初始化 init 系统,第 1 部分: sysvinit  第 2 部分: UpStart 第 3 部分: Systemd http://www.ibm.com/developerw ...

  8. saltstack 初始化LINUX系统

    前面我们已经了解了saltstack的基础功能,现在就可以使用saltstack为初始化新安装的linux系统. 初始化列表: 1.关闭selinux 3.修改sshd配置文件 4.内核优化 5.ul ...

  9. 温故之--Linux 初始化 init 系统

    参选URL: http://www.ibm.com/developerworks/cn/linux/1407_liuming_init1/index.html 本系列一共三篇,看完记住,那水平就不一样 ...

随机推荐

  1. docker 查看系统进程pid

    docker inspect -f '{{.State.Pid}} {{.Id}}' $(docker ps -a -q)

  2. Kummer定理

    简单学习了一下\(Kummer\)定理,参考了几篇不错的资料,放下链接 1.Legendre公式和Kummer定理 2.Kummer定理-超级Lucas定理-数论-组合数学-学习笔记 3.百度百科 证 ...

  3. 数据传输还用 CPU?不如交给 DMA 吧!

    https://mp.weixin.qq.com/s/CQQSV26Xvmt2xuAPFnh-YQ 鱼鹰  鱼鹰谈单片机 3月3日 预计阅读时间: 9 分钟 "数据传输耗时又耗力?交给 DM ...

  4. 【luoguP1311 】选择客栈

    题目描述 丽江河边有nn家很有特色的客栈,客栈按照其位置顺序从 11到nn编号.每家客栈都按照某一种色调进行装饰(总共 kk 种,用整数 00 ~k-1k−1 表示),且每家客栈都设有一家咖啡店,每家 ...

  5. C#实现代码生成器

    最近在用layui做后台管理,增删改查这些一成不变的东西写起来浪费大量时间,于是做了个简单的代码生成器快速生成 代码生成器的原理其实很简单,都是基于模板实现替换,Razor是个不错的选择(或者Nvel ...

  6. Django基础之Session

    1. Session的由来 Cookie虽然在一定程度上解决了“保持状态”的需求,但是由于Cookie本身最大支持4096字节,以及Cookie本身保存在客户端,可能被拦截或窃取,因此就需要有一种新的 ...

  7. svn上误删除覆盖的文件简单恢复步骤

    因为失误,不小心把同事提交到svn的文件给覆盖删除了.早上来和我说,吓死宝宝了... 还好,svn是个好东西,恢复到某个版本就行了.下面是简单步骤: 1.在本地的svn项目文件,右键---Toitoi ...

  8. 最小n个和(优先队列)

    给出两个包含 nn 个整数的数组 AA,BB.分别在 AA, BB 中任意出一个数并且相加,可以得到 n^2n2个和.求这些和中最小的 nn 个. 输入格式输入第一行一个整数 n(1 \le n \l ...

  9. 预处理、const、static与sizeof-用宏定义得到一个字的高位和低位字节

    1:代码如下: #define WORD_LO(XXX) ((byte) (word)(XXX) & 255) #define WORD_HI(XXX) ((byte) (word)(XXX) ...

  10. CISCN final 几道web题总结

    因为都有源码,所以这里直接从源码开始分析: 1.Easy web 这道题本来的意思应该是通过注入来load_file读取config.php来泄露cookie的加密密钥,从而伪造身份进行登陆再上传sh ...