系统初始化shell,包括:挂载镜像、搭建yum、设置主机名及IP地址和主机名映射、配置动态IP、关闭防火墙和selinux

本文涉及的产品
云防火墙,500元 1000GB
简介: 系统初始化shell,包括:挂载镜像、搭建yum、设置主机名及IP地址和主机名映射、配置动态IP、关闭防火墙和selinux

!/bin/bash

Author:小黑要上天

Date:2023/6

Description:系统初始化,包括:挂载镜像、搭建yum、设置主机名及IP地址和主机名映射、配置动态IP、关闭防火墙和selinux

Prerequisite:1.ISO镜像文件处于连接状态;2.网络为动态dhcp;3.适用于CentOS7

参数初始化

MOUNT_EXCEPTION=1
YUM_EXCEPTION=2
HOSTNAME_EXCEPTION=3
IP_EXCEPTION=4
FIREWALL_EXCEPTION=5

挂载镜像

function_mount()
{
umount /dev/cdrom &>/dev/null
mount /dev/cdrom /mnt &>/dev/null
if [ $? -eq 1 ];then
echo "镜像挂载失败,请人工干预"
exit $MOUNT_EXCEPTION
fi
echo "1.镜像成功挂载"
}

搭建yum

function_yum()
{
cd /etc/yum.repos.d
if [ ! -d bak/ ];then
mkdir bak
fi
mv -f *.repo bak/
cat >>CentOS7.repo </dev/null
yum clean all &>/dev/null
yum install -y finger-server initscripts net-tools &>/dev/null
echo "2.yum成功配置"
}

设置主机名

function_hostname()
{
read -p "请输入需要更改的主机名(E.g:centos79-3):" HN
if [ "$HN" == "" ];then
hostnamectl set-hostname "centos79-3" &>/dev/null
else
hostnamectl set-hostname $HN &>/dev/null
if [ $? -eq 1 ];then
echo "主机名设置失败,请人工干预"
exit $HOSTNAME_EXCEPTION
fi
fi
echo "3-1.主机名成功设置"
IP=$(ifconfig |grep inet | awk '{print $2}' | head -n 1)
host=$(hostname)
cat >>/etc/hosts <<EOF
$IP $host
EOF
echo "3-2.IP地址和主机名映射成功"
}

配置动态IP

function_ip()
{
read -p "请输入需要配置动态IP的网卡(E.g:ifcfg-ens32):" CARD
if [ "$CARD" == "" ];then
echo "网卡信息为空,请重新输入"
function_ip
else
cd /etc/sysconfig/network-scripts
count=$(find . -name "$CARD" -type f | wc -l)
if [[ $count -eq 1 ]] && [[ "$CARD" != "ifcfg-lo" ]] && [[ "$CARD" =~ ifcfg-.* ]];then
cp -f $CARD $CARD.bak.$(date +%Y%m%d%H%M%S)
sed -i '/IPADDR/d' $CARD && sed -i '/PREFIX/d' $CARD && sed -i '/GATEWAY/d' $CARD && sed -i '/DNS/d' $CARD && sed -i 's/BOOTPROTO="none"/BOOTPROTO="dhcp"/' $CARD && sed -i 's/BOOTPROTO="static"/BOOTPROTO="dhcp"/' $CARD
else
echo "网卡输入异常,请人工干预"
exit $IP_EXCEPTION
fi
fi
echo "4.网卡成功配置为dhcp"
}

关闭防火墙和selinux

function_firewall()
{
systemctl stop firewall &>/dev/null
systemctl disable firewalll &>/dev/null
cd /etc/selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' config
echo "5.防火墙和selinux成功关闭"
}

总结

function_summary()
{
echo
echo
echo "系统初始化已完成,请重启服务器(init 6 OR reboot)"
echo "检查:1.镜像挂载;2.yum搭建;3.主机名及IP地址和主机名映射设置;4.动态IP配置;5.防火墙和selinux关闭"
exit 0
}

main

function_mount
function_yum
function_hostname
function_ip
function_firewall
function_summary

目录
相关文章
|
8月前
|
缓存
yum 如何设置可以将安装的rpm包都缓存下来
【4月更文挑战第17天】yum 如何设置可以将安装的rpm包都缓存下来
879 0
|
8月前
|
Linux Apache
Linux【环境部署 02】yum源镜像下载+挂载镜像+本地yum源配置+局域网yum源服务搭建+局域网yum源使用(一篇学会离线yum源配置)
Linux【环境部署 02】yum源镜像下载+挂载镜像+本地yum源配置+局域网yum源服务搭建+局域网yum源使用(一篇学会离线yum源配置)
2029 0
|
4月前
|
应用服务中间件 Linux nginx
Docker镜像-手动制作yum版nginx镜像
这篇文章介绍了如何手动制作一个基于CentOS 7.6的Docker镜像,其中包括下载指定版本的CentOS镜像,创建容器,配置阿里云软件源,安装并配置nginx,自定义nginx日志格式和web页面,最后提交镜像并基于该镜像启动新容器的详细步骤。
186 21
Docker镜像-手动制作yum版nginx镜像
|
4月前
|
应用服务中间件 Linux nginx
Docker镜像-基于DockerFile制作yum版nginx镜像
本文介绍了如何使用Dockerfile制作一个基于CentOS 7.6.1810的yum版nginx镜像,并提供了详细的步骤和命令。
184 20
|
8月前
|
Linux
CentOS yum源设置为国内aliyun yum源
CentOS yum源设置为国内aliyun yum源
5504 0
|
8月前
|
缓存 Linux
linux centos7 挂载本地iso yum源
linux centos7 挂载本地iso yum源
839 0
|
11天前
|
监控 安全 Linux
启用Linux防火墙日志记录和分析功能
为iptables启用日志记录对于监控进出流量至关重要
|
5月前
|
安全 Linux 应用服务中间件
在Linux中,包过滤防火墙与代理应用防火墙有什么区别?有哪些相应的产品?
在Linux中,包过滤防火墙与代理应用防火墙有什么区别?有哪些相应的产品?
|
4月前
|
机器学习/深度学习 安全 网络协议
Linux防火墙iptables命令管理入门
本文介绍了关于Linux防火墙iptables命令管理入门的教程,涵盖了iptables的基本概念、语法格式、常用参数、基础查询操作以及链和规则管理等内容。
248 73
|
2月前
|
存储 运维 Linux
Linux防火墙firewall的使用
CentOS 7 中的 firewalld 是基于 Netfilter 的防火墙服务,支持动态配置,无需重启服务即可生效。它通过区域管理网络流量,每个区域可以设置不同的防火墙规则。默认区域为 public,可以通过命令行工具 firewall-cmd 进行管理和配置。firewalld 提供了丰富的预定义服务和区域,方便用户根据需求进行灵活配置。
47 0