#!/bin/bash

. /etc/os-release

echo -en "\e[1;32m"

cat<<EOF
-----------------------------------------------------
1 关闭防火墙	     | 2 关闭SElinux	| 3 配置本机yum源仓库
4 配置私有yum源仓库  | 5 更改网卡名	| 6 退出
----------------------------------------------------
EOF

read -p "请输入选项数值: " FUNCTION

case ${FUNCTION} in
1)		if [[ $NAME == 'Rocky Linux' ]];then
                        echo 检测系统为Rocky..
			sleep 1
			echo 检测系统防火墙状态...
				if [[ $(systemctl status firewalld.service |grep 'Active'|awk '{print $2}') == "active" ]];then
						sleep 1
						echo 防火墙状态:正在运行
						sleep 1
				 		echo 正在关闭Linux防火墙......
            (systemctl stop firewalld.service &&
            systemctl disable firewalld.service;) &&
            echo  防火墙已关闭 ||
            echo  关闭防火墙失败，请检查相关配置。
						else
								sleep 1
								echo 防火墙状态:已停止运行
		fi
				

                          elif [[ $NAME -eq  ubuntu ]];then
                                     echo 检测系统为ubuntu
				     sleep 1
                        	     echo 检测系统防火墙状态...
                        	if [[ $(systemctl status ufw.service |grep 'Active'|awk '{print $2}') == "active" ]];then
                                	sleep 1
                                	echo 防火墙状态:正在运行
                                	sleep 1
                                 	echo 正在关闭Linux防火墙......
                       			 (systemctl stop ufw.service &&
                       			 systemctl disable ufw.service;) &&
                        		echo  防火墙已关闭 ||
                        		echo  关闭防火墙失败，请检查相关配置。
                          else
                                sleep 1
                                echo 防火墙状态:已停止运行
                		 fi

				  (systemctl stop ufw.service &&
                       		   systemctl disable ufw.service;) &&
                        	   echo  防火墙已关闭 ||
                        	   echo  关闭防火墙失败，请检查相关配置。
                fi
	;;

#2)		if [[ $NAME == "Rocky Linux" ]];then
			echo 检测系统为Rocky..
			echo 正在关闭SElinux......
			sed -ir.bak"date +%Y-%m-%d %H:%M:%S"  's/SELINUX=enforcing&/\1disabled' /etc/sysconfig/selinux
			  elif [[ $NAME -eq  ubuntu ]];then
				  echo 检测系统为ubuntu
				  if [[ -e /etc/selinux/config  ]];then
				   	sed -ir.bak"date +%Y-%m-%d %H:%M:%S"  's/SELINUX=enforcing&/\1disabled' /etc/selinux/config
				  else
					echo SElinux 未开启
				  fi
		fi
	;;
	
3)	echo 正在配置本地yum源仓库.....
	# 定义源目录和目标备份目录
		SRC_DIR="/etc/yum.repos.d/"
		BACKUP_DIR="$SRC_DIR/backup"

		# 检查备份目录是否存在，如果不存在则创建它
		if [ ! -d "$BACKUP_DIR" ]; then
		    mkdir -p "$BACKUP_DIR"
		fi

		# 移动除了backup目录之外的所有内容到backup目录
		# 使用find命令来排除backup目录本身
		find "$SRC_DIR" -maxdepth 1 -mindepth 1 ! -name "$BACKUP_DIR" -exec mv {} "$BACKUP_DIR"/ \;

		#移动除了backup，"/etc/yum.repos.d/"下其他内容到backup
		echo "原仓库已移动到 $BACKUP_DIR:"
		ls "$BACKUP_DIR"

		cat >/etc/yum.repos.d/aliyun.repo <<EOF
		[BaseOS]		
		baseurl=https://dl.rockylinux.org/vault/rocky/9.4/BaseOS/x86_64/os/
		name=alinyun BaseOS
		gpgcheck=1
		gpgkey=https://mirrors.aliyun.com/rockylinux/RPM-GPG-KEY-rockyofficial




		[AppStream]		
		AppStreamurl=https://dl.rockylinux.org/vault/rocky/9.4/AppStream/x86_64/os/
		name=aliyun AppStream
		gpgcheck=1
		gpgkey=https://mirrors.aliyun.com/rockylinux/RPM-GPG-KEY-rockyofficial






		[extras]
		extras=https://dl.rockylinux.org/vault/rocky/9.4/extras/x86_64/os/
		name=aliyun extras
		gpgcheck=1
		gpgkey=https://mirrors.aliyun.com/rockylinux/RPM-GPG-KEY-rockyofficial

EOF
		echo yum源仓库列表：
		yum repolist

	;;

4)	
	echo 正在将本机配置为yum仓库服务器.....

	;;
*)
	echo "请输入正确的选项数值"	
esac





echo -en "\e[0m"































#read -p "请输入身高（m）:" HIGHT
#if [[ ! "${HIGHT}" =~ ^[0-2](\.[0-9]{1,2})?$ ]];then
#	echo "请输入正确身高,最多保留小数点后两位"
#	exit 1
#fi
#read -p "请输入体重（kg）" WEIGHT
#if [[ ! "${WEIGHT}" =~ ^([0-9]{1,2})?[0-9](\.[0-9]{1,2})?$ ]];then
#        echo "请输入正确体重，最多保留小数点后两位"
#        exit 2
#fi
#BIM=`echo "${WEIGHT}" "/" "${HIGHT}"^2 | bc`

#if [[ "${BIM}" -le "18" ]] ;then
#	echo "体重过轻"
#	elif [[ "${BIM}" -le 25 ]];then
#		echo "体重正常"
#		elif [[ "${BIM}" -le 30 ]];then
#			echo"体重超重"
#				else
#				echo "肥胖"
#exit
#fi
