linux初始化脚本1.1
admin
2023-03-02 01:21:52
0

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 selinux
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/enforcing$/disabled/g'  /etc/selinux/config
########################################################

########################################################
#yum config
mkdir -p /etc/yum.repos.d/bak
mv   /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=os
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=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=updates
baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=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=extras
baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - 163.com
baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
EOF

#install common software
yum 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 <<-EOF
set autoindent
set nu
set paste
syntax on
set tabstop=4
set shiftwidth=4
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
function 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,"#====================================================")
endf
map  :call AddTitle()
EOF
#########################################################
#openssh优化:禁用DNS查询
sed -i  -e '/#UseDNS/a\UseDNS no' /etc/ssh/sshd_config
systemctl restart sshd
#########################################################

#########################################################
#ntp config
sed -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.conf
systemctl restart chronyd
#########################################################

#########################################################
#network config
sed -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_NAME
systemctl restart network
#########################################################

相关内容

热门资讯

最新引进“上海明星麻将.是不是... 有 亲,根据资深记者爆料上海明星麻将是可以开挂的,确实有挂(咨询软件无需...
玩家最新攻略“阳光巴厘岛.有没... 家人们!今天小编来为大家解答阳光巴厘岛透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里买...
今日重大通报“大庆划水麻将.怎... 家人们!今天小编来为大家解答大庆划水麻将透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪里...
玩家攻略科普“欢乐龙城9.究竟... 您好:欢乐龙城9这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这款游...
终于明白“青松游戏.真的有挂吗... 您好:青松游戏这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这款游戏...
【第一资讯】“火神牛牛.怎么开... 有 亲,根据资深记者爆料火神牛牛是可以开挂的,确实有挂(咨询软件无需打开...
今日重大消息“大庆划水麻将.有... 网上科普关于“大庆划水麻将有没有挂”话题很是火热,小编也是针对大庆划水麻将作*弊开挂的方法以及开挂对...
今日重大通报“同城跑胡子.到底... 网上科普关于“同城跑胡子有没有挂”话题很是火热,小编也是针对同城跑胡子作*弊开挂的方法以及开挂对应的...
【第一消息】“灯塔麻将.辅助开... 家人们!今天小编来为大家解答灯塔麻将透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里买很...
【第一消息】“沧海麻将.到底是... 网上科普关于“沧海麻将有没有挂”话题很是火热,小编也是针对沧海麻将作*弊开挂的方法以及开挂对应的知识...