配置脚本

基于Centos 8的配置脚本

#!/bin/bash
RELEASE=`cat /etc/redhat-release |sed -rn 's/.*([[:digit:]]+)\..*\..*/\1/p'`
disable_selinux(){
    sed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config && echo "SElinux已禁用,重新启动后才可生效" || { echo SELINUX禁用失败; exit 10; }
}

disable_firewall(){
    systemctl disable --now firewalld &> /dev/null && echo "防火墙已禁用" || { echo 防火墙禁用失败; exit 20; }
}

set_ps1() {
    cat > /etc/profile.d/env.sh << EOF
alias cdnet="cd /etc/sysconfig/network-scripts"
alias editnet="vim /etc/sysconfig/network-scripts/ifcfg-eth0"
alias vimeth='vim /etc/sysconfig/network-scripts/ifcfg-eth0'
alias scandisk="for i in {0..32};do echo '- - -' > /sys/class/scsi_host/host\$i/scan;done"
PS1='\[\e[1;33m\][\u@\h \W]\\$\[\e[0m\]'
export PATH=/apps/bin:$PATH
EOF

bash /etc/profile.d/env.sh      #set_ps1执行不成功
}

set_eth(){
    sed -i.bak '/GRUB_CMDLINE_LINUX=/s#"$# net.ifnames=0"#' /etc/default/grub
    grub2-mkconfig -o /boot/grub2/grub.cfg &> /dev/null
    echo "网络名称已修改成功,请重新启动才能生效"
}

set_vim(){
    cat > ~/.vimrc << EOF
set ts=4
set expandtab
set ignorecase
set cursorline
set autoindent
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:                cuiqnghe")
       call setline(5,"#QQ:                    1433236299")
       call setline(6,"#Date:                  ".strftime("%Y-%m-%d"))
       call setline(7,"#FileName:             ".expand("%"))
       call setline(8,"#URL:                   http://www.cuiqinghe.com")
       call setline(9,"#Description:          The test script")
       call setline(10,"#Copyright (C):        ".strftime("%Y")." All rights reserved")
       call setline(11,"#********************************************************************")
       call setline(12,"")
       endif
endfunc
EOF
}

set_hostinfo(){      
    echo "主机名:       `hostname`"
    echo "IP地址:       `ifconfig eth0|sed -rn  '/inet\>/s/[^0-9]+([0-9.]+).*/\1/p'`"
    echo "系统版本:     `cat /etc/redhat-release |cut -d. -f1-2`"
    echo "内核版本:      `uname -r`"
    echo "CPU型号:      `lscpu |sed -nr "/Model name:/s/^(.*): (.*)$/\2/p" |tr -s " "`"
    echo "内存空间:     `free -mh|head -2|tail -1|tr -s ' '|cut -d' ' -f2 `"
    echo "硬盘空间:     `fdisk -l|head -2|tail -1|cut -d, -f1|cut -d' ' -f2-4`"
}

set_ifcfg_eth0(){
	cd /etc/sysconfig/network-scripts ;rm -f ifcfg-ens*
	cat > ifcfg-eth0 << EOF
DEVICE=eth0
NAME=eth0
IPADDR=10.0.0.8
PREFIX=24
GATEWAY=10.0.0.2
DNS1=180.76.76.76
DNS2=223.6.6.6
BOOTPROTO=static
EOF
}

set_yum() {
	mkdir /etc/yum.repos.d/backup
	mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup
	cat > /etc/yum.repos.d/base.repo <<EOF
[base]
name=base
baseurl=https://mirrors.aliyun.com/centos/\$releasever/BaseOS/\$basearch/os/
#baseurl=file:///misc/cd/   #本地仓库
gpgcheck=0

[epel]
name=epel
baseurl=https://mirrors.aliyun.com/epel/8/Everything/x86_64/
#https://mirrors.aliyun.com/epel/\$releasever/\$basearch/
gpgcheck=0
enabled=1

[extras]
name=extras
baseurl=https://mirrors.aliyun.com/centos/\$releasever/extras/\$basearch/os/
gpgcheck=0
enabled=1

[AppStream]
name=AppStream
baseurl=https://mirrors.aliyun.com/centos/\$releasever/AppStream/\$basearch/os/
gpgcheck=0
EOF
}

set_app() {
	yum repolist &> /dev/null
	yum install -y gcc make autoconf gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel systemd-devel zlib-devel vim lrzsz tree tmux lsof tcpdump wget net-tools iotop bc bzip2 zip unzip nfs-utils man-pages &> /dev/null || { echo 安装失败 ;exit 1; }
}

while :;do
echo "***********************系统初始化设置脚本************************"
echo -e "  1.关闭SELINUX                                               "
echo -e "  2.关闭防火墙                                                "
echo -e "  3.别名和提示符设置                                          "
echo -e "  4.网卡更名为eth0                                            "
echo -e "  5.生成脚本基本格式                                          "
echo -e "  6.显示当前主机信息                                          "
echo -e "  7.修改网卡地址                                              "
echo -e "  8.制作yum仓库                                               "
echo -e "  9.下载常用安装包                                            "
echo -e "  10.全都要                                                   "
echo -e "  0.退出脚本                                                  "
echo "+**************************************************************+"

read -p "请输入您的选项:" option
case $option in

1)
    disable_selinux
    ;;
2)
    disable_firewall
    ;;
3)
    set_ps1
    ;;
4)
    set_eth
    ;;
5)
    set_vim
    ;;
6)
    set_hostinfo
    ;;
7)
	set_ifcfg_eth0
	;;
8)
	set_yum
	;;
9)
    set_app
	;;
10)
	disable_selinux
    disable_firewall
    set_ps1
    set_eth
	set_vim
	set_hostinfo
	set_ifcfg_eth0
	set_yum
	set_app
    ;;
0)
    break
    ;;
*)
    echo "请输入正确的数字"
esac
done

你可能感兴趣的:(配置脚本)