• CentOS7 reset脚本,用于初始化新的虚拟机


    能用,有待完善

    CentOS7测试

    哈哈

    #!/bin/bash
    #**************************************************************
    #Author:                     9527
    #QQ:                         5ssssssss
    #Date:                       2019-08-01
    #FileName:                   reset.sh
    #URL:                        https://cnblogs.com
    #Description:                The test script
    #Copyright (C):              2019 Copyright ©  站点名称  版权所有
    #************************************************************
    #set -e
    RED="33[0;31m"
    GREEN="33[0;32m"
    NO_COLOR="33[0m"
    
    # 修改别名
    modify_alias() {
    cat >> ~/.bashrc <<EOF
    alias cdnet='cd /etc/sysconfig/network-scripts/'
    alias editnet='vim /etc/sysconfig/network-scripts/ifcfg-ens33'
    alias rm='rm -i'
    alias scandisk="echo ' - - - ' > /sys/class/scsi_host/host0/scan;echo ' - - - ' > /sys/class/scsi_host/host1/scan;echo ' - - - ' > /sys/class/scsi_host/host2/scan"
    EOF
    }
    
    # 修改命令提示符
    modify_PS1() {
        echo 'PS1="[e[1;34m][u@h W]\$[e[0m] "' >> /etc/profile.d/env.sh
    }
    
    # 安装基本软件
    install_software() {
        yum install   gcc gcc-c++ glibc glibc-devel pcre pcre-devel openssl  openssl-devel systemd-devel zlib-devel  vim lrzsz tree screen  lsof tcpdump wget  ntpdate net-tools iotop bc  zip unzip nfs-utils -y
    }
    
    # 替换yum源
    replace_yum() {
        #wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
        curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
        sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
        #wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
        curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
        yum makecache
    }
    
    # vim
    # vimrc复制过来
    modify_vimrc() {
    cat > ~/.vimrc <<EOF
    set ignorecase
    set cursorline
    set autoindent
    set ai
    autocmd BufNewFile *.sh exec ":call SetTitle()"
     
    func SetTitle()
            if expand("%:e") == 'sh'
            call setline(1,"#!/bin/bash")
            call setline(2,"#**************************************************************")
            call setline(3,"#Author:                     Linus")
            call setline(4,"#QQ:                         599503252")
            call setline(5,"#Date:                       ".strftime("%Y-%m-%d"))
            call setline(6,"#FileName:                   ".expand("%"))
            call setline(7,"#URL:                        https://blog.51cto.com/14012942")
            call setline(8,"#Description:                Initialize the new server")         
            call setline(9,"#Copyright (C):              ".strftime("%Y")." Copyright ©  站点名称  版权所有")
            call setline(10,"#************************************************************")
            call setline(11,"")
            endif
    endfunc
    autocmd BufNewFile * normal G
    EOF
    }
    
    # 关闭selinux和firewalld
    iptables_selinux_stop() {
        sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
        setenforce 0
    
        systemctl stop firewalld
        systemctl disable firewalld
    }
    
    # 判断是不是root
    judge_root() {
        [ $(id -u) != "0" ] && { echo -e "${RED}Error:${NO_COLOR} You must be root to run this script."; exit 1; }   
    }
    
    # 判断是不是CentOS7
    Check_release() {
        if [ -f /etc/redhat-release ];then
            release="centos"
            version=`sed -r 's/.* ([0-9]+)..*/1/' /etc/redhat-release`
    	if [ "$version" = "7" ];then
    	    echo "Current release: CentOS7."
    	else {
    	    echo -e "[${RED}Error${NO_COLOR}] This script can only be running on CentOS7."
    	    exit 1
    	}
    	fi
        else {
            echo -e "[${RED}Error${NO_COLOR}] This script can only be running on CentOS7."
    	exit 1
        }
        fi
    }
    
    ########################时区调整########################
    timezone_adjust(){
        ln -sf  /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    }
    
    #修改网卡为eth0
    modify_eth_card() {
       ip a | grep -q eth0
       if [ "$?" -eq 1 ];then
           sed -ri '/^GRUB_CMDLINE/s/(.*)"/1 net.ifnames=0"/' /etc/default/grub
           grub2-mkconfig -o /boot/grub2/grub.cfg
       fi
    }
    
    #自动补全
    bash-completion() {
        yum install bash-completion -y
        source /usr/share/bash-completion/bash_completion
    }
    
    main() {
       judge_root
       Check_release
       replace_yum
       install_software
       iptables_selinux_stop
       modify_alias
       modify_vimrc
       timezone_adjust
       modify_PS1
       modify_eth_card
       bash_completion
    }
    
    
    main
    
  • 相关阅读:
    iOS 9音频应用播放音频之第一个ios9音频实例2
    隐写术: 基地组织如何用视频隐藏绝密文档?
    stm32 Fatfs 读写SD卡
    STM32应用笔记转载
    STM32-NVIC中断管理实现[直接操作寄存器]
    FatFs源码剖析
    STM32固件库详解(转)
    Arduino线程库ProtoThreads
    ARM9(TQ2440)裸机代码分享
    将USBASP改造成STK502编程器(转)
  • 原文地址:https://www.cnblogs.com/uscWIFI/p/11322562.html
Copyright © 2020-2023  润新知