linux centos6/7/8 redhat8自动 切换yum源

简介: 自动切换yum源

#!/bin/bash

centos6d(){

release=`cat /etc/redhat-release  |grep release | awk -F" " '{print $3}' | awk -F"." '{print $1}'` ; echo "centos 版本为: $release "

case "$release" in

"6") echo " 当前匹配centos 版本为 6"

repo="/etc/yum.repos.d/centos6-epel.repo"

if [ ! -e $repo ]; then                 # -e 判断文件存在;参考:Shell if 条件判断文件或目录

yum install -y wget

cd /etc/yum.repos.d/

mkdir bak

mv * bak

wget work.eisc.cn/ruanjian/rpm/yumrepo/centos6-epel.repo

wget work.eisc.cn/ruanjian/rpm/yumrepo/centos6.repo

yum clean all                           # 清除原有缓存

yum makecache                      # 生成新的缓存

                                               # make cache [me?k]  [ka?]  制作 缓存{ka xi}

yum  list                                       # 校验yum

cd

else

echo "yum已经切换"

fi

;;

*) echo "低版本未匹配到,正在匹配红帽版本配置yum !!!"

redhat8d

;;

esac

}

centos7(){

repo="/etc/yum.repos.d/epel-7.repo"

if [ ! -e $repo ]; then                 # -e 判断文件存在;参考:Shell if 条件判断文件或目录

yum install -y wget

cd /etc/yum.repos.d/

mkdir bak

mv * bak

wget work.eisc.cn/ruanjian/rpm/yumrepo/Centos-7.repo

wget work.eisc.cn/ruanjian/rpm/yumrepo/epel-7.repo

# wget http://mirrors.aliyun.com/repo/Centos-7.repo

# wget http://mirrors.aliyun.com/repo/epel-7.repo

                                               # 移动两个文件到 目录

#wget http://mirrors.163.com/.help/CentOS7-Base-163.repo

#sed -i  's/$releasever/7/g' /etc/yum.repos.d/CentOS-Base.repo

                                               # yum源没有对应版本包匹配;修改yum为centos7

yum clean all                           # 清除原有缓存

yum makecache                      # 生成新的缓存

                                               # make cache [me?k]  [ka?]  制作 缓存{ka xi}

yum  list                                       # 校验yum

cd

else

echo "yum已经切换"

fi

}

centos8(){

repo="/etc/yum.repos.d/Centos-8.repo"

if [ ! -e $repo ]; then

cd /etc/yum.repos.d/

mkdir bak

mv * bak

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo

#sed -i 's/$releasever/8/g' /etc/yum.repos.d/CentOS-Base.repo

yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm

wget -O /etc/yum.repos.d/epel8.repo work.eisc.cn/ruanjian/rpm/yumrepo/epel8.repo

#sed -i 's|^#baseurl=https://download.fedoraproject.org/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel*

#sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*

yum clean all #清理缓存

yum makecache #更新源

else

echo "yum已经切换"

fi

}

redhat8d(){

release=`cat /etc/redhat-release  |grep release | awk -F" " '{print $6}' | awk -F"." '{print $1}'` ; echo "redhat 版本为: $release "

case "$release" in

"8") echo " 当前匹配redhat 版本为 8"

repo="/etc/yum.repos.d/Centos-8.repo"

if [ ! -e $repo ]; then

cd /etc/yum.repos.d/

mkdir bak

mv * bak

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo

#sed -i 's/$releasever/8/g' /etc/yum.repos.d/CentOS-Base.repo

yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm

wget -O /etc/yum.repos.d/epel8.repo work.eisc.cn/ruanjian/rpm/yumrepo/epel8.repo

#sed -i 's|^#baseurl=https://download.fedoraproject.org/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel*

#sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*

yum clean all ; yum makecache  ; yum list

else

echo "yum已经切换"

fi

;;

*) echo "红帽版本未匹配到,退出!!!"

;;

esac

}

release=`cat /etc/redhat-release  |grep release | awk -F" " '{print $4}' | awk -F"." '{print $1}'` ; echo "centos 版本为: $release "

case "$release" in

"6") echo " 当前匹配centos 版本为 6"

centos6

;;

"7") echo " 当前匹配centos 版本为 7"

centos7

;;

"8") echo "当前匹配centos 版本为 8"

centos8

;;

*) echo "您的centos过于老旧,正在匹配低版本"

centos6d

;;

esac

# centos 6 切换yum: https://help.aliyun.com/document_detail/193569.htm

# wget www.eisc.cn/file/shell/centos-yum.sh ; sh centos-yum.sh

# 感谢网友提供yum解决方案:https://developer.aliyun.com/article/748336

# 阿里巴巴开源镜像站,镜像仓库:  https://developer.aliyun.com/mirror/

# 阿里云linux系统镜像: https://mirrors.aliyun.com/centos-vault/

目录
相关文章
|
2月前
|
Linux 开发工具 数据安全/隐私保护
linux异常一:feng 不在 sudoers 文件中,此事将被报告。yum提示Another app is currently holding the yum lock; waiting for
这篇文章介绍了在CentOS 7系统中安装Docker时遇到的两个常见问题及其解决方法:用户不在sudoers文件中导致权限不足,以及yum被锁定的问题。
42 2
linux异常一:feng 不在 sudoers 文件中,此事将被报告。yum提示Another app is currently holding the yum lock; waiting for
|
1月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
65 2
|
1月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
37 3
|
21天前
|
存储 缓存 Linux
【Linux】另一种基于rpm安装yum的方式
通过本文的方法,您可以在离线环境中使用RPM包安装YUM并进行必要的配置。这种方法适用于无法直接访问互联网的服务器或需要严格控制软件源的环境。通过配置本地YUM仓库,确保了软件包的安装和更新可以顺利进行。希望本文能够为您在特定环境中部署YUM提供实用的指导。
117 0
|
2月前
|
缓存 前端开发 Linux
Linux yum 命令
10月更文挑战第1天
50 2
|
3月前
|
关系型数据库 MySQL Linux
Linux 安装 mysql【使用yum源进行安装】
这篇文章介绍了在Linux系统中使用yum源安装MySQL数据库的步骤,包括配置yum源、安装MySQL服务、启动服务以及修改root用户的默认密码。
Linux 安装 mysql【使用yum源进行安装】
|
2月前
|
Unix Linux Go
Linux 使用Yum安装Go和配置环境
Linux 使用Yum安装Go和配置环境
|
4月前
|
算法 Ubuntu Linux
在Linux中,对比apt和yum两种包管理器在不同Linux发行版中应用有何区别?
在Linux中,对比apt和yum两种包管理器在不同Linux发行版中应用有何区别?
|
4月前
|
Ubuntu Linux 索引
在Linux中,APT和YUM软件包管理器的何区别?
在Linux中,APT和YUM软件包管理器的何区别?
|
4月前
|
缓存 Ubuntu Linux
在Linux中,Yum、Dnf、Apt-get和Pacman有何区别?
在Linux中,Yum、Dnf、Apt-get和Pacman有何区别?