千家信息网

linux初始化脚本1.1

发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,version:1.1des:主要针对redhat系列操作系统虚拟机的初始化配置更新以下内容:添加网络检测添加网卡名称判断添加主机变量配置精简yum和.bashrc配置文件生成,通过'EOF'在配置文
千家信息网最后更新 2025年01月24日linux初始化脚本1.1

version:1.1
des:主要针对redhat系列操作系统虚拟机的初始化配置
更新以下内容:

  • 添加网络检测
  • 添加网卡名称判断
  • 添加主机变量配置
  • 精简yum和.bashrc配置文件生成,通过'EOF'在配置文件中直接引用变量,去掉了变量$前的\
  • 修复yum配置时移动命令报错不能移动bak目录本身
  • 修复未配置网关错误

#!/bin/bash#====================================================# Author: Mr.Song# Create Date: 2019-10-27# Description:#====================================================########################################################set -x echo  'nameserver 119.29.29.29' >> /etc/resolv.conf ping -c 2   www.baidu.com  2>&1  >/dev/null  || 'echo -e '\033[31mNetwork test fail,please check network configuration \033[0m' && exit 1 '##########################################################start intial script########################################################NET_INETERFACE_NAME=`ip a|grep -v lo|egrep  ^[0-9] |cut -f 2 -d ':' |sed 's#[[:space:]]##'`HOST_IP='192.168.10.11'HOST_NETMASK='24'HOST_GATEWAY='192.168.10.2'HOST_DNS='119.29.29.29'HOST_NAME='test'########################################################hostnamectl  set-hostname $HOST_NAME#########################################################disable firewalld and selinuxsystemctl stop firewalldsystemctl disable firewalldsetenforce 0sed -i 's/enforcing$/disabled/g'  /etc/selinux/config#################################################################################################################yum configmkdir -p /etc/yum.repos.d/bakmv   /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak/cat > /etc/yum.repos.d/CentOS-163.repo  <<- 'EOF'#CentOS-Base.repo## The mirror system uses the connecting IP address of the client and the# update status of each mirror to pick mirrors that are updated to and# geographically close to the client.  You should use this for CentOS updates# unless you are manually picking other mirrors.## If the mirrorlist= does not work for you, as a fall back you can try the# remarked out baseurl= line instead.##[base]name=CentOS-$releasever - Base - 163.com#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=osbaseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/gpgcheck=1gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7#released updates[updates]name=CentOS-$releasever - Updates - 163.com#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updatesbaseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/gpgcheck=1gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7#additional packages that may be useful[extras]name=CentOS-$releasever - Extras - 163.com#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extrasbaseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/gpgcheck=1gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7#additional packages that extend functionality of existing packages[centosplus]name=CentOS-$releasever - Plus - 163.combaseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/gpgcheck=1enabled=0gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7EOF#install common softwareyum install -y vim nano wget gcc chrony lrzsz bash-completion net-tools psmisc#yum install epel-release#yum install -y atop htop iftop#################################################################################################################bash配置cat >> ~/.bashrc  <<- 'EOF'alias cls='clear'   #DOS风格的清空alias h='history | tail'alias hg='history | grep'alias hl='history | less'#stty erase ^H        #清除退格 (这个很有必要)export PS1="[\[\e[0;36m\]\u\[\e[m\]@\[\e[0;32m\]\h \[\e[0;35m\]\W\[\e[m\]]\\$"#export PS1="[\[\e[0;36m\]\u\[\e[m\]@\[\e[0;32m\]\h \[\e[0;35m\]\W\[\e[m\]]\\\\$"EOF##########################################################vim配置:行号、快捷键输入文本、中文支持cat >> ~/.vimrc <<-EOFset autoindentset nuset pastesyntax onset tabstop=4set shiftwidth=4set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936set termencoding=utf-8set encoding=utf-8function AddTitle()call setline(1,"#!/bin/bash")call append(1,"#====================================================")call append(2,"# Author: Mr.Song")call append(3,"# Create Date: " . strftime("%Y-%m-%d"))call append(4,"# Description: ")call append(5,"#====================================================")endfmap  :call AddTitle()EOF##########################################################openssh优化:禁用DNS查询sed -i  -e '/#UseDNS/a\UseDNS no' /etc/ssh/sshd_configsystemctl restart sshd###################################################################################################################ntp configsed -i 's#0.centos.pool.ntp.org#s2b.time.edu.cn#;s#1.centos.pool.ntp.org#ntp1.aliyun.com#;s#server 2.#\#server 2.#;s#server 3.#\#server 3.#'  /etc/chrony.confsystemctl restart chronyd###################################################################################################################network configsed -i  "s/ONBOOT=no/ONBOOT=yes/;s/BOOTPROTO=dhcp/BOOTPROTO=static/;/ONBOOT/a\IPADDR=$HOST_IP\nPREFIX=$HOST_NETMASK\nGATEWAY=$HOST_GATEWAY\nDNS1=$HOST_DNS"  /etc/sysconfig/network-scripts/ifcfg-$NET_INETERFACE_NAMEsystemctl restart network#########################################################
0