#!/bin/bash
#function: 本地yum源创建
#author: zhubinbin 20230818
##############################
#####root用户判断#####
if
[ "$USER" != "root" ]
then
echo "错误:非root用户,权限不足!"
exit 0
fi
############防火墙与高级权限##########
systemctl stop firewalld && systemctl disable firewalld && echo "防火墙已经关闭"
sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config && echo "关闭selinux"
#########################备份#####################
function jiaoben_nb(){
cd /etc/yum.repos.d/
mkdir bak_`date +%F-%H-%M`
#创建备份目录,名为bak_“年-月-日-时-分”
mv CentOS-* bak_`date +%F-%H-%M`
#把原有的yum源移动到刚才创建的备份目录里
if [ $? = 0 ];then
echo "历史yum源备份成功,在bak_`date +%F-%H-%M`里"
sleep 3
else
ehco "历史yum源备份失败,倒下了"
fi
#if判断是否备份成功
################################################
cd /etc/yum.repos.d/
#/etc/yum.repos.d/这个是yum源存放地址
wget -O CentOS-Base.repo $mudi
#wget网络下载远端yum源并重命名为CentOS-Base.repo,下载地址是变量,在最后面
#############更改yum源############
yum clean all
if [ $? = 0 ];then
echo "yum缓存已清除"
sleep 3
else
ehco "yum缓存清除失败"
sleep 2
fi
#清除旧的yum缓存,并做出判断是否成功
yum makecache
if [ $? = 0 ];then
echo "重新yum缓存成功"
sleep 3
else
ehco "重新yum缓存失败"
sleep 2
fi
}
#重新建立yum缓存,并做出判断是否成功
#########################选择##################
PS3="请你选择需要安装yum源地址:"
#提示信息
select i in 网易163 阿里云 华为 exit
do
case $i in
网易163)
mudi=http://mirrors.163.com/.help/CentOS7-Base-163.repo
#给上面的yum源下载变量赋值
jiaoben_nb
#调用上面的function函数jiaoben_nb
#调用function函数是,调用时必须在function函数后面
exit 2
#退出返回值2
;;
阿里云)
mudi=http://mirrors.aliyun.com/repo/Centos-7.repo
jiaoben_nb
exit 2
;;
华为)
mudi=https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
jiaoben_nb
exit 2
;;
exit)
echo "goodbye"
exit
esac
done
#do循环
Centos 7.9切换yum源(脚本和解释)
于 2023-08-21 09:27:49 首次发布