mirror of
https://gitee.com/SuperManito/LinuxMirrors
synced 2025-11-02 15:30:26 +08:00
5207 lines
187 KiB
Bash
Executable File
5207 lines
187 KiB
Bash
Executable File
#!/bin/bash
|
||
## Author: SuperManito
|
||
## Modified: 2023-10-24
|
||
## License: MIT
|
||
## GitHub: https://github.com/SuperManito/LinuxMirrors
|
||
## Website: https://linuxmirrors.cn
|
||
|
||
## 软件源列表
|
||
# 国内格式:"软件源名称@软件源地址"
|
||
mirror_list_default=(
|
||
"阿里云@mirrors.aliyun.com"
|
||
"腾讯云@mirrors.tencent.com"
|
||
"华为云@repo.huaweicloud.com"
|
||
"网易@mirrors.163.com"
|
||
"搜狐@mirrors.sohu.com"
|
||
"清华大学@mirrors.tuna.tsinghua.edu.cn"
|
||
"北京大学@mirrors.pku.edu.cn"
|
||
"浙江大学@mirrors.zju.edu.cn"
|
||
"南京大学@mirrors.nju.edu.cn"
|
||
"重庆大学@mirrors.cqu.edu.cn"
|
||
"兰州大学@mirror.lzu.edu.cn"
|
||
"上海交通大学@mirror.sjtu.edu.cn"
|
||
"哈尔滨工业大学@mirrors.hit.edu.cn"
|
||
"中国科学技术大学@mirrors.ustc.edu.cn"
|
||
"中国科学院软件研究所@mirror.iscas.ac.cn"
|
||
)
|
||
# 海外格式:"洲 · 软件源名称 · 国家/地区@软件源地址",修改前请先前往官网阅读添加规范
|
||
mirror_list_abroad=(
|
||
"亚洲 · 科盈电信 · 香港@mirror.hkt.cc"
|
||
"亚洲 · xTom · 香港@mirrors.xtom.hk"
|
||
"亚洲 · 01Link · 香港@mirror.01link.hk"
|
||
"亚洲 · 新加坡国立大学(NUS) · 新加坡@download.nus.edu.sg/mirror"
|
||
"亚洲 · SG.GS · 新加坡@mirror.sg.gs"
|
||
"亚洲 · Neo Soon Keat · 新加坡@mirror.soonkeat.sg"
|
||
"亚洲 · 自由软件实验室(NCHC) · 台湾@free.nchc.org.tw"
|
||
"亚洲 · OSS Planet · 台湾@mirror.ossplanet.net"
|
||
"亚洲 · 国立阳明交通大学 · 台湾@linux.cs.nctu.edu.tw"
|
||
"亚洲 · 淡江大学 · 台湾@ftp.tku.edu.tw"
|
||
"亚洲 · AniGil Linux Archive · 韩国@mirror.anigil.com"
|
||
"亚洲 · 工业网络安全中心(ICSCoE) · 日本@ftp.udx.icscoe.jp/Linux"
|
||
"亚洲 · Internet Initiative Japan(IIJ) · 日本@ftp.iij.ad.jp/pub/linux"
|
||
"亚洲 · 北陆先端科学技术大学院大学(JAIST) · 日本@ftp.jaist.ac.jp/pub/Linux"
|
||
"亚洲 · 山形大学 · 日本@linux2.yz.yamagata-u.ac.jp/pub/Linux"
|
||
"亚洲 · xTom · 日本@mirrors.xtom.jp"
|
||
"亚洲 · GB Network Solutions · 马来西亚@mirrors.gbnetwork.com"
|
||
"亚洲 · 孔敬大学 · 泰国@mirror.kku.ac.th"
|
||
"亚洲 · RISE · 菲律宾@mirror.rise.ph"
|
||
"欧洲 · Vorboss Ltd · 英国@mirror.vorboss.net"
|
||
"欧洲 · QuickHost · 英国@mirror.quickhost.uk"
|
||
"欧洲 · dogado · 德国@mirror.dogado.de"
|
||
"欧洲 · xTom · 德国@mirrors.xtom.de"
|
||
"欧洲 · 亚琛工业大学(RWTH Aachen) · 德国@ftp.halifax.rwth-aachen.de"
|
||
"欧洲 · 德累斯顿大学(AG DSN) · 德国@ftp.agdsn.de"
|
||
"欧洲 · CCIN2P3 · 法国@mirror.in2p3.fr/pub/linux"
|
||
"欧洲 · Ircam · 法国@mirrors.ircam.fr/pub"
|
||
"欧洲 · Crans · 法国@eclats.crans.org"
|
||
"欧洲 · CRIHAN · 法国@ftp.crihan.fr"
|
||
"欧洲 · xTom · 荷兰@mirrors.xtom.nl"
|
||
"欧洲 · DataPacket · 荷兰@mirror.datapacket.com"
|
||
"欧洲 · Linux Kernel · 荷兰@eu.edge.kernel.org"
|
||
"欧洲 · xTom · 爱沙尼亚@mirrors.xtom.ee"
|
||
"欧洲 · netsite · 丹麦@mirror.netsite.dk"
|
||
"欧洲 · Dotsrc · 丹麦@mirrors.dotsrc.org"
|
||
"欧洲 · Academic Computer Club · 瑞典@mirror.accum.se"
|
||
"欧洲 · Lysator · 瑞典@ftp.lysator.liu.se"
|
||
"欧洲 · Yandex · 俄罗斯@mirror.yandex.ru"
|
||
"欧洲 · ia64 · 俄罗斯@mirror.linux-ia64.org"
|
||
"欧洲 · Truenetwork · 俄罗斯@mirror.truenetwork.ru"
|
||
"欧洲 · Belgian Research Network · 比利时@ftp.belnet.be/mirror"
|
||
"欧洲 · 克里特大学计算机中心 · 希腊@ftp.cc.uoc.gr/mirrors/linux"
|
||
"欧洲 · 马萨里克大学信息学院 · 捷克@ftp.fi.muni.cz/pub/linux"
|
||
"欧洲 · 捷克理工大学学生会俱乐部(Silicon Hill) · 捷克@ftp.sh.cvut.cz"
|
||
"欧洲 · Vodafone · 捷克@mirror.karneval.cz/pub/linux"
|
||
"欧洲 · CZ.NIC · 捷克@mirrors.nic.cz"
|
||
"欧洲 · 苏黎世联邦理工学院 · 瑞士@mirror.ethz.ch"
|
||
"北美 · Linux Kernel · 美国@mirrors.kernel.org"
|
||
"北美 · 麻省理工学院(MIT) · 美国@mirrors.mit.edu"
|
||
"北美 · 普林斯顿大学数学系 · 美国@mirror.math.princeton.edu/pub"
|
||
"北美 · 俄勒冈州立大学开源实验室 · 美国@ftp-chi.osuosl.org/pub"
|
||
"北美 · Fremont Cabal Internet Exchange(FCIX) · 美国@mirror.fcix.net"
|
||
"北美 · xTom · 美国@mirrors.xtom.com"
|
||
"北美 · Steadfast · 美国@mirror.steadfast.net"
|
||
"北美 · 不列颠哥伦比亚大学 · 加拿大@mirror.it.ubc.ca"
|
||
"北美 · GoCodeIT · 加拿大@mirror.xenyth.net"
|
||
"北美 · Switch · 加拿大@mirrors.switch.ca"
|
||
"南美 · PoP-SC · 巴西@mirror.pop-sc.rnp.br/mirror"
|
||
"南美 · 蓬塔格罗萨州立大学 · 巴西@mirror.uepg.br"
|
||
"南美 · UFSCar · 巴西@mirror.ufscar.br"
|
||
"南美 · Sysarmy Community · 阿根廷@mirrors.eze.sysarmy.com"
|
||
"大洋 · Fremont Cabal Internet Exchange(FCIX) · 澳大利亚@gsl-syd.mm.fcix.net"
|
||
"大洋 · AARNet · 澳大利亚@mirror.aarnet.edu.au/pub"
|
||
"大洋 · DataMossa · 澳大利亚@mirror.datamossa.io"
|
||
"大洋 · Amaze · 澳大利亚@mirror.amaze.com.au"
|
||
"大洋 · xTom · 澳大利亚@mirrors.xtom.au"
|
||
"大洋 · Over the Wire · 澳大利亚@mirror.overthewire.com.au"
|
||
"大洋 · Free Software Mirror Group · 新西兰@mirror.fsmg.org.nz"
|
||
"非洲 · Liquid Telecom · 肯尼亚@mirror.liquidtelecom.com"
|
||
"非洲 · Dimension Data · 南非@mirror.dimensiondata.com"
|
||
)
|
||
# 中国大陆教育网格式:"软件源名称@软件源地址"
|
||
mirror_list_edu=(
|
||
"清华大学@mirrors.tuna.tsinghua.edu.cn"
|
||
"北京大学@mirrors.pku.edu.cn"
|
||
"南京大学@mirrors.nju.edu.cn"
|
||
"重庆大学@mirrors.cqu.edu.cn"
|
||
"兰州大学@mirror.lzu.edu.cn"
|
||
"浙江大学@mirrors.zju.edu.cn"
|
||
"山东大学@mirrors.sdu.edu.cn"
|
||
"吉林大学@mirrors.jlu.edu.cn"
|
||
"上海交通大学@mirror.sjtu.edu.cn"
|
||
"上海科技大学@mirrors.shanghaitech.edu.cn"
|
||
"南方科技大学@mirrors.sustech.edu.cn"
|
||
"南京邮电大学@mirrors.njupt.edu.cn"
|
||
"电子科技大学@mirrors.uestc.cn"
|
||
"北京交通大学@mirror.bjtu.edu.cn"
|
||
"齐鲁工业大学@mirrors.qlu.edu.cn"
|
||
"华南农业大学@mirrors.scau.edu.cn"
|
||
"西安交通大学@mirrors.xjtu.edu.cn"
|
||
"南阳理工学院@mirror.nyist.edu.cn"
|
||
"武昌首义学院@mirrors.wsyu.edu.cn"
|
||
"哈尔滨工业大学@mirrors.hit.edu.cn"
|
||
"北京外国语大学@mirrors.bfsu.edu.cn"
|
||
"中国科学技术大学@mirrors.ustc.edu.cn"
|
||
"西北农林科技大学@mirrors.nwafu.edu.cn"
|
||
"大连东软信息学院@mirrors.neusoft.edu.cn"
|
||
)
|
||
|
||
## 配置需要区分公网地址和内网地址的软件源(不分地域)
|
||
# 配置方法:需要同时在两个数组变量中分别定义软件源地址,并且保证排列顺序一致
|
||
# 工作原理:当检测到用户所选择的软件源地址在 “软件源公网地址列表” 中时就会询问是否切换为内网地址,然后在 “软件源内网地址列表” 从相同的位置提取内网地址
|
||
# 软件源公网地址列表
|
||
mirror_list_extranet=(
|
||
"mirrors.aliyun.com"
|
||
"mirrors.tencent.com"
|
||
"repo.huaweicloud.com"
|
||
)
|
||
# 软件源内网地址列表
|
||
mirror_list_intranet=(
|
||
"mirrors.cloud.aliyuncs.com"
|
||
"mirrors.tencentyun.com"
|
||
"mirrors.myhuaweicloud.com"
|
||
)
|
||
|
||
##############################################################################
|
||
|
||
## 定义系统判定变量
|
||
SYSTEM_DEBIAN="Debian"
|
||
SYSTEM_UBUNTU="Ubuntu"
|
||
SYSTEM_KALI="Kali"
|
||
SYSTEM_DEEPIN="Deepin"
|
||
SYSTEM_REDHAT="RedHat"
|
||
SYSTEM_RHEL="Red Hat Enterprise Linux"
|
||
SYSTEM_CENTOS="CentOS"
|
||
SYSTEM_CENTOS_STREAM="CentOS Stream"
|
||
SYSTEM_ROCKY="Rocky"
|
||
SYSTEM_ALMALINUX="AlmaLinux"
|
||
SYSTEM_FEDORA="Fedora"
|
||
SYSTEM_OPENCLOUDOS="OpenCloudOS"
|
||
SYSTEM_OPENEULER="openEuler"
|
||
SYSTEM_OPENSUSE="openSUSE"
|
||
SYSTEM_ARCH="Arch"
|
||
|
||
## 定义目录和文件
|
||
File_LinuxRelease=/etc/os-release
|
||
File_RedHatRelease=/etc/redhat-release
|
||
File_OpenCloudOSRelease=/etc/opencloudos-release
|
||
File_openEulerRelease=/etc/openEuler-release
|
||
File_ArchRelease=/etc/arch-release
|
||
File_DebianVersion=/etc/debian_version
|
||
File_DebianSourceList=/etc/apt/sources.list
|
||
File_DebianSourceListBackup=/etc/apt/sources.list.bak
|
||
Dir_DebianExtendSource=/etc/apt/sources.list.d
|
||
Dir_DebianExtendSourceBackup=/etc/apt/sources.list.d.bak
|
||
File_ArchMirrorList=/etc/pacman.d/mirrorlist
|
||
File_ArchMirrorListBackup=/etc/pacman.d/mirrorlist.bak
|
||
Dir_YumRepos=/etc/yum.repos.d
|
||
Dir_YumReposBackup=/etc/yum.repos.d.bak
|
||
Dir_openSUSERepos=/etc/zypp/repos.d
|
||
Dir_openSUSEReposBackup=/etc/zypp/repos.d.bak
|
||
|
||
## 定义颜色变量
|
||
RED='\033[31m'
|
||
GREEN='\033[32m'
|
||
YELLOW='\033[33m'
|
||
BLUE='\033[34m'
|
||
PURPLE='\033[35m'
|
||
AZURE='\033[36m'
|
||
PLAIN='\033[0m'
|
||
BOLD='\033[1m'
|
||
SUCCESS="[\033[1;32m成功${PLAIN}]"
|
||
COMPLETE="[\033[1;32m完成${PLAIN}]"
|
||
WARN="[\033[1;5;33m注意${PLAIN}]"
|
||
ERROR="[\033[1;31m错误${PLAIN}]"
|
||
FAIL="[\033[1;31m失败${PLAIN}]"
|
||
TIP="[\033[1;32m提示${PLAIN}]"
|
||
WORKING="[\033[1;36m >_ ${PLAIN}]"
|
||
|
||
function StartTitle() {
|
||
[ -z "${SOURCE}" ] && clear
|
||
echo -e ' +-----------------------------------+'
|
||
echo -e " | \033[0;1;35;95m⡇\033[0m \033[0;1;33;93m⠄\033[0m \033[0;1;32;92m⣀⡀\033[0m \033[0;1;36;96m⡀\033[0;1;34;94m⢀\033[0m \033[0;1;35;95m⡀⢀\033[0m \033[0;1;31;91m⡷\033[0;1;33;93m⢾\033[0m \033[0;1;32;92m⠄\033[0m \033[0;1;36;96m⡀⣀\033[0m \033[0;1;34;94m⡀\033[0;1;35;95m⣀\033[0m \033[0;1;31;91m⢀⡀\033[0m \033[0;1;33;93m⡀\033[0;1;32;92m⣀\033[0m \033[0;1;36;96m⢀⣀\033[0m |"
|
||
echo -e " | \033[0;1;31;91m⠧\033[0;1;33;93m⠤\033[0m \033[0;1;32;92m⠇\033[0m \033[0;1;36;96m⠇⠸\033[0m \033[0;1;34;94m⠣\033[0;1;35;95m⠼\033[0m \033[0;1;31;91m⠜⠣\033[0m \033[0;1;33;93m⠇\033[0;1;32;92m⠸\033[0m \033[0;1;36;96m⠇\033[0m \033[0;1;34;94m⠏\033[0m \033[0;1;35;95m⠏\033[0m \033[0;1;33;93m⠣⠜\033[0m \033[0;1;32;92m⠏\033[0m \033[0;1;34;94m⠭⠕\033[0m |"
|
||
echo -e ' +-----------------------------------+'
|
||
echo -e ' 欢迎使用 GNU/Linux 一键更换软件源脚本'
|
||
}
|
||
|
||
## 报错退出
|
||
function Output_Error() {
|
||
[ "$1" ] && echo -e "\n$ERROR $1\n"
|
||
exit 1
|
||
}
|
||
|
||
## 权限判定
|
||
function PermissionJudgment() {
|
||
if [ $UID -ne 0 ]; then
|
||
Output_Error "权限不足,请使用 Root 用户运行本脚本"
|
||
fi
|
||
}
|
||
|
||
## 命令选项兼容性判断
|
||
function CheckCommandOptions() {
|
||
case "${SYSTEM_FACTIONS}" in
|
||
"${SYSTEM_DEBIAN}")
|
||
if [[ "${SYSTEM_JUDGMENT}" != "${SYSTEM_DEBIAN}" ]]; then
|
||
if [[ "${SOURCE_SECURITY}" == "true" || "${SOURCE_BRANCH_SECURITY}" == "true" ]]; then
|
||
Output_Error "当前系统不支持使用 security 仓库相关命令选项,请确认后重试!"
|
||
fi
|
||
fi
|
||
if [[ "${INSTALL_EPEL}" == "true" || "${ONLY_EPEL}" == "true" ]]; then
|
||
Output_Error "当前系统不支持安装 EPEL 附件软件包故无法使用相关命令选项,请确认后重试!"
|
||
fi
|
||
;;
|
||
"${SYSTEM_REDHAT}")
|
||
if [[ "${SYSTEM_JUDGMENT}" != "${SYSTEM_CENTOS}" && "${SYSTEM_JUDGMENT}" != "${SYSTEM_RHEL}" && "${SYSTEM_JUDGMENT}" != "${SYSTEM_ALMALINUX}" ]]; then
|
||
if [[ "${SOURCE_VAULT}" == "true" || "${SOURCE_BRANCH_VAULT}" == "true" ]]; then
|
||
Output_Error "当前系统不支持使用 vault 仓库相关命令选项,请确认后重试!"
|
||
fi
|
||
fi
|
||
case "${SYSTEM_JUDGMENT}" in
|
||
"${SYSTEM_FEDORA}")
|
||
if [[ "${INSTALL_EPEL}" == "true" || "${ONLY_EPEL}" == "true" ]]; then
|
||
Output_Error "当前系统不支持安装 EPEL 附件软件包故无法使用相关命令选项,请确认后重试!"
|
||
fi
|
||
;;
|
||
esac
|
||
if [[ "${DEBIAN_CODENAME}" ]]; then
|
||
Output_Error "当前系统不支持使用指定版本名称命令选项,请确认后重试!"
|
||
fi
|
||
;;
|
||
"${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENSUSE}" | "${SYSTEM_ARCH}")
|
||
if [[ "${SOURCE_SECURITY}" == "true" || "${SOURCE_BRANCH_SECURITY}" == "true" ]]; then
|
||
Output_Error "当前系统不支持使用 security 仓库相关命令选项,请确认后重试!"
|
||
fi
|
||
if [[ "${SOURCE_VAULT}" == "true" || "${SOURCE_BRANCH_VAULT}" == "true" ]]; then
|
||
Output_Error "当前系统不支持安装 EPEL 附件软件包故无法使用相关命令选项,请确认后重试!"
|
||
fi
|
||
if [[ "${INSTALL_EPEL}" == "true" || "${ONLY_EPEL}" == "true" ]]; then
|
||
Output_Error "当前系统不支持安装 EPEL 附件软件包故无法使用相关命令选项,请确认后重试!"
|
||
fi
|
||
if [[ "${DEBIAN_CODENAME}" ]]; then
|
||
Output_Error "当前系统不支持使用指定版本名称命令选项,请确认后重试!"
|
||
fi
|
||
;;
|
||
esac
|
||
if [[ "${USE_ABROAD_SOURCE}" == "true" && "${USE_EDU_SOURCE}" == "true" ]]; then
|
||
Output_Error "两种模式不可同时使用!"
|
||
fi
|
||
}
|
||
|
||
## 系统判定变量
|
||
function EnvJudgment() {
|
||
## 定义系统名称
|
||
SYSTEM_NAME="$(cat $File_LinuxRelease | grep -E "^NAME=" | awk -F '=' '{print$2}' | sed "s/[\'\"]//g")"
|
||
cat $File_LinuxRelease | grep "PRETTY_NAME=" -q
|
||
[ $? -eq 0 ] && SYSTEM_PRETTY_NAME="$(cat $File_LinuxRelease | grep -E "^PRETTY_NAME=" | awk -F '=' '{print$2}' | sed "s/[\'\"]//g")"
|
||
## 定义系统版本号
|
||
SYSTEM_VERSION_NUMBER="$(cat $File_LinuxRelease | grep -E "^VERSION_ID=" | awk -F '=' '{print$2}' | sed "s/[\'\"]//g")"
|
||
## 定义系统ID
|
||
SYSTEM_ID="$(cat $File_LinuxRelease | grep -E "^ID=" | awk -F '=' '{print$2}' | sed "s/[\'\"]//g")"
|
||
## 判定当前系统派系(Debian/RedHat/openEuler/OpenCloudOS/openSUSE)
|
||
if [ -s $File_DebianVersion ]; then
|
||
SYSTEM_FACTIONS="${SYSTEM_DEBIAN}"
|
||
elif [ -s $File_OpenCloudOSRelease ]; then
|
||
# OpenCloudOS 判断优先级需要高于 RedHat,因为8版本基于红帽而9版本不是
|
||
SYSTEM_FACTIONS="${SYSTEM_OPENCLOUDOS}"
|
||
elif [ -s $File_openEulerRelease ]; then
|
||
SYSTEM_FACTIONS="${SYSTEM_OPENEULER}"
|
||
elif [[ "${SYSTEM_NAME}" == *"openSUSE"* ]]; then
|
||
SYSTEM_FACTIONS="${SYSTEM_OPENSUSE}"
|
||
elif [ -f $File_ArchRelease ]; then
|
||
SYSTEM_FACTIONS="${SYSTEM_ARCH}"
|
||
elif [ -s $File_RedHatRelease ]; then
|
||
SYSTEM_FACTIONS="${SYSTEM_REDHAT}"
|
||
else
|
||
Output_Error "无法判断当前运行环境,当前系统不在本脚本的支持范围内"
|
||
fi
|
||
## 判定系统名称、版本、版本号
|
||
case "${SYSTEM_FACTIONS}" in
|
||
"${SYSTEM_DEBIAN}")
|
||
if [ ! -x /usr/bin/lsb_release ]; then
|
||
apt-get install -y lsb-release
|
||
if [ $? -ne 0 ]; then
|
||
Output_Error "lsb-release 软件包安装失败\n 本脚本需要通过 lsb_release 指令判断系统类型,当前可能为精简安装的系统,因为正常情况下系统会自带该软件包,请自行安装后重新执行脚本!"
|
||
fi
|
||
fi
|
||
SYSTEM_JUDGMENT="$(lsb_release -is)"
|
||
SYSTEM_VERSION_CODENAME="${DEBIAN_CODENAME:-"$(lsb_release -cs)"}"
|
||
;;
|
||
"${SYSTEM_REDHAT}")
|
||
SYSTEM_JUDGMENT="$(awk '{printf $1}' $File_RedHatRelease)"
|
||
## Red Hat Enterprise Linux
|
||
grep -q "${SYSTEM_RHEL}" $File_RedHatRelease && SYSTEM_JUDGMENT="${SYSTEM_RHEL}"
|
||
## CentOS Stream
|
||
grep -q "${SYSTEM_CENTOS_STREAM}" $File_RedHatRelease && SYSTEM_JUDGMENT="${SYSTEM_CENTOS_STREAM}"
|
||
;;
|
||
"${SYSTEM_OPENCLOUDOS}")
|
||
SYSTEM_JUDGMENT="${SYSTEM_OPENCLOUDOS}"
|
||
;;
|
||
"${SYSTEM_OPENEULER}")
|
||
SYSTEM_JUDGMENT="${SYSTEM_OPENEULER}"
|
||
;;
|
||
"${SYSTEM_OPENSUSE}")
|
||
SYSTEM_JUDGMENT="${SYSTEM_OPENSUSE}"
|
||
;;
|
||
"${SYSTEM_ARCH}")
|
||
SYSTEM_JUDGMENT="${SYSTEM_ARCH}"
|
||
;;
|
||
esac
|
||
## 判断系统和其版本是否受本脚本支持
|
||
case "${SYSTEM_JUDGMENT}" in
|
||
"${SYSTEM_DEBIAN}")
|
||
if [[ "${SYSTEM_VERSION_NUMBER:0:1}" != [8-9] && "${SYSTEM_VERSION_NUMBER:0:2}" != 1[0-2] ]]; then
|
||
Output_Error "当前系统版本不在本脚本的支持范围内"
|
||
fi
|
||
;;
|
||
"${SYSTEM_UBUNTU}")
|
||
if [[ "${SYSTEM_VERSION_NUMBER:0:2}" != 1[4-9] && "${SYSTEM_VERSION_NUMBER:0:2}" != 2[0-3] ]]; then
|
||
Output_Error "当前系统版本不在本脚本的支持范围内"
|
||
fi
|
||
;;
|
||
"${SYSTEM_RHEL}")
|
||
if [[ "${SYSTEM_VERSION_NUMBER:0:1}" != [7-9] ]]; then
|
||
Output_Error "当前系统版本不在本脚本的支持范围内"
|
||
fi
|
||
;;
|
||
"${SYSTEM_CENTOS}")
|
||
if [[ "${SYSTEM_VERSION_NUMBER:0:1}" != [7-8] ]]; then
|
||
Output_Error "当前系统版本不在本脚本的支持范围内"
|
||
fi
|
||
;;
|
||
"${SYSTEM_CENTOS_STREAM}" | "${SYSTEM_ROCKY}" | "${SYSTEM_ALMALINUX}" | "${SYSTEM_OPENCLOUDOS}")
|
||
if [[ "${SYSTEM_VERSION_NUMBER:0:1}" != [8-9] ]]; then
|
||
Output_Error "当前系统版本不在本脚本的支持范围内"
|
||
fi
|
||
;;
|
||
"${SYSTEM_FEDORA}")
|
||
if [[ "${SYSTEM_VERSION_NUMBER:0:2}" != 3[0-8] ]]; then
|
||
Output_Error "当前系统版本不在本脚本的支持范围内"
|
||
fi
|
||
;;
|
||
"${SYSTEM_OPENEULER}")
|
||
if [[ "${SYSTEM_VERSION_NUMBER:0:2}" != 2[1-3] ]]; then
|
||
Output_Error "当前系统版本不在本脚本的支持范围内"
|
||
fi
|
||
;;
|
||
"${SYSTEM_OPENSUSE}")
|
||
if [[ "${SYSTEM_ID}" != "opensuse-leap" && "${SYSTEM_ID}" != "opensuse-tumbleweed" ]]; then
|
||
Output_Error "当前系统版本不在本脚本的支持范围内"
|
||
else
|
||
if [[ "${SYSTEM_ID}" == "opensuse-leap" ]]; then
|
||
if [[ "${SYSTEM_VERSION_NUMBER:0:2}" != 15 ]]; then
|
||
Output_Error "当前系统版本不在本脚本的支持范围内"
|
||
fi
|
||
fi
|
||
fi
|
||
;;
|
||
"${SYSTEM_KALI}" | "${SYSTEM_DEEPIN}" | "${SYSTEM_ARCH}")
|
||
# 理论全部支持
|
||
;;
|
||
*)
|
||
Output_Error "当前系统不在本脚本的支持范围内"
|
||
;;
|
||
esac
|
||
## 判定系统处理器架构
|
||
case "$(uname -m)" in
|
||
x86_64)
|
||
DEVICE_ARCH="x86_64"
|
||
;;
|
||
aarch64)
|
||
DEVICE_ARCH="ARM64"
|
||
;;
|
||
armv7l)
|
||
DEVICE_ARCH="ARMv7"
|
||
;;
|
||
armv6l)
|
||
DEVICE_ARCH="ARMv6"
|
||
;;
|
||
i686)
|
||
DEVICE_ARCH="x86_32"
|
||
;;
|
||
*)
|
||
DEVICE_ARCH="$(uname -m)"
|
||
;;
|
||
esac
|
||
## 定义软件源分支名称
|
||
if [[ -z "${SOURCE_BRANCH}" ]]; then
|
||
## 默认为系统名称小写,替换空格
|
||
SOURCE_BRANCH="${SYSTEM_JUDGMENT,,}"
|
||
SOURCE_BRANCH="${SOURCE_BRANCH// /-}"
|
||
## 处理特殊
|
||
case "${SYSTEM_JUDGMENT}" in
|
||
"${SYSTEM_DEBIAN}")
|
||
case ${SYSTEM_VERSION_NUMBER:0:1} in
|
||
8 | 9)
|
||
SOURCE_BRANCH="debian-archive"
|
||
;;
|
||
*)
|
||
SOURCE_BRANCH="debian"
|
||
;;
|
||
esac
|
||
;;
|
||
"${SYSTEM_RHEL}")
|
||
case ${SYSTEM_VERSION_NUMBER:0:1} in
|
||
9)
|
||
SOURCE_BRANCH="rocky"
|
||
;;
|
||
*)
|
||
SOURCE_BRANCH="centos"
|
||
;;
|
||
esac
|
||
;;
|
||
"${SYSTEM_CENTOS}")
|
||
if [[ "${DEVICE_ARCH}" == "x86_64" ]]; then
|
||
SOURCE_BRANCH="centos"
|
||
else
|
||
SOURCE_BRANCH="centos-altarch"
|
||
fi
|
||
;;
|
||
"${SYSTEM_CENTOS_STREAM}")
|
||
case ${SYSTEM_VERSION_NUMBER:0:1} in
|
||
8)
|
||
if [[ "${DEVICE_ARCH}" == "x86_64" ]]; then
|
||
SOURCE_BRANCH="centos"
|
||
else
|
||
SOURCE_BRANCH="centos-altarch"
|
||
fi
|
||
;;
|
||
*)
|
||
SOURCE_BRANCH="centos-stream"
|
||
;;
|
||
esac
|
||
;;
|
||
"${SYSTEM_UBUNTU}")
|
||
if [[ "${DEVICE_ARCH}" == "x86_64" ]] || [[ "${DEVICE_ARCH}" == *i?86* ]]; then
|
||
SOURCE_BRANCH="ubuntu"
|
||
else
|
||
SOURCE_BRANCH="ubuntu-ports"
|
||
fi
|
||
;;
|
||
"${SYSTEM_ARCH}")
|
||
if [[ "${DEVICE_ARCH}" == "x86_64" ]] || [[ "${DEVICE_ARCH}" == *i?86* ]]; then
|
||
SOURCE_BRANCH="archlinux"
|
||
else
|
||
SOURCE_BRANCH="archlinuxarm"
|
||
fi
|
||
;;
|
||
esac
|
||
fi
|
||
## 定义软件源同步/更新文字
|
||
case "${SYSTEM_FACTIONS}" in
|
||
"${SYSTEM_DEBIAN}")
|
||
SYNC_TXT="更新"
|
||
;;
|
||
*)
|
||
SYNC_TXT="同步"
|
||
;;
|
||
esac
|
||
}
|
||
|
||
## 选择软件源
|
||
function ChooseMirrors() {
|
||
## 打印软件源列表
|
||
function PrintMirrorsList() {
|
||
local tmp_mirror_name tmp_mirror_url arr_num default_mirror_name_length tmp_mirror_name_length tmp_spaces_nums a i j
|
||
## 计算字符串长度
|
||
function StringLength() {
|
||
local text=$1
|
||
echo "${#text}"
|
||
}
|
||
echo -e ''
|
||
|
||
local list_arr=()
|
||
local list_arr_sum
|
||
list_arr_sum="$(eval echo \${#$1[@]})"
|
||
for ((a = 0; a < $list_arr_sum; a++)); do
|
||
list_arr[$a]="$(eval echo \${$1[a]})"
|
||
done
|
||
if [ -x /usr/bin/printf ]; then
|
||
for ((i = 0; i < ${#list_arr[@]}; i++)); do
|
||
tmp_mirror_name=$(echo "${list_arr[i]}" | awk -F '@' '{print$1}') # 软件源名称
|
||
# tmp_mirror_url=$(echo "${list_arr[i]}" | awk -F '@' '{print$2}') # 软件源地址
|
||
arr_num=$((i + 1))
|
||
default_mirror_name_length=${2:-"30"} # 默认软件源名称打印长度
|
||
## 补齐长度差异(中文的引号在等宽字体中占1格而非2格)
|
||
[[ $(echo "${tmp_mirror_name}" | grep -c "“") -gt 0 ]] && let default_mirror_name_length+=$(echo "${tmp_mirror_name}" | grep -c "“")
|
||
[[ $(echo "${tmp_mirror_name}" | grep -c "”") -gt 0 ]] && let default_mirror_name_length+=$(echo "${tmp_mirror_name}" | grep -c "”")
|
||
[[ $(echo "${tmp_mirror_name}" | grep -c "‘") -gt 0 ]] && let default_mirror_name_length+=$(echo "${tmp_mirror_name}" | grep -c "‘")
|
||
[[ $(echo "${tmp_mirror_name}" | grep -c "’") -gt 0 ]] && let default_mirror_name_length+=$(echo "${tmp_mirror_name}" | grep -c "’")
|
||
# 非一般字符长度
|
||
tmp_mirror_name_length=$(StringLength "$(echo "${tmp_mirror_name// /}" | sed "s|[0-9a-zA-Z\.\=\:\_\(\)\'\"-\/\!·]||g;")")
|
||
## 填充空格
|
||
tmp_spaces_nums=$(($((default_mirror_name_length - tmp_mirror_name_length - $(StringLength "${tmp_mirror_name}"))) / 2))
|
||
for ((j = 1; j <= ${tmp_spaces_nums}; j++)); do
|
||
tmp_mirror_name="${tmp_mirror_name} "
|
||
done
|
||
printf " ❖ %-$((default_mirror_name_length + tmp_mirror_name_length))s %4s\n" "${tmp_mirror_name}" "$arr_num)"
|
||
done
|
||
else
|
||
for ((i = 0; i < ${#list_arr[@]}; i++)); do
|
||
tmp_mirror_name=$(echo "${list_arr[i]}" | awk -F '@' '{print$1}') # 软件源名称
|
||
tmp_mirror_url=$(echo "${list_arr[i]}" | awk -F '@' '{print$2}') # 软件源地址
|
||
arr_num=$((i + 1))
|
||
echo -e " ❖ $arr_num. ${tmp_mirror_url} | ${tmp_mirror_name}"
|
||
done
|
||
fi
|
||
}
|
||
|
||
## 选择软件源内网地址
|
||
# 例如部分云计算厂商的镜像站区分外网(公网)地址和内网地址,内网地址仅面向云计算厂商云服务器用户使用
|
||
# 内网地址一般不支持使用 HTTPS 协议,所以默认设置为 HTTP 协议
|
||
function ChooseMirrorIntranetAddress() {
|
||
local intranet_source
|
||
for ((i = 0; i < ${#mirror_list_extranet[@]}; i++)); do
|
||
if [[ "${SOURCE}" == "${mirror_list_extranet[i]}" ]]; then
|
||
# echo "${SOURCE}"
|
||
intranet_source="${mirror_list_intranet[i]}"
|
||
# echo "${intranet_source}"
|
||
# exit
|
||
ONLY_HTTP="True"
|
||
break
|
||
else
|
||
continue
|
||
fi
|
||
done
|
||
if [[ -z "${USE_INTRANET_SOURCE}" ]]; then
|
||
local CHOICE
|
||
CHOICE=$(echo -e "\n${BOLD}└─ 默认使用软件源的公网地址,是否继续? [Y/n] ${PLAIN}")
|
||
read -rp "${CHOICE}" INPUT
|
||
[[ -z "${INPUT}" ]] && INPUT=Y
|
||
case "${INPUT}" in
|
||
[Yy] | [Yy][Ee][Ss]) ;;
|
||
[Nn] | [Nn][Oo])
|
||
SOURCE="${intranet_source}"
|
||
echo -e "\n$WARN 已切换至内网专用地址,仅限在特定环境下使用!"
|
||
;;
|
||
*)
|
||
echo -e "\n$WARN 输入错误,默认不使用内网地址!"
|
||
;;
|
||
esac
|
||
elif [[ "${USE_INTRANET_SOURCE}" == "true" ]]; then
|
||
SOURCE="${intranet_source}"
|
||
fi
|
||
}
|
||
|
||
function Title() {
|
||
local system_name="${SYSTEM_PRETTY_NAME:-"${SYSTEM_NAME} ${SYSTEM_VERSION_NUMBER}"}"
|
||
local arch="${DEVICE_ARCH}"
|
||
local date_time time_zone
|
||
date_time="$(date "+%Y-%m-%d %H:%M:%S")"
|
||
time_zone="$(timedatectl status 2>/dev/null | grep "Time zone" | awk -F ':' '{print$2}' | awk -F ' ' '{print$1}')"
|
||
|
||
echo -e ''
|
||
echo -e " 运行环境 ${BLUE}${system_name} ${arch}${PLAIN}"
|
||
echo -e " 系统时间 ${BLUE}${date_time} ${time_zone}${PLAIN}"
|
||
}
|
||
|
||
Title
|
||
if [[ -z "${SOURCE}" ]]; then
|
||
## 使用官方源
|
||
if [[ "${USE_OFFICIAL_SOURCE}" == "true" ]]; then
|
||
return
|
||
fi
|
||
|
||
if [[ ${USE_ABROAD_SOURCE} = "true" ]]; then
|
||
local mirror_list_name="mirror_list_abroad"
|
||
PrintMirrorsList "${mirror_list_name}" 60
|
||
elif [[ ${USE_EDU_SOURCE} = "true" ]]; then
|
||
local mirror_list_name="mirror_list_edu"
|
||
PrintMirrorsList "${mirror_list_name}" 31
|
||
else
|
||
local mirror_list_name="mirror_list_default"
|
||
PrintMirrorsList "${mirror_list_name}" 31
|
||
fi
|
||
|
||
local CHOICE
|
||
CHOICE=$(echo -e "\n${BOLD}└─ 请选择并输入你想使用的软件源 [ 1-$(eval echo \${#$mirror_list_name[@]}) ]:${PLAIN}")
|
||
while true; do
|
||
read -rp "${CHOICE}" INPUT
|
||
case "${INPUT}" in
|
||
[1-9] | [1-9][0-9] | [1-9][0-9][0-9])
|
||
local tmp_source
|
||
tmp_source="$(eval echo \${${mirror_list_name}[$((INPUT - 1))]})"
|
||
if [[ -z "${tmp_source}" ]]; then
|
||
echo -e "\n$WARN 请输入有效的数字序号!"
|
||
else
|
||
SOURCE="$(eval echo \${${mirror_list_name}[$((INPUT - 1))]} | awk -F '@' '{print$2}')"
|
||
# echo "${SOURCE}"
|
||
# exit
|
||
break
|
||
fi
|
||
;;
|
||
*)
|
||
echo -e "\n$WARN 请输入数字序号以选择你想使用的软件源!"
|
||
;;
|
||
esac
|
||
done
|
||
fi
|
||
|
||
## 选择软件源内网地址
|
||
if [[ "${mirror_list_extranet[*]}" =~ (^|[^[:alpha:]])"${SOURCE}"([^[:alpha:]]|$) ]]; then
|
||
ChooseMirrorIntranetAddress
|
||
fi
|
||
}
|
||
|
||
## 选择同步软件源所使用的 WEB 协议( HTTP:80 端口,HTTPS:443 端口)
|
||
function ChooseWebProtocol() {
|
||
if [[ -z "${WEB_PROTOCOL}" ]]; then
|
||
if [[ "${ONLY_HTTP}" == "True" ]]; then
|
||
WEB_PROTOCOL="http"
|
||
else
|
||
local CHOICE
|
||
CHOICE=$(echo -e "\n${BOLD}└─ 软件源是否使用 HTTP 协议? [Y/n] ${PLAIN}")
|
||
read -rp "${CHOICE}" INPUT
|
||
[[ -z "${INPUT}" ]] && INPUT=Y
|
||
case "${INPUT}" in
|
||
[Yy] | [Yy][Ee][Ss])
|
||
WEB_PROTOCOL="http"
|
||
;;
|
||
[Nn] | [Nn][Oo])
|
||
WEB_PROTOCOL="https"
|
||
;;
|
||
*)
|
||
echo -e "\n$WARN 输入错误,默认使用 HTTPS 协议!"
|
||
WEB_PROTOCOL="https"
|
||
;;
|
||
esac
|
||
fi
|
||
fi
|
||
WEB_PROTOCOL="${WEB_PROTOCOL,,}"
|
||
}
|
||
|
||
# 适用于 RHEL/CentOS(Stream)/RockyLinux 的 EPEL 附加软件包(安装/换源)
|
||
function ChooseInstallEPEL() {
|
||
function Check() {
|
||
## 判断是否已安装 EPEL 软件包
|
||
rpm -qa | grep epel-release -q
|
||
VERIFICATION_EPEL=$?
|
||
## 判断 /etc/yum.repos.d 目录下是否存在 epel 附加软件包 repo 源文件
|
||
[ -d $Dir_YumRepos ] && ls $Dir_YumRepos | grep epel -q
|
||
VERIFICATION_EPELFILES=$?
|
||
## 判断 /etc/yum.repos.d.bak 目录下是否存在 epel 附加软件包 repo 源文件
|
||
[ -d $Dir_YumReposBackup ] && ls $Dir_YumReposBackup | grep epel -q
|
||
VERIFICATION_EPELBACKUPFILES=$?
|
||
}
|
||
|
||
if [[ "${SYSTEM_FACTIONS}" == "${SYSTEM_REDHAT}" ]]; then
|
||
if [[ -z "${INSTALL_EPEL}" ]]; then
|
||
case "${SYSTEM_JUDGMENT}" in
|
||
"${SYSTEM_RHEL}" | "${SYSTEM_CENTOS}" | "${SYSTEM_CENTOS_STREAM}" | "${SYSTEM_ROCKY}" | "${SYSTEM_ALMALINUX}" | "${SYSTEM_OPENCLOUDOS}")
|
||
Check
|
||
if [ ${VERIFICATION_EPEL} -eq 0 ]; then
|
||
local CHOICE
|
||
CHOICE=$(echo -e "\n${BOLD}└─ 检测到系统已安装 EPEL 附加软件包,是否替换/覆盖软件源? [Y/n] ${PLAIN}")
|
||
else
|
||
local CHOICE
|
||
CHOICE=$(echo -e "\n${BOLD}└─ 是否安装 EPEL 附加软件包? [Y/n] ${PLAIN}")
|
||
fi
|
||
read -rp "${CHOICE}" INPUT
|
||
[[ -z "${INPUT}" ]] && INPUT=Y
|
||
case "${INPUT}" in
|
||
[Yy] | [Yy][Ee][Ss])
|
||
INSTALL_EPEL="True"
|
||
;;
|
||
[Nn] | [Nn][Oo])
|
||
INSTALL_EPEL="False"
|
||
;;
|
||
*)
|
||
echo -e "\n$WARN 输入错误,默认不更换!"
|
||
INSTALL_EPEL="False"
|
||
;;
|
||
esac
|
||
;;
|
||
esac
|
||
elif [[ "${INSTALL_EPEL}" == "true" ]]; then
|
||
Check
|
||
fi
|
||
fi
|
||
}
|
||
|
||
## 关闭防火墙和SELinux
|
||
function CloseFirewall() {
|
||
function Main() {
|
||
local SelinuxConfig=/etc/selinux/config
|
||
systemctl disable --now firewalld >/dev/null 2>&1
|
||
[ -s $SelinuxConfig ] && sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" $SelinuxConfig && setenforce 0 >/dev/null 2>&1
|
||
}
|
||
|
||
if [ -x /usr/bin/systemctl ]; then
|
||
if [[ "$(systemctl is-active firewalld)" == "active" ]]; then
|
||
if [[ "${CLOSE_FIREWALL}" == "true" ]]; then
|
||
Main
|
||
elif [[ -z "${CLOSE_FIREWALL}" ]]; then
|
||
local CHOICE
|
||
CHOICE=$(echo -e "\n${BOLD}└─ 是否关闭防火墙和 SELinux ? [Y/n] ${PLAIN}")
|
||
read -rp "${CHOICE}" INPUT
|
||
[[ -z "${INPUT}" ]] && INPUT=Y
|
||
case "${INPUT}" in
|
||
[Yy] | [Yy][Ee][Ss])
|
||
Main
|
||
;;
|
||
[Nn] | [Nn][Oo]) ;;
|
||
*)
|
||
echo -e "\n$WARN 输入错误,默认不关闭!"
|
||
;;
|
||
esac
|
||
fi
|
||
fi
|
||
fi
|
||
}
|
||
|
||
## 备份原有软件源
|
||
function BackupOriginMirrors() {
|
||
function BackupFile() {
|
||
local target_file=$1
|
||
local backup_file=$2
|
||
local type="$3"
|
||
|
||
if [ -s "$target_file" ]; then
|
||
if [ -s "$backup_file" ]; then
|
||
if [[ "${IGNORE_BACKUP_TIPS}" == "false" ]]; then
|
||
local CHOICE_BACKUP1
|
||
CHOICE_BACKUP1=$(echo -e "\n${BOLD}└─ 检测到系统中存在已备份的${type}源文件,是否跳过覆盖备份? [Y/n] ${PLAIN}")
|
||
read -rp "${CHOICE_BACKUP1}" INPUT
|
||
[[ -z "${INPUT}" ]] && INPUT=Y
|
||
case "${INPUT}" in
|
||
[Yy] | [Yy][Ee][Ss]) ;;
|
||
[Nn] | [Nn][Oo])
|
||
echo ''
|
||
cp -rvf "$target_file" "$backup_file" 2>&1
|
||
BACKUPED="true"
|
||
;;
|
||
*)
|
||
echo -e "\n$WARN 输入错误,默认不覆盖!"
|
||
;;
|
||
esac
|
||
fi
|
||
else
|
||
echo ''
|
||
cp -rvf "$target_file" "$backup_file" 2>&1
|
||
BACKUPED="true"
|
||
echo -e "\n$COMPLETE 已备份原有${type}源文件"
|
||
sleep 1s
|
||
fi
|
||
else
|
||
[ -f "$target_file" ] || touch "$target_file"
|
||
echo -e ''
|
||
fi
|
||
}
|
||
function BackupRepo() {
|
||
local target_dir=$1
|
||
local backup_dir=$2
|
||
local VERIFICATION_FILES=1
|
||
local VERIFICATION_BACKUPFILES=1
|
||
|
||
[ -d "$target_dir" ] && ls "$target_dir" | grep '\.repo$' -q
|
||
VERIFICATION_FILES=$?
|
||
[ -d "$backup_dir" ] && ls "$backup_dir" | grep '\.repo$' -q
|
||
VERIFICATION_BACKUPFILES=$?
|
||
if [ ${VERIFICATION_FILES} -eq 0 ]; then
|
||
if [ -d "$backup_dir" ] && [ ${VERIFICATION_BACKUPFILES} -eq 0 ]; then
|
||
if [[ "${IGNORE_BACKUP_TIPS}" == "false" ]]; then
|
||
local CHOICE_BACKUP3
|
||
CHOICE_BACKUP3=$(echo -e "\n${BOLD}└─ 检测到系统中存在已备份的 repo 源文件,是否跳过覆盖备份? [Y/n] ${PLAIN}")
|
||
read -rp "${CHOICE_BACKUP3}" INPUT
|
||
[[ -z "${INPUT}" ]] && INPUT=Y
|
||
case "${INPUT}" in
|
||
[Yy] | [Yy][Ee][Ss]) ;;
|
||
[Nn] | [Nn][Oo])
|
||
echo ''
|
||
cp -rvf $target_dir/* "$backup_dir" 2>&1
|
||
BACKUPED="true"
|
||
;;
|
||
*)
|
||
echo -e "\n$WARN 输入错误,默认不覆盖!"
|
||
;;
|
||
esac
|
||
fi
|
||
else
|
||
[ ! -d "$backup_dir" ] && mkdir -p "$backup_dir"
|
||
echo ''
|
||
cp -rvf $target_dir}/* "$backup_dir" 2>&1
|
||
BACKUPED="true"
|
||
echo -e "\n$COMPLETE 已备份原有 repo 源文件"
|
||
sleep 1s
|
||
fi
|
||
else
|
||
[ -d "$target_dir" ] || mkdir -p "$target_dir"
|
||
fi
|
||
}
|
||
|
||
BACKUPED="false"
|
||
if [[ "${BACKUP}" == "true" ]]; then
|
||
case "${SYSTEM_FACTIONS}" in
|
||
"${SYSTEM_DEBIAN}")
|
||
## /etc/apt/sources.list
|
||
BackupFile $File_DebianSourceList $File_DebianSourceListBackup " list "
|
||
;;
|
||
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_OPENEULER}")
|
||
## /etc/yum.repos.d
|
||
BackupRepo $Dir_YumRepos $Dir_YumReposBackup
|
||
;;
|
||
"${SYSTEM_OPENSUSE}")
|
||
## /etc/zypp/repos.d
|
||
BackupRepo $Dir_openSUSERepos $Dir_openSUSEReposBackup
|
||
;;
|
||
"${SYSTEM_ARCH}")
|
||
## /etc/pacman.d/mirrorlist
|
||
BackupFile $File_ArchMirrorList $File_ArchMirrorListBackup " mirrorlist "
|
||
;;
|
||
esac
|
||
fi
|
||
}
|
||
|
||
## 移除原有软件源
|
||
function RemoveOriginMirrors() {
|
||
case "${SYSTEM_FACTIONS}" in
|
||
"${SYSTEM_DEBIAN}")
|
||
[ -f $File_DebianSourceList ] && sed -i '1,$d' $File_DebianSourceList
|
||
;;
|
||
"${SYSTEM_REDHAT}")
|
||
if [ -d $Dir_YumRepos ]; then
|
||
case "${SYSTEM_JUDGMENT}" in
|
||
"${SYSTEM_FEDORA}")
|
||
rm -rf $Dir_YumRepos/fedora*
|
||
;;
|
||
*)
|
||
if [[ "${ONLY_EPEL}" == "false" ]]; then
|
||
case "${SYSTEM_JUDGMENT}" in
|
||
"${SYSTEM_RHEL}")
|
||
case ${SYSTEM_VERSION_NUMBER:0:1} in
|
||
9)
|
||
rm -rf $Dir_YumRepos/rocky*
|
||
;;
|
||
*)
|
||
if [ -f $Dir_YumRepos/epel.repo ]; then
|
||
ls $Dir_YumRepos/ | grep -Ev epel | xargs -0 rm -rf
|
||
else
|
||
rm -rf $Dir_YumRepos/*
|
||
fi
|
||
;;
|
||
esac
|
||
;;
|
||
"${SYSTEM_CENTOS}")
|
||
if [ -f $Dir_YumRepos/epel.repo ]; then
|
||
ls $Dir_YumRepos/ | grep -Ev epel | xargs -0 rm -rf
|
||
else
|
||
rm -rf $Dir_YumRepos/*
|
||
fi
|
||
;;
|
||
"${SYSTEM_CENTOS_STREAM}")
|
||
case ${SYSTEM_VERSION_NUMBER:0:1} in
|
||
9)
|
||
rm -rf $Dir_YumRepos/centos*
|
||
;;
|
||
8)
|
||
rm -rf $Dir_YumRepos/CentOS-Stream-*
|
||
;;
|
||
esac
|
||
;;
|
||
"${SYSTEM_ROCKY}")
|
||
case ${SYSTEM_VERSION_NUMBER:0:1} in
|
||
9)
|
||
rm -rf $Dir_YumRepos/rocky*
|
||
;;
|
||
8)
|
||
rm -rf $Dir_YumRepos/Rocky-*
|
||
;;
|
||
esac
|
||
;;
|
||
"${SYSTEM_ALMALINUX}")
|
||
rm -rf $Dir_YumRepos/almalinux*
|
||
;;
|
||
esac
|
||
fi
|
||
;;
|
||
esac
|
||
fi
|
||
;;
|
||
"${SYSTEM_OPENCLOUDOS}")
|
||
[ -d $Dir_YumRepos ] && rm -rf $Dir_YumRepos/OpenCloudOS*
|
||
;;
|
||
"${SYSTEM_OPENEULER}")
|
||
[ -d $Dir_YumRepos ] && rm -rf $Dir_YumRepos/openEuler.repo
|
||
;;
|
||
"${SYSTEM_OPENSUSE}")
|
||
[ -d $Dir_openSUSERepos ] && rm -rf $Dir_openSUSERepos/repo-*
|
||
;;
|
||
"${SYSTEM_ARCH}")
|
||
[ -f $File_ArchMirrorList ] && sed -i '1,$d' $File_ArchMirrorList
|
||
;;
|
||
esac
|
||
}
|
||
|
||
## 换源
|
||
function ChangeMirrors() {
|
||
## 打印修改前后差异
|
||
function PrintDiff() {
|
||
## Debian/Arch 比较模式
|
||
function DiffMode1() {
|
||
local backup_file=$1
|
||
local origin_file=$2
|
||
if [[ -s $backup_file && -s $origin_file ]]; then
|
||
if [[ "$(cat "$backup_file")" != "$(cat "$origin_file")" ]]; then
|
||
echo -e "\n${BLUE}${backup_file}${PLAIN} -> ${BLUE}${origin_file}${PLAIN}"
|
||
diff "$backup_file" "$origin_file" -d --color=always -I -B -E
|
||
fi
|
||
fi
|
||
}
|
||
## RedHat/openEuler/openSUSE 比较模式
|
||
function DiffMode2() {
|
||
local backup_dir=$1
|
||
local origin_dir=$2
|
||
local backup_file origin_file
|
||
for item in $(ls $backup_dir | xargs); do
|
||
backup_file="$backup_dir/$item"
|
||
origin_file="$origin_dir/$item"
|
||
if [[ "$(cat $backup_file)" != "$(cat $origin_file)" ]]; then
|
||
echo -e "\n${BLUE}${backup_file}${PLAIN} -> ${BLUE}${origin_file}${PLAIN}"
|
||
diff "$backup_file" "$origin_file" -d --color=always -I -B -E
|
||
fi
|
||
done
|
||
}
|
||
|
||
if [[ -x /usr/bin/diff && "${BACKUPED}" == "true" ]]; then
|
||
case "${SYSTEM_FACTIONS}" in
|
||
"${SYSTEM_DEBIAN}")
|
||
DiffMode1 $File_DebianSourceListBackup $File_DebianSourceList
|
||
;;
|
||
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_OPENEULER}")
|
||
DiffMode2 $Dir_YumReposBackup $Dir_YumRepos
|
||
;;
|
||
"${SYSTEM_OPENSUSE}")
|
||
DiffMode2 $Dir_openSUSEReposBackup $Dir_openSUSERepos
|
||
;;
|
||
"${SYSTEM_ARCH}")
|
||
DiffMode1 $File_ArchMirrorListBackup $File_ArchMirrorList
|
||
;;
|
||
esac
|
||
fi
|
||
}
|
||
|
||
## 调用换源函数
|
||
case "${SYSTEM_FACTIONS}" in
|
||
"${SYSTEM_DEBIAN}")
|
||
DebianMirrors
|
||
;;
|
||
"${SYSTEM_REDHAT}")
|
||
RedHatMirrors
|
||
;;
|
||
"${SYSTEM_OPENCLOUDOS}")
|
||
OpenCloudOSMirrors
|
||
;;
|
||
"${SYSTEM_OPENEULER}")
|
||
openEulerMirrors
|
||
;;
|
||
"${SYSTEM_OPENSUSE}")
|
||
openSUSEMirrors
|
||
;;
|
||
"${SYSTEM_ARCH}")
|
||
ArchMirrors
|
||
;;
|
||
esac
|
||
## 比较差异
|
||
if [[ "${PRINT_DIFF}" == true ]]; then
|
||
PrintDiff
|
||
fi
|
||
## 软件源同步/更新
|
||
echo -e "\n${WORKING} 开始${SYNC_TXT}软件源...\n"
|
||
case "${SYSTEM_FACTIONS}" in
|
||
"${SYSTEM_DEBIAN}")
|
||
apt-get update
|
||
;;
|
||
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_OPENEULER}")
|
||
yum makecache
|
||
;;
|
||
"${SYSTEM_OPENSUSE}")
|
||
zypper ref
|
||
;;
|
||
"${SYSTEM_ARCH}")
|
||
pacman -Sy
|
||
;;
|
||
esac
|
||
if [ $? -eq 0 ]; then
|
||
echo -e "\n$COMPLETE 软件源更换完毕"
|
||
else
|
||
echo -e "\n$FAIL 软件源${SYNC_TXT}失败\n"
|
||
echo -e "请再次执行脚本并更换相同软件源后进行尝试,若仍然${SYNC_TXT}失败那么可能由以下原因导致"
|
||
echo -e "1. 网络问题:例如连接异常、网络间歇式中断、由地区影响的网络因素等"
|
||
echo -e "2. 软件源问题:例如正在维护,或者出现罕见的文件同步出错导致软件源${SYNC_TXT}命令执行后返回错误状态,请前往镜像站对应路径验证"
|
||
echo -e "\n软件源地址:${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH}\n"
|
||
exit 1
|
||
fi
|
||
}
|
||
|
||
## 更新软件包
|
||
function UpdateSoftware() {
|
||
function Main() {
|
||
echo -e ''
|
||
case "${SYSTEM_FACTIONS}" in
|
||
"${SYSTEM_DEBIAN}")
|
||
apt-get upgrade -y
|
||
;;
|
||
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_OPENEULER}")
|
||
yum update -y --skip-broken
|
||
;;
|
||
"${SYSTEM_OPENSUSE}")
|
||
zypper update -y
|
||
;;
|
||
esac
|
||
}
|
||
function CleanCache() {
|
||
case "${SYSTEM_FACTIONS}" in
|
||
"${SYSTEM_DEBIAN}")
|
||
apt-get autoremove -y >/dev/null 2>&1
|
||
apt-get clean >/dev/null 2>&1
|
||
;;
|
||
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_OPENEULER}")
|
||
yum autoremove -y >/dev/null 2>&1
|
||
yum clean packages -y >/dev/null 2>&1
|
||
;;
|
||
"${SYSTEM_OPENSUSE}")
|
||
zypper clean >/dev/null 2>&1
|
||
;;
|
||
esac
|
||
echo -e "\n$COMPLETE 清理完毕"
|
||
}
|
||
function MainInteraction() {
|
||
local CHOICE
|
||
CHOICE=$(echo -e "\n${BOLD}└─ 是否跳过更新软件包? [Y/n] ${PLAIN}")
|
||
read -rp "${CHOICE}" INPUT
|
||
[[ -z "${INPUT}" ]] && INPUT=Y
|
||
case "${INPUT}" in
|
||
[Yy] | [Yy][Ee][Ss]) ;;
|
||
[Nn] | [Nn][Oo])
|
||
Main
|
||
if [[ "${CLEAN_CACHE}" == "true" ]]; then
|
||
CleanCache
|
||
elif [[ -z "${CLEAN_CACHE}" ]]; then
|
||
CleanCacheInteraction
|
||
fi
|
||
;;
|
||
*)
|
||
echo -e "\n$WARN 输入错误,默认不更新!"
|
||
;;
|
||
esac
|
||
}
|
||
function CleanCacheInteraction() {
|
||
local CHOICE
|
||
CHOICE=$(echo -e "\n${BOLD}└─ 是否清理已下载的软件包缓存? [Y/n] ${PLAIN}")
|
||
read -rp "${CHOICE}" INPUT
|
||
[[ -z "${INPUT}" ]] && INPUT=Y
|
||
case "${INPUT}" in
|
||
[Yy] | [Yy][Ee][Ss])
|
||
CleanCache
|
||
;;
|
||
[Nn] | [Nn][Oo]) ;;
|
||
*)
|
||
echo -e "\n$WARN 输入错误,默认不清理!"
|
||
;;
|
||
esac
|
||
}
|
||
|
||
## Arch Linux 和 Red Hat Enterprise Linux 系统不更新软件包
|
||
if [[ "${UPDATA_SOFTWARE}" == "true" ]]; then
|
||
Main
|
||
if [[ "${CLEAN_CACHE}" == "true" ]]; then
|
||
CleanCache
|
||
elif [[ -z "${CLEAN_CACHE}" ]]; then
|
||
if [[ "${SYSTEM_JUDGMENT}" != "${SYSTEM_ARCH}" && "${SYSTEM_JUDGMENT}" != "${SYSTEM_RHEL}" ]]; then
|
||
CleanCacheInteraction
|
||
fi
|
||
fi
|
||
elif [[ -z "${UPDATA_SOFTWARE}" ]]; then
|
||
if [[ "${SYSTEM_JUDGMENT}" != "${SYSTEM_ARCH}" && "${SYSTEM_JUDGMENT}" != "${SYSTEM_RHEL}" ]]; then
|
||
MainInteraction
|
||
fi
|
||
fi
|
||
}
|
||
|
||
## 运行结束
|
||
function RunEnd() {
|
||
echo -e "\n$COMPLETE 脚本执行结束"
|
||
echo -e "\n\033[1;34mPowered by linuxmirrors.cn\033[0m\n"
|
||
}
|
||
|
||
##############################################################################
|
||
|
||
## 更换基于 Debian 系 Linux 发行版的软件源
|
||
function DebianMirrors() {
|
||
## 使用官方源
|
||
if [[ "${USE_OFFICIAL_SOURCE}" == "true" ]]; then
|
||
case "${SYSTEM_JUDGMENT}" in
|
||
"${SYSTEM_DEBIAN}")
|
||
SOURCE="deb.debian.org"
|
||
;;
|
||
"${SYSTEM_UBUNTU}")
|
||
SOURCE="archive.ubuntu.com"
|
||
;;
|
||
"${SYSTEM_KALI}")
|
||
SOURCE="http.kali.org"
|
||
;;
|
||
"${SYSTEM_DEEPIN}")
|
||
SOURCE="community-packages.deepin.com"
|
||
;;
|
||
esac
|
||
fi
|
||
local source_suffix
|
||
local tips="## 默认禁用源码镜像以提高速度,如需启用请自行取消注释"
|
||
local basic_url="${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH}"
|
||
case "${SYSTEM_JUDGMENT}" in
|
||
"${SYSTEM_DEBIAN}")
|
||
case "${SYSTEM_VERSION_NUMBER}" in
|
||
12)
|
||
source_suffix="main contrib non-free non-free-firmware"
|
||
;;
|
||
*)
|
||
source_suffix="main contrib non-free"
|
||
;;
|
||
esac
|
||
echo "${tips}
|
||
deb ${basic_url} ${SYSTEM_VERSION_CODENAME} ${source_suffix}
|
||
# deb-src ${basic_url} ${SYSTEM_VERSION_CODENAME} ${source_suffix}
|
||
deb ${basic_url} ${SYSTEM_VERSION_CODENAME}-updates ${source_suffix}
|
||
# deb-src ${basic_url} ${SYSTEM_VERSION_CODENAME}-updates ${source_suffix}
|
||
deb ${basic_url} ${SYSTEM_VERSION_CODENAME}-backports ${source_suffix}
|
||
# deb-src ${basic_url} ${SYSTEM_VERSION_CODENAME}-backports ${source_suffix}" >>$File_DebianSourceList
|
||
## 处理 debian-security 仓库
|
||
local security_url="${SOURCE_SECURITY:-"${SOURCE}"}"
|
||
if [[ -z "${SOURCE_SECURITY}" ]]; then
|
||
if [[ "${USE_ABROAD_SOURCE}" == "true" ]]; then
|
||
local security_url="https://security.debian.org/${SOURCE_BRANCH_SECURITY:-"${SOURCE_BRANCH}-security"}"
|
||
else
|
||
local security_url="${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH_SECURITY:-"${SOURCE_BRANCH}-security"}"
|
||
fi
|
||
else
|
||
local security_url="${WEB_PROTOCOL}://${SOURCE_SECURITY}/${SOURCE_BRANCH_SECURITY:-"${SOURCE_BRANCH}-security"}"
|
||
fi
|
||
echo "deb ${security_url} ${SYSTEM_VERSION_CODENAME}-security ${source_suffix}
|
||
# deb-src ${security_url} ${SYSTEM_VERSION_CODENAME}-security ${source_suffix}" >>$File_DebianSourceList
|
||
;;
|
||
"${SYSTEM_UBUNTU}")
|
||
source_suffix="main restricted universe multiverse"
|
||
echo "${tips}
|
||
deb ${basic_url} ${SYSTEM_VERSION_CODENAME} ${source_suffix}
|
||
# deb-src ${basic_url} ${SYSTEM_VERSION_CODENAME} ${source_suffix}
|
||
deb ${basic_url} ${SYSTEM_VERSION_CODENAME}-updates ${source_suffix}
|
||
# deb-src ${basic_url} ${SYSTEM_VERSION_CODENAME}-updates ${source_suffix}
|
||
deb ${basic_url} ${SYSTEM_VERSION_CODENAME}-backports ${source_suffix}
|
||
# deb-src ${basic_url} ${SYSTEM_VERSION_CODENAME}-backports ${source_suffix}
|
||
deb ${basic_url} ${SYSTEM_VERSION_CODENAME}-security ${source_suffix}
|
||
# deb-src ${basic_url} ${SYSTEM_VERSION_CODENAME}-security ${source_suffix}
|
||
|
||
## 预发布软件源(不建议启用)
|
||
# deb ${basic_url} ${SYSTEM_VERSION_CODENAME}-proposed ${source_suffix}
|
||
# deb-src ${basic_url} ${SYSTEM_VERSION_CODENAME}-proposed ${source_suffix}" >>$File_DebianSourceList
|
||
;;
|
||
"${SYSTEM_KALI}")
|
||
source_suffix="main non-free contrib"
|
||
echo "${tips}
|
||
deb ${basic_url} ${SYSTEM_VERSION_CODENAME} ${source_suffix}
|
||
# deb-src ${basic_url} ${SYSTEM_VERSION_CODENAME} ${source_suffix}" >>$File_DebianSourceList
|
||
;;
|
||
"${SYSTEM_DEEPIN}")
|
||
source_suffix="apricot main contrib non-free"
|
||
echo "${tips}
|
||
deb ${basic_url} ${source_suffix}
|
||
# deb-src ${basic_url} ${source_suffix}" >>$File_DebianSourceList
|
||
;;
|
||
esac
|
||
}
|
||
|
||
## 更换基于 RedHat 系 Linux 发行版软件源
|
||
function RedHatMirrors() {
|
||
## 安装/更换 EPEL (Extra Packages for Enterprise Linux) 附加软件包软件源
|
||
function EPELMirrors() {
|
||
## 安装 EPEL 软件包
|
||
if [ "${VERIFICATION_EPEL}" -ne 0 ]; then
|
||
echo -e "\n${WORKING} 安装 epel-release 软件包...\n"
|
||
yum install -y https://mirrors.cloud.tencent.com/epel/epel-release-latest-${SYSTEM_VERSION_NUMBER:0:1}.noarch.rpm
|
||
fi
|
||
## 删除原有 repo 源文件
|
||
[ "${VERIFICATION_EPELFILES}" -eq 0 ] && rm -rf $Dir_YumRepos/epel*
|
||
[ "${VERIFICATION_EPELBACKUPFILES}" -eq 0 ] && rm -rf $Dir_YumReposBackup/epel*
|
||
## 生成 repo 源文件
|
||
GenRepoFiles_EPEL
|
||
if [[ "${USE_OFFICIAL_SOURCE}" == "true" ]]; then
|
||
return
|
||
fi
|
||
|
||
# 更换 WEB 协议(HTTP/HTTPS)
|
||
case ${SYSTEM_VERSION_NUMBER:0:1} in
|
||
9 | 8)
|
||
sed -i "s|^#baseurl=https|baseurl=${WEB_PROTOCOL}|g" $Dir_YumRepos/epel*
|
||
;;
|
||
7)
|
||
sed -i "s|^#baseurl=http|baseurl=${WEB_PROTOCOL}|g" $Dir_YumRepos/epel*
|
||
;;
|
||
esac
|
||
# 修改源
|
||
sed -i 's|^metalink=|#metalink=|g' $Dir_YumRepos/epel*
|
||
case ${SYSTEM_VERSION_NUMBER:0:1} in
|
||
9)
|
||
sed -i "s|download.example/pub|${SOURCE}|g" $Dir_YumRepos/epel*
|
||
;;
|
||
8 | 7)
|
||
sed -i "s|download.fedoraproject.org/pub|${SOURCE}|g" $Dir_YumRepos/epel*
|
||
;;
|
||
esac
|
||
}
|
||
## 仅 EPEL 模式
|
||
if [[ "${ONLY_EPEL}" == "true" ]]; then
|
||
EPELMirrors
|
||
return
|
||
fi
|
||
## 生成基于 RedHat 发行版和及其衍生发行版的官方 repo 源文件
|
||
case "${SYSTEM_JUDGMENT}" in
|
||
"${SYSTEM_RHEL}")
|
||
case ${SYSTEM_VERSION_NUMBER:0:1} in
|
||
9)
|
||
GenRepoFiles_RockyLinux "${SYSTEM_VERSION_NUMBER:0:1}"
|
||
;;
|
||
*)
|
||
GenRepoFiles_CentOS "${SYSTEM_VERSION_NUMBER:0:1}"
|
||
;;
|
||
esac
|
||
;;
|
||
"${SYSTEM_CENTOS}")
|
||
GenRepoFiles_CentOS "${SYSTEM_VERSION_NUMBER:0:1}"
|
||
;;
|
||
"${SYSTEM_CENTOS_STREAM}")
|
||
GenRepoFiles_CentOSStream "${SYSTEM_VERSION_NUMBER:0:1}"
|
||
;;
|
||
"${SYSTEM_ROCKY}")
|
||
GenRepoFiles_RockyLinux "${SYSTEM_VERSION_NUMBER:0:1}"
|
||
;;
|
||
"${SYSTEM_ALMALINUX}")
|
||
GenRepoFiles_AlmaLinux "${SYSTEM_VERSION_NUMBER:0:1}"
|
||
;;
|
||
"${SYSTEM_FEDORA}")
|
||
GenRepoFiles_Fedora
|
||
;;
|
||
esac
|
||
if [[ "${USE_OFFICIAL_SOURCE}" == "true" ]]; then
|
||
return
|
||
fi
|
||
|
||
## 修改源
|
||
cd $Dir_YumRepos
|
||
case "${SYSTEM_JUDGMENT}" in
|
||
"${SYSTEM_RHEL}")
|
||
case ${SYSTEM_VERSION_NUMBER:0:1} in
|
||
9)
|
||
# wget "${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH}/RPM-GPG-KEY-rockyofficial" -P /etc/pki/rpm-gpg
|
||
# wget "${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH}/RPM-GPG-KEY-Rocky-9" -P /etc/pki/rpm-gpg
|
||
sed -e "s|^#baseurl=http|baseurl=${WEB_PROTOCOL}|g" \
|
||
-e "s|^mirrorlist=|#mirrorlist=|g" \
|
||
-e "s|^gpgcheck=1|gpgcheck=0|g" \
|
||
-e "s|^gpgkey=|#gpgkey=|g" \
|
||
-e "s|dl.rockylinux.org/\$contentdir|${SOURCE}/${SOURCE_BRANCH}|g" \
|
||
-i \
|
||
rocky.repo \
|
||
rocky-addons.repo \
|
||
rocky-devel.repo \
|
||
rocky-extras.repo
|
||
;;
|
||
*)
|
||
sed -i "s|^#baseurl=http|baseurl=${WEB_PROTOCOL}|g" CentOS-*
|
||
sed -i 's|^mirrorlist=|#mirrorlist=|g' CentOS-*
|
||
case ${SYSTEM_VERSION_NUMBER:0:1} in
|
||
8)
|
||
sed -i "s|mirror.centos.org/\$contentdir|mirror.centos.org/centos-vault|g" CentOS-*
|
||
sed -i "s/\$releasever/8.5.2111/g" CentOS-*
|
||
# 单独处理 CentOS-Linux-Sources.repo
|
||
sed -i "s|vault.centos.org/\$contentdir|${SOURCE_VAULT:-"${SOURCE}"}/${SOURCE_BRANCH_VAULT:-"centos-vault"}|g" CentOS-Linux-Sources.repo
|
||
;;
|
||
7)
|
||
sed -i "s|mirror.centos.org/\$contentdir|mirror.centos.org/${SOURCE_BRANCH}|g" CentOS-*
|
||
sed -i "s/\$releasever/7/g" CentOS-*
|
||
# 单独处理 CentOS-Sources.repo
|
||
sed -i "s|vault.centos.org/centos|${SOURCE_VAULT:-"${SOURCE}"}/${SOURCE_BRANCH_VAULT:-"${SOURCE_BRANCH}"}|g" CentOS-Sources.repo
|
||
;;
|
||
esac
|
||
sed -i "s|mirror.centos.org|${SOURCE}|g" CentOS-*
|
||
;;
|
||
esac
|
||
;;
|
||
"${SYSTEM_CENTOS}")
|
||
sed -i "s|^#baseurl=http|baseurl=${WEB_PROTOCOL}|g" CentOS-*
|
||
sed -i 's|^mirrorlist=|#mirrorlist=|g' CentOS-*
|
||
case ${SYSTEM_VERSION_NUMBER:0:1} in
|
||
8)
|
||
## CentOS 8 操作系统版本结束了生命周期(EOL),Linux 社区已不再维护该操作系统版本,最终版本为 8.5.2011
|
||
# 原 centos 镜像中的 CentOS 8 相关内容已被官方移动,从 2022-02 开始切换至 centos-vault 源
|
||
sed -i "s|mirror.centos.org/\$contentdir|mirror.centos.org/centos-vault|g" CentOS-*
|
||
sed -i "s/\$releasever/8.5.2111/g" CentOS-*
|
||
# 单独处理 CentOS-Linux-Sources.repo
|
||
sed -i "s|vault.centos.org/\$contentdir|${SOURCE_VAULT:-"${SOURCE}"}/${SOURCE_BRANCH_VAULT:-"centos-vault"}|g" CentOS-Linux-Sources.repo
|
||
;;
|
||
7)
|
||
sed -i "s|mirror.centos.org/\$contentdir|mirror.centos.org/${SOURCE_BRANCH}|g" CentOS-*
|
||
sed -i "s|vault.centos.org/centos|${SOURCE_VAULT:-"${SOURCE}"}/${SOURCE_BRANCH_VAULT:-"${SOURCE_BRANCH}"}|g" CentOS-Sources.repo # 单独处理 CentOS-Sources.repo
|
||
;;
|
||
esac
|
||
sed -i "s|mirror.centos.org|${SOURCE}|g" CentOS-*
|
||
;;
|
||
"${SYSTEM_CENTOS_STREAM}")
|
||
# CentOS Stream 9 使用的是 centos-stream 镜像,而 CentOS Stream 8 使用的是 centos 镜像
|
||
case ${SYSTEM_VERSION_NUMBER:0:1} in
|
||
9)
|
||
sed -e "s|^#baseurl=https|baseurl=${WEB_PROTOCOL}|g" \
|
||
-e "s|^metalink=|#metalink=|g" \
|
||
-e "s|mirror.stream.centos.org|${SOURCE}/${SOURCE_BRANCH}|g" \
|
||
-i \
|
||
centos.repo \
|
||
centos-addons.repo
|
||
;;
|
||
8)
|
||
sed -i "s|vault.centos.org/\$contentdir|${SOURCE_VAULT:-"${SOURCE}"}/${SOURCE_BRANCH_VAULT:-"${SOURCE_BRANCH}"}|g" CentOS-Stream-Sources.repo # 单独处理 CentOS-Stream-Sources.repo
|
||
sed -e "s|^#baseurl=http|baseurl=${WEB_PROTOCOL}|g" \
|
||
-e "s|^mirrorlist=|#mirrorlist=|g" \
|
||
-e "s|mirror.centos.org/\$contentdir|${SOURCE}/${SOURCE_BRANCH}|g" \
|
||
-i \
|
||
CentOS-Stream-*
|
||
;;
|
||
esac
|
||
;;
|
||
"${SYSTEM_ROCKY}")
|
||
case ${SYSTEM_VERSION_NUMBER:0:1} in
|
||
9)
|
||
sed -e "s|^#baseurl=http|baseurl=${WEB_PROTOCOL}|g" \
|
||
-e "s|^mirrorlist=|#mirrorlist=|g" \
|
||
-e "s|dl.rockylinux.org/\$contentdir|${SOURCE}/${SOURCE_BRANCH}|g" \
|
||
-i \
|
||
rocky.repo \
|
||
rocky-addons.repo \
|
||
rocky-devel.repo \
|
||
rocky-extras.repo
|
||
;;
|
||
8)
|
||
sed -e "s|^#baseurl=http|baseurl=${WEB_PROTOCOL}|g" \
|
||
-e "s|^mirrorlist=|#mirrorlist=|g" \
|
||
-e "s|dl.rockylinux.org/\$contentdir|${SOURCE}/${SOURCE_BRANCH}|g" \
|
||
-i \
|
||
Rocky-*
|
||
;;
|
||
esac
|
||
;;
|
||
"${SYSTEM_ALMALINUX}")
|
||
case ${SYSTEM_VERSION_NUMBER:0:1} in
|
||
9)
|
||
sed -e "s|^# baseurl=http|baseurl=${WEB_PROTOCOL}|g" \
|
||
-e "s|^mirrorlist=|#mirrorlist=|g" \
|
||
-e "s|repo.almalinux.org/vault|${SOURCE_VAULT:-"${SOURCE}"}/${SOURCE_BRANCH_VAULT:-"almalinux-vault"}|g" \
|
||
-e "s|repo.almalinux.org/almalinux|${SOURCE}/${SOURCE_BRANCH}|g" \
|
||
-i \
|
||
almalinux-*
|
||
;;
|
||
8)
|
||
sed -e "s|^mirrorlist=|#mirrorlist=|g" \
|
||
-e "s|^# baseurl=http|baseurl=${WEB_PROTOCOL}|g" \
|
||
-e "s|repo.almalinux.org/vault|${SOURCE_VAULT:-"${SOURCE}"}/${SOURCE_BRANCH_VAULT:-"almalinux-vault"}|g" \
|
||
-e "s|repo.almalinux.org/almalinux|${SOURCE}/${SOURCE_BRANCH}|g" \
|
||
-i \
|
||
almalinux-ha.repo \
|
||
almalinux-nfv.repo \
|
||
almalinux-plus.repo \
|
||
almalinux-powertools.repo \
|
||
almalinux-resilientstorage.repo \
|
||
almalinux-rt.repo \
|
||
almalinux-sap.repo \
|
||
almalinux-saphana.repo \
|
||
almalinux.repo
|
||
;;
|
||
esac
|
||
;;
|
||
"${SYSTEM_FEDORA}")
|
||
sed -e "s|^metalink=|#metalink=|g" \
|
||
-e "s|^#baseurl=http|baseurl=${WEB_PROTOCOL}|g" \
|
||
-e "s|download.example/pub/fedora/linux|${SOURCE}/${SOURCE_BRANCH}|g" \
|
||
-i \
|
||
fedora.repo \
|
||
fedora-updates.repo \
|
||
fedora-modular.repo \
|
||
fedora-updates-modular.repo \
|
||
fedora-updates-testing.repo \
|
||
fedora-updates-testing-modular.repo
|
||
;;
|
||
esac
|
||
|
||
## EPEL 附加软件包(安装/换源)
|
||
case "${SYSTEM_JUDGMENT}" in
|
||
"${SYSTEM_RHEL}" | "${SYSTEM_CENTOS}" | "${SYSTEM_CENTOS_STREAM}" | "${SYSTEM_ROCKY}" | "${SYSTEM_ALMALINUX}")
|
||
[[ "${INSTALL_EPEL}" == "True" ]] && EPELMirrors
|
||
;;
|
||
esac
|
||
}
|
||
|
||
## 更换基于 OpenCloudOS 发行版的软件源
|
||
function OpenCloudOSMirrors() {
|
||
GenRepoFiles_OpenCloudOS "${SYSTEM_VERSION_NUMBER:0:1}"
|
||
if [[ "${USE_OFFICIAL_SOURCE}" == "true" ]]; then
|
||
return
|
||
fi
|
||
|
||
## 修改源
|
||
cd $Dir_YumRepos
|
||
case ${SYSTEM_VERSION_NUMBER:0:1} in
|
||
9)
|
||
sed -e "s|^baseurl=https|baseurl=${WEB_PROTOCOL}|g" \
|
||
-e "s|mirrors.opencloudos.tech/opencloudos|${SOURCE}/${SOURCE_BRANCH}|g" \
|
||
-i \
|
||
OpenCloudOS.repo
|
||
;;
|
||
8)
|
||
sed -e "s|^baseurl=https|baseurl=${WEB_PROTOCOL}|g" \
|
||
-e "s|mirrors.opencloudos.tech/opencloudos|${SOURCE}/${SOURCE_BRANCH}|g" \
|
||
-i \
|
||
OpenCloudOS-Debuginfo.repo \
|
||
OpenCloudOS.repo \
|
||
OpenCloudOS-Sources.repo
|
||
;;
|
||
esac
|
||
}
|
||
|
||
## 更换基于 openEuler 发行版的软件源
|
||
function openEulerMirrors() {
|
||
GenRepoFiles_openEuler
|
||
if [[ "${USE_OFFICIAL_SOURCE}" == "true" ]]; then
|
||
return
|
||
fi
|
||
|
||
## 修改源
|
||
cd $Dir_YumRepos
|
||
sed -e "s|^#baseurl=http|baseurl=${WEB_PROTOCOL}|g" \
|
||
-e "s|repo.openeuler.org|${SOURCE}/${SOURCE_BRANCH}|g" \
|
||
-i \
|
||
openEuler.repo
|
||
}
|
||
|
||
## 更换基于 openSUSE 发行版的软件源
|
||
function openSUSEMirrors() {
|
||
case "${SYSTEM_ID}" in
|
||
"opensuse-leap")
|
||
GenRepoFiles_openSUSE "leap" "${SYSTEM_VERSION_NUMBER}"
|
||
;;
|
||
"opensuse-tumbleweed")
|
||
GenRepoFiles_openSUSE "tumbleweed"
|
||
;;
|
||
esac
|
||
if [[ "${USE_OFFICIAL_SOURCE}" == "true" ]]; then
|
||
return
|
||
fi
|
||
|
||
## 修改源
|
||
cd $Dir_openSUSERepos
|
||
# 更换 WEB 协议(HTTP/HTTPS)
|
||
sed -i "s|^#baseurl=http|baseurl=${WEB_PROTOCOL}|g" repo-*
|
||
# 更换软件源
|
||
case "${SYSTEM_ID}" in
|
||
opensuse-leap)
|
||
case "${SYSTEM_VERSION_NUMBER}" in
|
||
15.[0-2])
|
||
sed -i "s|download.opensuse.org|${SOURCE}/${SOURCE_BRANCH}|g" \
|
||
repo-debug-non-oss.repo \
|
||
repo-debug.repo \
|
||
repo-debug-update-non-oss.repo \
|
||
repo-debug-update.repo \
|
||
repo-non-oss.repo \
|
||
repo-oss.repo \
|
||
repo-source-non-oss.repo \
|
||
repo-source.repo \
|
||
repo-update-non-oss.repo \
|
||
repo-update.repo
|
||
;;
|
||
*)
|
||
sed -i "s|download.opensuse.org|${SOURCE}/${SOURCE_BRANCH}|g" \
|
||
repo-backports-debug-update.repo \
|
||
repo-backports-update.repo \
|
||
repo-debug-non-oss.repo \
|
||
repo-debug.repo \
|
||
repo-debug-update-non-oss.repo \
|
||
repo-debug-update.repo \
|
||
repo-non-oss.repo \
|
||
repo-oss.repo \
|
||
repo-sle-debug-update.repo \
|
||
repo-sle-update.repo \
|
||
repo-source.repo \
|
||
repo-update-non-oss.repo \
|
||
repo-update.repo
|
||
;;
|
||
esac
|
||
;;
|
||
opensuse-tumbleweed)
|
||
sed -i "s|download.opensuse.org|${SOURCE}/${SOURCE_BRANCH}|g" \
|
||
repo-debug.repo \
|
||
repo-non-oss.repo \
|
||
repo-openh264.repo \
|
||
repo-oss.repo \
|
||
repo-source.repo \
|
||
repo-update.repo
|
||
;;
|
||
esac
|
||
}
|
||
|
||
## 更换基于 Arch Linux 发行版的软件源
|
||
function ArchMirrors() {
|
||
if [[ "${USE_OFFICIAL_SOURCE}" == "true" ]]; then
|
||
SOURCE="mirrors.aliyun.com"
|
||
echo -e "\n${TIP} 由于 Arch Linux 无官方源已切换至阿里源\n"
|
||
fi
|
||
## 修改源
|
||
case "${SOURCE_BRANCH}" in
|
||
"archlinuxarm")
|
||
echo "Server = ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH}/\$arch/\$repo" >>$File_ArchMirrorList
|
||
;;
|
||
"archlinuxcn")
|
||
echo "Server = ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH}/\$arch" >>$File_ArchMirrorList
|
||
;;
|
||
*)
|
||
echo "Server = ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH}/\$repo/os/\$arch" >>$File_ArchMirrorList
|
||
;;
|
||
esac
|
||
}
|
||
|
||
## 生成 CentOS 官方 repo 源文件
|
||
function GenRepoFiles_CentOS() {
|
||
case "$1" in
|
||
8)
|
||
cat >$Dir_YumRepos/CentOS-Linux-AppStream.repo <<\EOF
|
||
# CentOS-Linux-AppStream.repo
|
||
#
|
||
# The mirrorlist system uses the connecting IP address of the client and the
|
||
# update status of each mirror to pick current mirrors that are 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, you can try the commented out
|
||
# baseurl line instead.
|
||
|
||
[appstream]
|
||
name=CentOS Linux $releasever - AppStream
|
||
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=AppStream&infra=$infra
|
||
#baseurl=http://mirror.centos.org/$contentdir/$releasever/AppStream/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
EOF
|
||
cat >$Dir_YumRepos/CentOS-Linux-BaseOS.repo <<\EOF
|
||
# CentOS-Linux-BaseOS.repo
|
||
#
|
||
# The mirrorlist system uses the connecting IP address of the client and the
|
||
# update status of each mirror to pick current mirrors that are 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, you can try the commented out
|
||
# baseurl line instead.
|
||
|
||
[baseos]
|
||
name=CentOS Linux $releasever - BaseOS
|
||
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=BaseOS&infra=$infra
|
||
#baseurl=http://mirror.centos.org/$contentdir/$releasever/BaseOS/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
EOF
|
||
cat >$Dir_YumRepos/CentOS-Linux-ContinuousRelease.repo <<\EOF
|
||
# CentOS-Linux-ContinuousRelease.repo
|
||
#
|
||
# The mirrorlist system uses the connecting IP address of the client and the
|
||
# update status of each mirror to pick current mirrors that are 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, you can try the commented out
|
||
# baseurl line instead.
|
||
#
|
||
# The Continuous Release (CR) repository contains packages for the next minor
|
||
# release of CentOS Linux. This repository only has content in the time period
|
||
# between an upstream release and the official CentOS Linux release. These
|
||
# packages have not been fully tested yet and should be considered beta
|
||
# quality. They are made available for people willing to test and provide
|
||
# feedback for the next release.
|
||
|
||
[cr]
|
||
name=CentOS Linux $releasever - ContinuousRelease
|
||
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=cr&infra=$infra
|
||
#baseurl=http://mirror.centos.org/$contentdir/$releasever/cr/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
EOF
|
||
cat >$Dir_YumRepos/CentOS-Linux-Debuginfo.repo <<\EOF
|
||
# CentOS-Linux-Debuginfo.repo
|
||
#
|
||
# All debug packages are merged into a single repo, split by basearch, and are
|
||
# not signed.
|
||
|
||
[debuginfo]
|
||
name=CentOS Linux $releasever - Debuginfo
|
||
baseurl=http://debuginfo.centos.org/$releasever/$basearch/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
EOF
|
||
cat >$Dir_YumRepos/CentOS-Linux-Devel.repo <<\EOF
|
||
# CentOS-Linux-Devel.repo
|
||
#
|
||
# The mirrorlist system uses the connecting IP address of the client and the
|
||
# update status of each mirror to pick current mirrors that are 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, you can try the commented out
|
||
# baseurl line instead.
|
||
|
||
[devel]
|
||
name=CentOS Linux $releasever - Devel WARNING! FOR BUILDROOT USE ONLY!
|
||
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=Devel&infra=$infra
|
||
#baseurl=http://mirror.centos.org/$contentdir/$releasever/Devel/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
EOF
|
||
cat >$Dir_YumRepos/CentOS-Linux-Extras.repo <<\EOF
|
||
# CentOS-Linux-Extras.repo
|
||
#
|
||
# The mirrorlist system uses the connecting IP address of the client and the
|
||
# update status of each mirror to pick current mirrors that are 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, you can try the commented out
|
||
# baseurl line instead.
|
||
|
||
[extras]
|
||
name=CentOS Linux $releasever - Extras
|
||
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
|
||
#baseurl=http://mirror.centos.org/$contentdir/$releasever/extras/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
EOF
|
||
cat >$Dir_YumRepos/CentOS-Linux-FastTrack.repo <<\EOF
|
||
# CentOS-Linux-FastTrack.repo
|
||
#
|
||
# The mirrorlist system uses the connecting IP address of the client and the
|
||
# update status of each mirror to pick current mirrors that are 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, you can try the commented out
|
||
# baseurl line instead.
|
||
|
||
[fasttrack]
|
||
name=CentOS Linux $releasever - FastTrack
|
||
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=fasttrack&infra=$infra
|
||
#baseurl=http://mirror.centos.org/$contentdir/$releasever/fasttrack/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
EOF
|
||
cat >$Dir_YumRepos/CentOS-Linux-HighAvailability.repo <<\EOF
|
||
# CentOS-Linux-HighAvailability.repo
|
||
#
|
||
# The mirrorlist system uses the connecting IP address of the client and the
|
||
# update status of each mirror to pick current mirrors that are 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, you can try the commented out
|
||
# baseurl line instead.
|
||
|
||
[ha]
|
||
name=CentOS Linux $releasever - HighAvailability
|
||
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=HighAvailability&infra=$infra
|
||
#baseurl=http://mirror.centos.org/$contentdir/$releasever/HighAvailability/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
EOF
|
||
cat >$Dir_YumRepos/CentOS-Linux-Media.repo <<\EOF
|
||
# CentOS-Linux-Media.repo
|
||
#
|
||
# You can use this repo to install items directly off the installation media.
|
||
# Verify your mount point matches one of the below file:// paths.
|
||
|
||
[media-baseos]
|
||
name=CentOS Linux $releasever - Media - BaseOS
|
||
baseurl=file:///media/CentOS/BaseOS
|
||
file:///media/cdrom/BaseOS
|
||
file:///media/cdrecorder/BaseOS
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
|
||
[media-appstream]
|
||
name=CentOS Linux $releasever - Media - AppStream
|
||
baseurl=file:///media/CentOS/AppStream
|
||
file:///media/cdrom/AppStream
|
||
file:///media/cdrecorder/AppStream
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
EOF
|
||
cat >$Dir_YumRepos/CentOS-Linux-Plus.repo <<\EOF
|
||
# CentOS-Linux-Plus.repo
|
||
#
|
||
# The mirrorlist system uses the connecting IP address of the client and the
|
||
# update status of each mirror to pick current mirrors that are 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, you can try the commented out
|
||
# baseurl line instead.
|
||
|
||
[plus]
|
||
name=CentOS Linux $releasever - Plus
|
||
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
|
||
#baseurl=http://mirror.centos.org/$contentdir/$releasever/centosplus/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
EOF
|
||
cat >$Dir_YumRepos/CentOS-Linux-PowerTools.repo <<\EOF
|
||
# CentOS-Linux-PowerTools.repo
|
||
#
|
||
# The mirrorlist system uses the connecting IP address of the client and the
|
||
# update status of each mirror to pick current mirrors that are 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, you can try the commented out
|
||
# baseurl line instead.
|
||
|
||
[powertools]
|
||
name=CentOS Linux $releasever - PowerTools
|
||
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=PowerTools&infra=$infra
|
||
#baseurl=http://mirror.centos.org/$contentdir/$releasever/PowerTools/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
EOF
|
||
cat >$Dir_YumRepos/CentOS-Linux-Sources.repo <<\EOF
|
||
# CentOS-Linux-Sources.repo
|
||
|
||
|
||
[baseos-source]
|
||
name=CentOS Linux $releasever - BaseOS - Source
|
||
baseurl=http://vault.centos.org/$contentdir/$releasever/BaseOS/Source/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
|
||
[appstream-source]
|
||
name=CentOS Linux $releasever - AppStream - Source
|
||
baseurl=http://vault.centos.org/$contentdir/$releasever/AppStream/Source/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
|
||
[extras-source]
|
||
name=CentOS Linux $releasever - Extras - Source
|
||
baseurl=http://vault.centos.org/$contentdir/$releasever/extras/Source/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
|
||
[plus-source]
|
||
name=CentOS Linux $releasever - Plus - Source
|
||
baseurl=http://vault.centos.org/$contentdir/$releasever/centosplus/Source/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
EOF
|
||
;;
|
||
7)
|
||
cat >$Dir_YumRepos/CentOS-Base.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
|
||
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
|
||
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
|
||
|
||
#released updates
|
||
[updates]
|
||
name=CentOS-$releasever - Updates
|
||
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
|
||
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
|
||
|
||
#additional packages that may be useful
|
||
[extras]
|
||
name=CentOS-$releasever - Extras
|
||
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
|
||
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
|
||
|
||
#additional packages that extend functionality of existing packages
|
||
[centosplus]
|
||
name=CentOS-$releasever - Plus
|
||
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
|
||
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
|
||
EOF
|
||
cat >$Dir_YumRepos/CentOS-CR.repo <<\EOF
|
||
# CentOS-CR.repo
|
||
#
|
||
# The Continuous Release ( CR ) repository contains rpms that are due in the next
|
||
# release for a specific CentOS Version ( eg. next release in CentOS-7 ); these rpms
|
||
# are far less tested, with no integration checking or update path testing having
|
||
# taken place. They are still built from the upstream sources, but might not map
|
||
# to an exact upstream distro release.
|
||
#
|
||
# These packages are made available soon after they are built, for people willing
|
||
# to test their environments, provide feedback on content for the next release, and
|
||
# for people looking for early-access to next release content.
|
||
#
|
||
# The CR repo is shipped in a disabled state by default; its important that users
|
||
# understand the implications of turning this on.
|
||
#
|
||
# NOTE: We do not use a mirrorlist for the CR repos, to ensure content is available
|
||
# to everyone as soon as possible, and not need to wait for the external
|
||
# mirror network to seed first. However, many local mirrors will carry CR repos
|
||
# and if desired you can use one of these local mirrors by editing the baseurl
|
||
# line in the repo config below.
|
||
#
|
||
|
||
[cr]
|
||
name=CentOS-$releasever - cr
|
||
baseurl=http://mirror.centos.org/centos/$releasever/cr/$basearch/
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
|
||
enabled=0
|
||
EOF
|
||
cat >$Dir_YumRepos/CentOS-Debuginfo.repo <<\EOF
|
||
# CentOS-Debug.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.
|
||
#
|
||
|
||
# All debug packages from all the various CentOS-7 releases
|
||
# are merged into a single repo, split by BaseArch
|
||
#
|
||
# Note: packages in the debuginfo repo are currently not signed
|
||
#
|
||
|
||
[base-debuginfo]
|
||
name=CentOS-7 - Debuginfo
|
||
baseurl=http://debuginfo.centos.org/7/$basearch/
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-Debug-7
|
||
enabled=0
|
||
#
|
||
EOF
|
||
cat >$Dir_YumRepos/CentOS-fasttrack.repo <<\EOF
|
||
[fasttrack]
|
||
name=CentOS-7 - fasttrack
|
||
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=fasttrack&infra=$infra
|
||
#baseurl=http://mirror.centos.org/centos/$releasever/fasttrack/$basearch/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
|
||
EOF
|
||
cat >$Dir_YumRepos/CentOS-Media.repo <<\EOF
|
||
# CentOS-Media.repo
|
||
#
|
||
# This repo can be used with mounted DVD media, verify the mount point for
|
||
# CentOS-7. You can use this repo and yum to install items directly off the
|
||
# DVD ISO that we release.
|
||
#
|
||
# To use this repo, put in your DVD and use it with the other repos too:
|
||
# yum --enablerepo=c7-media [command]
|
||
#
|
||
# or for ONLY the media repo, do this:
|
||
#
|
||
# yum --disablerepo=\* --enablerepo=c7-media [command]
|
||
|
||
[c7-media]
|
||
name=CentOS-$releasever - Media
|
||
baseurl=file:///media/CentOS/
|
||
file:///media/cdrom/
|
||
file:///media/cdrecorder/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
|
||
EOF
|
||
cat >$Dir_YumRepos/CentOS-Sources.repo <<\EOF
|
||
# CentOS-Sources.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-source]
|
||
name=CentOS-$releasever - Base Sources
|
||
baseurl=http://vault.centos.org/centos/$releasever/os/Source/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
|
||
|
||
#released updates
|
||
[updates-source]
|
||
name=CentOS-$releasever - Updates Sources
|
||
baseurl=http://vault.centos.org/centos/$releasever/updates/Source/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
|
||
|
||
#additional packages that may be useful
|
||
[extras-source]
|
||
name=CentOS-$releasever - Extras Sources
|
||
baseurl=http://vault.centos.org/centos/$releasever/extras/Source/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
|
||
|
||
#additional packages that extend functionality of existing packages
|
||
[centosplus-source]
|
||
name=CentOS-$releasever - Plus Sources
|
||
baseurl=http://vault.centos.org/centos/$releasever/centosplus/Source/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
|
||
EOF
|
||
;;
|
||
esac
|
||
}
|
||
|
||
## 生成 CentOS Stream 官方 repo 源文件
|
||
function GenRepoFiles_CentOSStream() {
|
||
case "$1" in
|
||
9)
|
||
cat >$Dir_YumRepos/centos.repo <<\EOF
|
||
[baseos]
|
||
name=CentOS Stream $releasever - BaseOS
|
||
#baseurl=https://mirror.stream.centos.org/$releasever-stream/BaseOS/$basearch/os/
|
||
metalink=https://mirrors.centos.org/metalink?repo=centos-baseos-$stream&arch=$basearch&protocol=https,http
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
gpgcheck=1
|
||
repo_gpgcheck=0
|
||
metadata_expire=6h
|
||
countme=1
|
||
enabled=1
|
||
|
||
[baseos-debug]
|
||
name=CentOS Stream $releasever - BaseOS - Debug
|
||
metalink=https://mirrors.centos.org/metalink?repo=centos-baseos-debug-$stream&arch=$basearch&protocol=https,http
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
gpgcheck=1
|
||
repo_gpgcheck=0
|
||
metadata_expire=6h
|
||
enabled=0
|
||
|
||
[baseos-source]
|
||
name=CentOS Stream $releasever - BaseOS - Source
|
||
metalink=https://mirrors.centos.org/metalink?repo=centos-baseos-source-$stream&arch=source&protocol=https,http
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
gpgcheck=1
|
||
repo_gpgcheck=0
|
||
metadata_expire=6h
|
||
enabled=0
|
||
|
||
[appstream]
|
||
name=CentOS Stream $releasever - AppStream
|
||
#baseurl=https://mirror.stream.centos.org/$releasever-stream/AppStream/$basearch/os/
|
||
metalink=https://mirrors.centos.org/metalink?repo=centos-appstream-$stream&arch=$basearch&protocol=https,http
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
gpgcheck=1
|
||
repo_gpgcheck=0
|
||
metadata_expire=6h
|
||
countme=1
|
||
enabled=1
|
||
|
||
[appstream-debug]
|
||
name=CentOS Stream $releasever - AppStream - Debug
|
||
metalink=https://mirrors.centos.org/metalink?repo=centos-appstream-debug-$stream&arch=$basearch&protocol=https,http
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
gpgcheck=1
|
||
repo_gpgcheck=0
|
||
metadata_expire=6h
|
||
enabled=0
|
||
|
||
[appstream-source]
|
||
name=CentOS Stream $releasever - AppStream - Source
|
||
metalink=https://mirrors.centos.org/metalink?repo=centos-appstream-source-$stream&arch=source&protocol=https,http
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
gpgcheck=1
|
||
repo_gpgcheck=0
|
||
metadata_expire=6h
|
||
enabled=0
|
||
|
||
[crb]
|
||
name=CentOS Stream $releasever - CRB
|
||
#baseurl=https://mirror.stream.centos.org/$releasever-stream/CRB/$basearch/os/
|
||
metalink=https://mirrors.centos.org/metalink?repo=centos-crb-$stream&arch=$basearch&protocol=https,http
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
gpgcheck=1
|
||
repo_gpgcheck=0
|
||
metadata_expire=6h
|
||
countme=1
|
||
enabled=0
|
||
|
||
[crb-debug]
|
||
name=CentOS Stream $releasever - CRB - Debug
|
||
metalink=https://mirrors.centos.org/metalink?repo=centos-crb-debug-$stream&arch=$basearch&protocol=https,http
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
gpgcheck=1
|
||
repo_gpgcheck=0
|
||
metadata_expire=6h
|
||
enabled=0
|
||
|
||
[crb-source]
|
||
name=CentOS Stream $releasever - CRB - Source
|
||
metalink=https://mirrors.centos.org/metalink?repo=centos-crb-source-$stream&arch=source&protocol=https,http
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
gpgcheck=1
|
||
repo_gpgcheck=0
|
||
metadata_expire=6h
|
||
enabled=0
|
||
EOF
|
||
cat >$Dir_YumRepos/centos-addons.repo <<\EOF
|
||
[highavailability]
|
||
name=CentOS Stream $releasever - HighAvailability
|
||
#baseurl=https://mirror.stream.centos.org/$releasever-stream/HighAvailability/$basearch/os/
|
||
metalink=https://mirrors.centos.org/metalink?repo=centos-highavailability-$stream&arch=$basearch&protocol=https,http
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
gpgcheck=1
|
||
repo_gpgcheck=0
|
||
metadata_expire=6h
|
||
countme=1
|
||
enabled=0
|
||
|
||
[highavailability-debug]
|
||
name=CentOS Stream $releasever - HighAvailability - Debug
|
||
metalink=https://mirrors.centos.org/metalink?repo=centos-highavailability-debug-$stream&arch=$basearch&protocol=https,http
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
gpgcheck=1
|
||
repo_gpgcheck=0
|
||
metadata_expire=6h
|
||
enabled=0
|
||
|
||
[highavailability-source]
|
||
name=CentOS Stream $releasever - HighAvailability - Source
|
||
metalink=https://mirrors.centos.org/metalink?repo=centos-highavailability-source-$stream&arch=source&protocol=https,http
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
gpgcheck=1
|
||
repo_gpgcheck=0
|
||
metadata_expire=6h
|
||
enabled=0
|
||
|
||
[nfv]
|
||
name=CentOS Stream $releasever - NFV
|
||
#baseurl=https://mirror.stream.centos.org/$releasever-stream/NFV/$basearch/os/
|
||
metalink=https://mirrors.centos.org/metalink?repo=centos-nfv-$stream&arch=$basearch&protocol=https,http
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
gpgcheck=1
|
||
repo_gpgcheck=0
|
||
metadata_expire=6h
|
||
countme=1
|
||
enabled=0
|
||
|
||
[nfv-debug]
|
||
name=CentOS Stream $releasever - NFV - Debug
|
||
metalink=https://mirrors.centos.org/metalink?repo=centos-nfv-debug-$stream&arch=$basearch&protocol=https,http
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
gpgcheck=1
|
||
repo_gpgcheck=0
|
||
metadata_expire=6h
|
||
enabled=0
|
||
|
||
[nfv-source]
|
||
name=CentOS Stream $releasever - NFV - Source
|
||
metalink=https://mirrors.centos.org/metalink?repo=centos-nfv-source-$stream&arch=source&protocol=https,http
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
gpgcheck=1
|
||
repo_gpgcheck=0
|
||
metadata_expire=6h
|
||
enabled=0
|
||
|
||
[rt]
|
||
name=CentOS Stream $releasever - RT
|
||
#baseurl=https://mirror.stream.centos.org/$releasever-stream/RT/$basearch/os/
|
||
metalink=https://mirrors.centos.org/metalink?repo=centos-rt-$stream&arch=$basearch&protocol=https,http
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
gpgcheck=1
|
||
repo_gpgcheck=0
|
||
metadata_expire=6h
|
||
countme=1
|
||
enabled=0
|
||
|
||
[rt-debug]
|
||
name=CentOS Stream $releasever - RT - Debug
|
||
metalink=https://mirrors.centos.org/metalink?repo=centos-rt-debug-$stream&arch=$basearch&protocol=https,http
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
gpgcheck=1
|
||
repo_gpgcheck=0
|
||
metadata_expire=6h
|
||
enabled=0
|
||
|
||
[rt-source]
|
||
name=CentOS Stream $releasever - RT - Source
|
||
metalink=https://mirrors.centos.org/metalink?repo=centos-rt-source-$stream&arch=source&protocol=https,http
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
gpgcheck=1
|
||
repo_gpgcheck=0
|
||
metadata_expire=6h
|
||
enabled=0
|
||
|
||
[resilientstorage]
|
||
name=CentOS Stream $releasever - ResilientStorage
|
||
#baseurl=https://mirror.stream.centos.org/$releasever-stream/ResilientStorage/$basearch/os/
|
||
metalink=https://mirrors.centos.org/metalink?repo=centos-resilientstorage-$stream&arch=$basearch&protocol=https,http
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
gpgcheck=1
|
||
repo_gpgcheck=0
|
||
metadata_expire=6h
|
||
countme=1
|
||
enabled=0
|
||
|
||
[resilientstorage-debug]
|
||
name=CentOS Stream $releasever - ResilientStorage - Debug
|
||
metalink=https://mirrors.centos.org/metalink?repo=centos-resilientstorage-debug-$stream&arch=$basearch&protocol=https,http
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
gpgcheck=1
|
||
repo_gpgcheck=0
|
||
metadata_expire=6h
|
||
enabled=0
|
||
|
||
[resilientstorage-source]
|
||
name=CentOS Stream $releasever - ResilientStorage - Source
|
||
metalink=https://mirrors.centos.org/metalink?repo=centos-resilientstorage-source-$stream&arch=source&protocol=https,http
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
gpgcheck=1
|
||
repo_gpgcheck=0
|
||
metadata_expire=6h
|
||
enabled=0
|
||
|
||
[extras-common]
|
||
name=CentOS Stream $releasever - Extras packages
|
||
#baseurl=https://mirror.stream.centos.org/SIGs/$releasever-stream/extras/$basearch/extras-common/
|
||
metalink=https://mirrors.centos.org/metalink?repo=centos-extras-sig-extras-common-$stream&arch=$basearch&protocol=https,http
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Extras-SHA512
|
||
gpgcheck=1
|
||
repo_gpgcheck=0
|
||
metadata_expire=6h
|
||
countme=1
|
||
enabled=1
|
||
|
||
[extras-common-source]
|
||
name=CentOS Stream $releasever - Extras packages - Source
|
||
metalink=https://mirrors.centos.org/metalink?repo=centos-extras-sig-extras-common-source-$stream&arch=source&protocol=https,http
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Extras-SHA512
|
||
gpgcheck=1
|
||
repo_gpgcheck=0
|
||
metadata_expire=6h
|
||
enabled=0
|
||
EOF
|
||
;;
|
||
8)
|
||
cat >$Dir_YumRepos/CentOS-Stream-AppStream.repo <<\EOF
|
||
# CentOS-Stream-AppStream.repo
|
||
#
|
||
# The mirrorlist system uses the connecting IP address of the client and the
|
||
# update status of each mirror to pick current mirrors that are 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, you can try the commented out
|
||
# baseurl line instead.
|
||
|
||
[appstream]
|
||
name=CentOS Stream $releasever - AppStream
|
||
mirrorlist=http://mirrorlist.centos.org/?release=$stream&arch=$basearch&repo=AppStream&infra=$infra
|
||
#baseurl=http://mirror.centos.org/$contentdir/$stream/AppStream/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
EOF
|
||
cat >$Dir_YumRepos/CentOS-Stream-BaseOS.repo <<\EOF
|
||
# CentOS-Stream-BaseOS.repo
|
||
#
|
||
# The mirrorlist system uses the connecting IP address of the client and the
|
||
# update status of each mirror to pick current mirrors that are 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, you can try the commented out
|
||
# baseurl line instead.
|
||
|
||
[baseos]
|
||
name=CentOS Stream $releasever - BaseOS
|
||
mirrorlist=http://mirrorlist.centos.org/?release=$stream&arch=$basearch&repo=BaseOS&infra=$infra
|
||
#baseurl=http://mirror.centos.org/$contentdir/$stream/BaseOS/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
EOF
|
||
cat >$Dir_YumRepos/CentOS-Stream-Debuginfo.repo <<\EOF
|
||
# CentOS-Stream-Debuginfo.repo
|
||
#
|
||
# All debug packages are merged into a single repo, split by basearch, and are
|
||
# not signed.
|
||
|
||
[debuginfo]
|
||
name=CentOS Stream $releasever - Debuginfo
|
||
baseurl=http://debuginfo.centos.org/$stream/$basearch/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
EOF
|
||
cat >$Dir_YumRepos/CentOS-Stream-Extras-common.repo <<\EOF
|
||
# CentOS-Stream-Extras-common.repo
|
||
#
|
||
# The mirrorlist system uses the connecting IP address of the client and the
|
||
# update status of each mirror to pick current mirrors that are 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, you can try the commented out
|
||
# baseurl line instead.
|
||
|
||
[extras-common]
|
||
name=CentOS Stream $releasever - Extras common packages
|
||
mirrorlist=http://mirrorlist.centos.org/?release=$stream&arch=$basearch&repo=extras-extras-common
|
||
#baseurl=http://mirror.centos.org/$contentdir/$stream/extras/$basearch/extras-common/
|
||
gpgcheck=1
|
||
enabled=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Extras
|
||
EOF
|
||
cat >$Dir_YumRepos/CentOS-Stream-Extras.repo <<\EOF
|
||
# CentOS-Stream-Extras.repo
|
||
#
|
||
# The mirrorlist system uses the connecting IP address of the client and the
|
||
# update status of each mirror to pick current mirrors that are 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, you can try the commented out
|
||
# baseurl line instead.
|
||
|
||
[extras]
|
||
name=CentOS Stream $releasever - Extras
|
||
mirrorlist=http://mirrorlist.centos.org/?release=$stream&arch=$basearch&repo=extras&infra=$infra
|
||
#baseurl=http://mirror.centos.org/$contentdir/$stream/extras/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
EOF
|
||
cat >$Dir_YumRepos/CentOS-Stream-HighAvailability.repo <<\EOF
|
||
# CentOS-Stream-HighAvailability.repo
|
||
#
|
||
# The mirrorlist system uses the connecting IP address of the client and the
|
||
# update status of each mirror to pick current mirrors that are 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, you can try the commented out
|
||
# baseurl line instead.
|
||
|
||
[ha]
|
||
name=CentOS Stream $releasever - HighAvailability
|
||
mirrorlist=http://mirrorlist.centos.org/?release=$stream&arch=$basearch&repo=HighAvailability&infra=$infra
|
||
#baseurl=http://mirror.centos.org/$contentdir/$stream/HighAvailability/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
EOF
|
||
cat >$Dir_YumRepos/CentOS-Stream-Media.repo <<\EOF
|
||
# CentOS-Stream-Media.repo
|
||
#
|
||
# You can use this repo to install items directly off the installation media.
|
||
# Verify your mount point matches one of the below file:// paths.
|
||
|
||
[media-baseos]
|
||
name=CentOS Stream $releasever - Media - BaseOS
|
||
baseurl=file:///media/CentOS/BaseOS
|
||
file:///media/cdrom/BaseOS
|
||
file:///media/cdrecorder/BaseOS
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
|
||
[media-appstream]
|
||
name=CentOS Stream $releasever - Media - AppStream
|
||
baseurl=file:///media/CentOS/AppStream
|
||
file:///media/cdrom/AppStream
|
||
file:///media/cdrecorder/AppStream
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
EOF
|
||
cat >$Dir_YumRepos/CentOS-Stream-NFV.repo <<\EOF
|
||
# CentOS-Stream-NFV.repo
|
||
#
|
||
# The mirrorlist system uses the connecting IP address of the client and the
|
||
# update status of each mirror to pick current mirrors that are 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, you can try the commented out
|
||
# baseurl line instead.
|
||
|
||
[nfv]
|
||
name=CentOS Stream $releasever - NFV
|
||
mirrorlist=http://mirrorlist.centos.org/?release=$stream&arch=$basearch&repo=NFV&infra=$infra
|
||
#baseurl=http://mirror.centos.org/$contentdir/$stream/NFV/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
EOF
|
||
cat >$Dir_YumRepos/CentOS-Stream-PowerTools.repo <<\EOF
|
||
# CentOS-Stream-PowerTools.repo
|
||
#
|
||
# The mirrorlist system uses the connecting IP address of the client and the
|
||
# update status of each mirror to pick current mirrors that are 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, you can try the commented out
|
||
# baseurl line instead.
|
||
|
||
[powertools]
|
||
name=CentOS Stream $releasever - PowerTools
|
||
mirrorlist=http://mirrorlist.centos.org/?release=$stream&arch=$basearch&repo=PowerTools&infra=$infra
|
||
#baseurl=http://mirror.centos.org/$contentdir/$stream/PowerTools/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
EOF
|
||
cat >$Dir_YumRepos/CentOS-Stream-RealTime.repo <<\EOF
|
||
# CentOS-Stream-RealTime.repo
|
||
#
|
||
# The mirrorlist system uses the connecting IP address of the client and the
|
||
# update status of each mirror to pick current mirrors that are 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, you can try the commented out
|
||
# baseurl line instead.
|
||
|
||
[rt]
|
||
name=CentOS Stream $releasever - RealTime
|
||
mirrorlist=http://mirrorlist.centos.org/?release=$stream&arch=$basearch&repo=RT&infra=$infra
|
||
#baseurl=http://mirror.centos.org/$contentdir/$stream/RT/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
EOF
|
||
cat >$Dir_YumRepos/CentOS-Stream-ResilientStorage.repo <<\EOF
|
||
# CentOS-Stream-ResilientStorage.repo
|
||
#
|
||
# The mirrorlist system uses the connecting IP address of the client and the
|
||
# update status of each mirror to pick current mirrors that are 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, you can try the commented out
|
||
# baseurl line instead.
|
||
|
||
[resilientstorage]
|
||
name=CentOS Stream $releasever - ResilientStorage
|
||
mirrorlist=http://mirrorlist.centos.org/?release=$stream&arch=$basearch&repo=ResilientStorage&infra=$infra
|
||
#baseurl=http://mirror.centos.org/$contentdir/$stream/ResilientStorage/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
EOF
|
||
cat >$Dir_YumRepos/CentOS-Stream-Sources.repo <<\EOF
|
||
# CentOS-Stream-Sources.repo
|
||
|
||
[baseos-source]
|
||
name=CentOS Stream $releasever - BaseOS - Source
|
||
baseurl=http://vault.centos.org/$contentdir/$stream/BaseOS/Source/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
|
||
[appstream-source]
|
||
name=CentOS Stream $releasever - AppStream - Source
|
||
baseurl=http://vault.centos.org/$contentdir/$stream/AppStream/Source/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
|
||
[powertools-source]
|
||
name=CentOS Stream $releasever - PowerTools - Source
|
||
baseurl=http://vault.centos.org/$contentdir/$stream/PowerTools/Source/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
|
||
[extras-source]
|
||
name=CentOS Stream $releasever - Extras - Source
|
||
baseurl=http://vault.centos.org/$contentdir/$stream/extras/Source/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
|
||
[ha-source]
|
||
name=CentOS Stream $releasever - HighAvailability - Source
|
||
baseurl=http://vault.centos.org/$contentdir/$stream/HighAvailability/Source/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
|
||
[rt-source]
|
||
name=CentOS Stream $releasever - RT - Source
|
||
baseurl=http://vault.centos.org/$contentdir/$stream/RT/Source/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
|
||
[resilientstorage-source]
|
||
name=CentOS Stream $releasever - ResilientStorage - Source
|
||
baseurl=http://vault.centos.org/$contentdir/$stream/ResilientStorage/Source/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
|
||
[nfv-source]
|
||
name=CentOS Stream $releasever - NFV - Source
|
||
baseurl=http://vault.centos.org/$contentdir/$stream/NFV/Source/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||
EOF
|
||
;;
|
||
esac
|
||
}
|
||
|
||
## 生成 Rocky Linux 官方 repo 源文件
|
||
function GenRepoFiles_RockyLinux() {
|
||
case "$1" in
|
||
9)
|
||
cat >$Dir_YumRepos/rocky.repo <<\EOF
|
||
# rocky.repo
|
||
#
|
||
# The mirrorlist system uses the connecting IP address of the client and the
|
||
# update status of each mirror to pick current mirrors that are geographically
|
||
# close to the client. You should use this for Rocky updates unless you are
|
||
# manually picking other mirrors.
|
||
#
|
||
# If the mirrorlist does not work for you, you can try the commented out
|
||
# baseurl line instead.
|
||
|
||
[baseos]
|
||
name=Rocky Linux $releasever - BaseOS
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=BaseOS-$releasever$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/BaseOS/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=1
|
||
countme=1
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
|
||
[baseos-debug]
|
||
name=Rocky Linux $releasever - BaseOS - Debug
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=BaseOS-$releasever-debug$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/BaseOS/$basearch/debug/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
|
||
[baseos-source]
|
||
name=Rocky Linux $releasever - BaseOS - Source
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=source&repo=BaseOS-$releasever-source$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/BaseOS/source/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
|
||
[appstream]
|
||
name=Rocky Linux $releasever - AppStream
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=AppStream-$releasever$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/AppStream/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=1
|
||
countme=1
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
|
||
[appstream-debug]
|
||
name=Rocky Linux $releasever - AppStream - Debug
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=AppStream-$releasever-debug$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/AppStream/$basearch/debug/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
|
||
[appstream-source]
|
||
name=Rocky Linux $releasever - AppStream - Source
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=source&repo=AppStream-$releasever-source$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/AppStream/source/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
|
||
[crb]
|
||
name=Rocky Linux $releasever - CRB
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=CRB-$releasever$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/CRB/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=0
|
||
countme=1
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
|
||
[crb-debug]
|
||
name=Rocky Linux $releasever - CRB - Debug
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=CRB-$releasever-debug$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/CRB/$basearch/debug/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
|
||
[crb-source]
|
||
name=Rocky Linux $releasever - CRB - Source
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=source&repo=CRB-$releasever-source$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/CRB/source/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
EOF
|
||
cat >$Dir_YumRepos/rocky-addons.repo <<\EOF
|
||
# rocky-addons.repo
|
||
#
|
||
# The mirrorlist system uses the connecting IP address of the client and the
|
||
# update status of each mirror to pick current mirrors that are geographically
|
||
# close to the client. You should use this for Rocky updates unless you are
|
||
# manually picking other mirrors.
|
||
#
|
||
# If the mirrorlist does not work for you, you can try the commented out
|
||
# baseurl line instead.
|
||
|
||
[highavailability]
|
||
name=Rocky Linux $releasever - High Availability
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=HighAvailability-$releasever$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/HighAvailability/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=0
|
||
countme=1
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
|
||
[highavailability-debug]
|
||
name=Rocky Linux $releasever - High Availability - Debug
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=HighAvailability-$releasever-debug$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/HighAvailability/$basearch/debug/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
|
||
[highavailability-source]
|
||
name=Rocky Linux $releasever - High Availability - Source
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=source&repo=HighAvailability-$releasever-source$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/HighAvailability/source/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
|
||
[resilientstorage]
|
||
name=Rocky Linux $releasever - Resilient Storage
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=ResilientStorage-$releasever$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/ResilientStorage/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=0
|
||
countme=1
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
|
||
[resilientstorage-debug]
|
||
name=Rocky Linux $releasever - Resilient Storage - Debug
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=ResilientStorage-$releasever-debug$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/ResilientStorage/$basearch/debug/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
|
||
[resilientstorage-source]
|
||
name=Rocky Linux $releasever - Resilient Storage - Source
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=source&repo=ResilientStorage-$releasever-source$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/ResilientStorage/source/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
|
||
[nfv]
|
||
name=Rocky Linux $releasever - NFV
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=NFV-$releasever$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/NFV/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=0
|
||
countme=1
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
|
||
[nfv-debug]
|
||
name=Rocky Linux $releasever - NFV Debug
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=RT-$releasever-debug$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/NFV/$basearch/debug/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
|
||
[nfv-source]
|
||
name=Rocky Linux $releasever - NFV Source
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=RT-$releasever-source$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/NFV/source/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
|
||
[rt]
|
||
name=Rocky Linux $releasever - Realtime
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=RT-$releasever$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/RT/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=0
|
||
countme=1
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
|
||
[rt-debug]
|
||
name=Rocky Linux $releasever - Realtime Debug
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=RT-$releasever-debug$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/RT/$basearch/debug/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
|
||
[rt-source]
|
||
name=Rocky Linux $releasever - Realtime Source
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=RT-$releasever-source$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/RT/source/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
|
||
[sap]
|
||
name=Rocky Linux $releasever - SAP
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=SAP-$releasever$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/SAP/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=0
|
||
countme=1
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
|
||
[sap-debug]
|
||
name=Rocky Linux $releasever - SAP Debug
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=SAP-$releasever-debug$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/SAP/$basearch/debug/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
|
||
[sap-source]
|
||
name=Rocky Linux $releasever - SAP Source
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=SAP-$releasever-source$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/SAP/source/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
|
||
[saphana]
|
||
name=Rocky Linux $releasever - SAPHANA
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=SAPHANA-$releasever$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/SAPHANA/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=0
|
||
countme=1
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
|
||
[saphana-debug]
|
||
name=Rocky Linux $releasever - SAPHANA Debug
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=SAPHANA-$releasever-debug$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/SAPHANA/$basearch/debug/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
|
||
[saphana-source]
|
||
name=Rocky Linux $releasever - SAPHANA Source
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=SAPHANA-$releasever-source$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/SAPHANA/source/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
EOF
|
||
cat >$Dir_YumRepos/rocky-devel.repo <<\EOF
|
||
# rocky-devel.repo
|
||
#
|
||
# devel and no-package-left-behind
|
||
|
||
[devel]
|
||
name=Rocky Linux $releasever - Devel WARNING! FOR BUILDROOT ONLY DO NOT LEAVE ENABLED
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=devel-$releasever$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/devel/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=0
|
||
countme=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
EOF
|
||
cat >$Dir_YumRepos/rocky-extras.repo <<\EOF
|
||
# rocky-extras.repo
|
||
#
|
||
# The mirrorlist system uses the connecting IP address of the client and the
|
||
# update status of each mirror to pick current mirrors that are geographically
|
||
# close to the client. You should use this for Rocky updates unless you are
|
||
# manually picking other mirrors.
|
||
#
|
||
# If the mirrorlist does not work for you, you can try the commented out
|
||
# baseurl line instead.
|
||
|
||
[extras]
|
||
name=Rocky Linux $releasever - Extras
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=extras-$releasever$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/extras/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=1
|
||
countme=1
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
|
||
[extras-debug]
|
||
name=Rocky Linux $releasever - Extras Debug
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=extras-$releasever-debug$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/extras/$basearch/debug/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
|
||
[extras-source]
|
||
name=Rocky Linux $releasever - Extras Source
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=extras-$releasever-source$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/extras/source/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
|
||
[plus]
|
||
name=Rocky Linux $releasever - Plus
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=plus-$releasever$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/plus/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=0
|
||
countme=1
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
|
||
[plus-debug]
|
||
name=Rocky Linux $releasever - Plus - Debug
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=plus-$releasever-debug$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/plus/$basearch/debug/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
|
||
[plus-source]
|
||
name=Rocky Linux $releasever - Plus - Source
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=source&repo=plus-$releasever-source$rltype
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/plus/source/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
|
||
EOF
|
||
;;
|
||
8)
|
||
cat >$Dir_YumRepos/Rocky-AppStream.repo <<\EOF
|
||
# Rocky-AppStream.repo
|
||
#
|
||
# The mirrorlist system uses the connecting IP address of the client and the
|
||
# update status of each mirror to pick current mirrors that are geographically
|
||
# close to the client. You should use this for Rocky updates unless you are
|
||
# manually picking other mirrors.
|
||
#
|
||
# If the mirrorlist does not work for you, you can try the commented out
|
||
# baseurl line instead.
|
||
|
||
[appstream]
|
||
name=Rocky Linux $releasever - AppStream
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=AppStream-$releasever
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/AppStream/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=1
|
||
countme=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||
EOF
|
||
cat >$Dir_YumRepos/Rocky-BaseOS.repo <<\EOF
|
||
# Rocky-BaseOS.repo
|
||
#
|
||
# The mirrorlist system uses the connecting IP address of the client and the
|
||
# update status of each mirror to pick current mirrors that are geographically
|
||
# close to the client. You should use this for Rocky updates unless you are
|
||
# manually picking other mirrors.
|
||
#
|
||
# If the mirrorlist does not work for you, you can try the commented out
|
||
# baseurl line instead.
|
||
|
||
[baseos]
|
||
name=Rocky Linux $releasever - BaseOS
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=BaseOS-$releasever
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/BaseOS/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=1
|
||
countme=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||
EOF
|
||
cat >$Dir_YumRepos/Rocky-Debuginfo.repo <<\EOF
|
||
# Rocky-Debuginfo.repo
|
||
#
|
||
|
||
[baseos-debug]
|
||
name=Rocky Linux $releasever - BaseOS - Source
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=BaseOS-$releasever-debug
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/BaseOS/$basearch/debug/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||
|
||
[appstream-debug]
|
||
name=Rocky Linux $releasever - AppStream - Source
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=AppStream-$releasever-debug
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/AppStream/$basearch/debug/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||
|
||
[ha-debug]
|
||
name=Rocky Linux $releasever - High Availability - Source
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=HighAvailability-$releasever-debug
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/HighAvailability/$basearch/debug/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||
|
||
[powertools-debug]
|
||
name=Rocky Linux $releasever - PowerTools - Source
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=PowerTools-$releasever-debug
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/PowerTools/$basearch/debug/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||
|
||
[resilient-storage-debug]
|
||
name=Rocky Linux $releasever - Resilient Storage - Source
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=ResilientStorage-$releasever-debug
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/ResilientStorage/$basearch/debug/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||
EOF
|
||
cat >$Dir_YumRepos/Rocky-Devel.repo <<\EOF
|
||
# Rocky-Devel.repo
|
||
#
|
||
|
||
[devel]
|
||
name=Rocky Linux $releasever - Devel WARNING! FOR BUILDROOT AND KOJI USE
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=Devel-$releasever
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/Devel/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=0
|
||
countme=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||
EOF
|
||
cat >$Dir_YumRepos/Rocky-Extras.repo <<\EOF
|
||
# Rocky-Extras.repo
|
||
#
|
||
# The mirrorlist system uses the connecting IP address of the client and the
|
||
# update status of each mirror to pick current mirrors that are geographically
|
||
# close to the client. You should use this for Rocky updates unless you are
|
||
# manually picking other mirrors.
|
||
#
|
||
# If the mirrorlist does not work for you, you can try the commented out
|
||
# baseurl line instead.
|
||
|
||
[extras]
|
||
name=Rocky Linux $releasever - Extras
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=extras-$releasever
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/extras/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=1
|
||
countme=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||
EOF
|
||
cat >$Dir_YumRepos/Rocky-HighAvailability.repo <<\EOF
|
||
# Rocky-HighAvailability.repo
|
||
#
|
||
# The mirrorlist system uses the connecting IP address of the client and the
|
||
# update status of each mirror to pick current mirrors that are geographically
|
||
# close to the client. You should use this for Rocky updates unless you are
|
||
# manually picking other mirrors.
|
||
#
|
||
# If the mirrorlist does not work for you, you can try the commented out
|
||
# baseurl line instead.
|
||
|
||
[ha]
|
||
name=Rocky Linux $releasever - HighAvailability
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=HighAvailability-$releasever
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/HighAvailability/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=0
|
||
countme=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||
EOF
|
||
cat >$Dir_YumRepos/Rocky-Media.repo <<\EOF
|
||
# Rocky-Media.repo
|
||
#
|
||
# You can use this repo to install items directly off the installation media.
|
||
# Verify your mount point matches one of the below file:// paths.
|
||
|
||
[media-baseos]
|
||
name=Rocky Linux $releasever - Media - BaseOS
|
||
baseurl=file:///media/Rocky/BaseOS
|
||
file:///media/cdrom/BaseOS
|
||
file:///media/cdrecorder/BaseOS
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||
|
||
[media-appstream]
|
||
name=Rocky Linux $releasever - Media - AppStream
|
||
baseurl=file:///media/Rocky/AppStream
|
||
file:///media/cdrom/AppStream
|
||
file:///media/cdrecorder/AppStream
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||
EOF
|
||
cat >$Dir_YumRepos/Rocky-NFV.repo <<\EOF
|
||
# Rocky-NFV.repo
|
||
#
|
||
# The mirrorlist system uses the connecting IP address of the client and the
|
||
# update status of each mirror to pick current mirrors that are geographically
|
||
# close to the client. You should use this for Rocky updates unless you are
|
||
# manually picking other mirrors.
|
||
#
|
||
# If the mirrorlist does not work for you, you can try the commented out
|
||
# baseurl line instead.
|
||
|
||
[nfv]
|
||
name=Rocky Linux $releasever - NFV
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=NFV-$releasever
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/nfv/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=0
|
||
countme=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||
EOF
|
||
cat >$Dir_YumRepos/Rocky-Plus.repo <<\EOF
|
||
# Rocky-Plus.repo
|
||
#
|
||
# The mirrorlist system uses the connecting IP address of the client and the
|
||
# update status of each mirror to pick current mirrors that are geographically
|
||
# close to the client. You should use this for Rocky updates unless you are
|
||
# manually picking other mirrors.
|
||
#
|
||
# If the mirrorlist does not work for you, you can try the commented out
|
||
# baseurl line instead.
|
||
|
||
[plus]
|
||
name=Rocky Linux $releasever - Plus
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=rockyplus-$releasever
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/plus/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=0
|
||
countme=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||
EOF
|
||
cat >$Dir_YumRepos/Rocky-PowerTools.repo <<\EOF
|
||
# Rocky-PowerTools.repo
|
||
#
|
||
# The mirrorlist system uses the connecting IP address of the client and the
|
||
# update status of each mirror to pick current mirrors that are geographically
|
||
# close to the client. You should use this for Rocky updates unless you are
|
||
# manually picking other mirrors.
|
||
#
|
||
# If the mirrorlist does not work for you, you can try the commented out
|
||
# baseurl line instead.
|
||
|
||
[powertools]
|
||
name=Rocky Linux $releasever - PowerTools
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=PowerTools-$releasever
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/PowerTools/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=0
|
||
countme=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||
EOF
|
||
cat >$Dir_YumRepos/Rocky-ResilientStorage.repo <<\EOF
|
||
# Rocky-ResilientStorage.repo
|
||
#
|
||
# The mirrorlist system uses the connecting IP address of the client and the
|
||
# update status of each mirror to pick current mirrors that are geographically
|
||
# close to the client. You should use this for Rocky updates unless you are
|
||
# manually picking other mirrors.
|
||
#
|
||
# If the mirrorlist does not work for you, you can try the commented out
|
||
# baseurl line instead.
|
||
|
||
[resilient-storage]
|
||
name=Rocky Linux $releasever - ResilientStorage
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=ResilientStorage-$releasever
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/ResilientStorage/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=0
|
||
countme=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||
EOF
|
||
cat >$Dir_YumRepos/Rocky-RT.repo <<\EOF
|
||
# Rocky-RT.repo
|
||
#
|
||
# The mirrorlist system uses the connecting IP address of the client and the
|
||
# update status of each mirror to pick current mirrors that are geographically
|
||
# close to the client. You should use this for Rocky updates unless you are
|
||
# manually picking other mirrors.
|
||
#
|
||
# If the mirrorlist does not work for you, you can try the commented out
|
||
# baseurl line instead.
|
||
|
||
[rt]
|
||
name=Rocky Linux $releasever - Realtime
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=RT-$releasever
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/RT/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=0
|
||
countme=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||
EOF
|
||
cat >$Dir_YumRepos/Rocky-Sources.repo <<\EOF
|
||
# Rocky-Sources.repo
|
||
|
||
[baseos-source]
|
||
name=Rocky Linux $releasever - BaseOS - Source
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=source&repo=BaseOS-$releasever-source
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/BaseOS/source/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||
|
||
[appstream-source]
|
||
name=Rocky Linux $releasever - AppStream - Source
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=source&repo=AppStream-$releasever-source
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/AppStream/source/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||
|
||
#[extras-source]
|
||
#name=Rocky Linux $releasever - Extras - Source
|
||
#mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=source&repo=extras-$releasever-source
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/extras/source/tree/
|
||
#gpgcheck=1
|
||
#enabled=0
|
||
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||
|
||
#[plus-source]
|
||
#name=Rocky Linux $releasever - Plus - Source
|
||
#mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=source&repo=plus-$releasever-source
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/Plus/source/tree/
|
||
#gpgcheck=1
|
||
#enabled=0
|
||
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||
|
||
[ha-source]
|
||
name=Rocky Linux $releasever - High Availability - Source
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=source&repo=HighAvailability-$releasever-source
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/HighAvailability/source/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||
|
||
[powertools-source]
|
||
name=Rocky Linux $releasever - PowerTools - Source
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=source&repo=PowerTools-$releasever-source
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/PowerTools/source/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||
|
||
[resilient-storage-source]
|
||
name=Rocky Linux $releasever - Resilient Storage - Source
|
||
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=source&repo=ResilientStorage-$releasever-source
|
||
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/ResilientStorage/source/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||
EOF
|
||
;;
|
||
esac
|
||
}
|
||
|
||
## 生成 AlmaLinux 官方 repo 源文件
|
||
function GenRepoFiles_AlmaLinux() {
|
||
case "$1" in
|
||
9)
|
||
cat >$Dir_YumRepos/almalinux-appstream.repo <<\EOF
|
||
[appstream]
|
||
name=AlmaLinux $releasever - AppStream
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/appstream
|
||
# baseurl=https://repo.almalinux.org/almalinux/$releasever/AppStream/$basearch/os/
|
||
enabled=1
|
||
gpgcheck=1
|
||
countme=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
|
||
metadata_expire=86400
|
||
enabled_metadata=1
|
||
|
||
[appstream-debug]
|
||
name=AlmaLinux $releasever - AppStream - Debug
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/appstream-debug
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/AppStream/debug/$basearch/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
|
||
metadata_expire=86400
|
||
enabled_metadata=0
|
||
|
||
[appstream-source]
|
||
name=AlmaLinux $releasever - AppStream - Source
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/appstream-source
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/AppStream/Source/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
|
||
metadata_expire=86400
|
||
enabled_metadata=0
|
||
EOF
|
||
cat >$Dir_YumRepos/almalinux-baseos.repo <<\EOF
|
||
[baseos]
|
||
name=AlmaLinux $releasever - BaseOS
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/baseos
|
||
# baseurl=https://repo.almalinux.org/almalinux/$releasever/BaseOS/$basearch/os/
|
||
enabled=1
|
||
gpgcheck=1
|
||
countme=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
|
||
metadata_expire=86400
|
||
enabled_metadata=1
|
||
|
||
[baseos-debug]
|
||
name=AlmaLinux $releasever - BaseOS - Debug
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/baseos-debug
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/BaseOS/debug/$basearch/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
|
||
metadata_expire=86400
|
||
enabled_metadata=0
|
||
|
||
[baseos-source]
|
||
name=AlmaLinux $releasever - BaseOS - Source
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/baseos-source
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/BaseOS/Source/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
|
||
metadata_expire=86400
|
||
enabled_metadata=0
|
||
EOF
|
||
cat >$Dir_YumRepos/almalinux-crb.repo <<\EOF
|
||
[crb]
|
||
name=AlmaLinux $releasever - CRB
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/crb
|
||
# baseurl=https://repo.almalinux.org/almalinux/$releasever/CRB/$basearch/os/
|
||
enabled=0
|
||
gpgcheck=1
|
||
countme=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
|
||
metadata_expire=86400
|
||
enabled_metadata=0
|
||
|
||
[crb-debug]
|
||
name=AlmaLinux $releasever - CRB - Debug
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/crb-debug
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/CRB/debug/$basearch/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
|
||
metadata_expire=86400
|
||
enabled_metadata=0
|
||
|
||
[crb-source]
|
||
name=AlmaLinux $releasever - CRB - Source
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/crb-source
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/CRB/Source/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
|
||
metadata_expire=86400
|
||
enabled_metadata=0
|
||
EOF
|
||
cat >$Dir_YumRepos/almalinux-extras.repo <<\EOF
|
||
[extras]
|
||
name=AlmaLinux $releasever - Extras
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/extras
|
||
# baseurl=https://repo.almalinux.org/almalinux/$releasever/extras/$basearch/os/
|
||
enabled=1
|
||
gpgcheck=1
|
||
countme=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
|
||
metadata_expire=86400
|
||
enabled_metadata=0
|
||
|
||
[extras-debug]
|
||
name=AlmaLinux $releasever - Extras - Debug
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/extras-debug
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/extras/debug/$basearch/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
|
||
metadata_expire=86400
|
||
enabled_metadata=0
|
||
|
||
[extras-source]
|
||
name=AlmaLinux $releasever - Extras - Source
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/extras-source
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/extras/Source/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
|
||
metadata_expire=86400
|
||
enabled_metadata=0
|
||
EOF
|
||
cat >$Dir_YumRepos/almalinux-highavailability.repo <<\EOF
|
||
[highavailability]
|
||
name=AlmaLinux $releasever - HighAvailability
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/highavailability
|
||
# baseurl=https://repo.almalinux.org/almalinux/$releasever/HighAvailability/$basearch/os/
|
||
enabled=0
|
||
gpgcheck=1
|
||
countme=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
|
||
metadata_expire=86400
|
||
enabled_metadata=0
|
||
|
||
[highavailability-debug]
|
||
name=AlmaLinux $releasever - HighAvailability - Debug
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/highavailability-debug
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/HighAvailability/debug/$basearch/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
|
||
metadata_expire=86400
|
||
enabled_metadata=0
|
||
|
||
[highavailability-source]
|
||
name=AlmaLinux $releasever - HighAvailability - Source
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/highavailability-source
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/HighAvailability/Source/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
|
||
metadata_expire=86400
|
||
enabled_metadata=0
|
||
EOF
|
||
cat >$Dir_YumRepos/almalinux-nfv.repo <<\EOF
|
||
[nfv]
|
||
name=AlmaLinux $releasever - NFV
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/nfv
|
||
# baseurl=https://repo.almalinux.org/almalinux/$releasever/NFV/$basearch/os/
|
||
enabled=0
|
||
gpgcheck=1
|
||
countme=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
|
||
metadata_expire=86400
|
||
enabled_metadata=0
|
||
|
||
[nfv-debug]
|
||
name=AlmaLinux $releasever - NFV - Debug
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/nfv-debug
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/NFV/debug/$basearch/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
|
||
metadata_expire=86400
|
||
enabled_metadata=0
|
||
|
||
[nfv-source]
|
||
name=AlmaLinux $releasever - NFV - Source
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/nfv-source
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/NFV/Source/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
|
||
metadata_expire=86400
|
||
enabled_metadata=0
|
||
EOF
|
||
cat >$Dir_YumRepos/almalinux-plus.repo <<\EOF
|
||
[plus]
|
||
name=AlmaLinux $releasever - Plus
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/plus
|
||
# baseurl=https://repo.almalinux.org/almalinux/$releasever/plus/$basearch/os/
|
||
enabled=0
|
||
gpgcheck=1
|
||
countme=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
|
||
metadata_expire=86400
|
||
enabled_metadata=0
|
||
|
||
[plus-debug]
|
||
name=AlmaLinux $releasever - Plus - Debug
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/plus-debug
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/plus/debug/$basearch/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
|
||
metadata_expire=86400
|
||
enabled_metadata=0
|
||
|
||
[plus-source]
|
||
name=AlmaLinux $releasever - Plus - Source
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/plus-source
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/plus/Source/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
|
||
metadata_expire=86400
|
||
enabled_metadata=0
|
||
EOF
|
||
cat >$Dir_YumRepos/almalinux-resilientstorage.repo <<\EOF
|
||
[resilientstorage]
|
||
name=AlmaLinux $releasever - ResilientStorage
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/resilientstorage
|
||
# baseurl=https://repo.almalinux.org/almalinux/$releasever/ResilientStorage/$basearch/os/
|
||
enabled=0
|
||
gpgcheck=1
|
||
countme=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
|
||
metadata_expire=86400
|
||
enabled_metadata=0
|
||
|
||
[resilientstorage-debug]
|
||
name=AlmaLinux $releasever - ResilientStorage - Debug
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/resilientstorage-debug
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/ResilientStorage/debug/$basearch/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
|
||
metadata_expire=86400
|
||
enabled_metadata=0
|
||
|
||
[resilientstorage-source]
|
||
name=AlmaLinux $releasever - ResilientStorage - Source
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/resilientstorage-source
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/ResilientStorage/Source/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
|
||
metadata_expire=86400
|
||
enabled_metadata=0
|
||
EOF
|
||
cat >$Dir_YumRepos/almalinux-rt.repo <<\EOF
|
||
[rt]
|
||
name=AlmaLinux $releasever - RT
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/rt
|
||
# baseurl=https://repo.almalinux.org/almalinux/$releasever/RT/$basearch/os/
|
||
enabled=0
|
||
gpgcheck=1
|
||
countme=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
|
||
metadata_expire=86400
|
||
enabled_metadata=0
|
||
|
||
[rt-debug]
|
||
name=AlmaLinux $releasever - RT - Debug
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/rt-debug
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/RT/debug/$basearch/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
|
||
metadata_expire=86400
|
||
enabled_metadata=0
|
||
|
||
[rt-source]
|
||
name=AlmaLinux $releasever - RT - Source
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/rt-source
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/RT/Source/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
|
||
metadata_expire=86400
|
||
enabled_metadata=0
|
||
EOF
|
||
cat >$Dir_YumRepos/almalinux-sap.repo <<\EOF
|
||
[sap]
|
||
name=AlmaLinux $releasever - SAP
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/sap
|
||
# baseurl=https://repo.almalinux.org/almalinux/$releasever/SAP/$basearch/os/
|
||
enabled=0
|
||
gpgcheck=1
|
||
countme=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
|
||
metadata_expire=86400
|
||
enabled_metadata=0
|
||
|
||
[sap-debug]
|
||
name=AlmaLinux $releasever - SAP - Debug
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/sap-debug
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/SAP/debug/$basearch/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
|
||
metadata_expire=86400
|
||
enabled_metadata=0
|
||
|
||
[sap-source]
|
||
name=AlmaLinux $releasever - SAP - Source
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/sap-source
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/SAP/Source/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
|
||
metadata_expire=86400
|
||
enabled_metadata=0
|
||
EOF
|
||
cat >$Dir_YumRepos/almalinux-saphana.repo <<\EOF
|
||
[saphana]
|
||
name=AlmaLinux $releasever - SAPHANA
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/saphana
|
||
# baseurl=https://repo.almalinux.org/almalinux/$releasever/SAPHANA/$basearch/os/
|
||
enabled=0
|
||
gpgcheck=1
|
||
countme=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
|
||
metadata_expire=86400
|
||
enabled_metadata=0
|
||
|
||
[saphana-debug]
|
||
name=AlmaLinux $releasever - SAPHANA - Debug
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/saphana-debug
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/SAPHANA/debug/$basearch/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
|
||
metadata_expire=86400
|
||
enabled_metadata=0
|
||
|
||
[saphana-source]
|
||
name=AlmaLinux $releasever - SAPHANA - Source
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/saphana-source
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/SAPHANA/Source/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
|
||
metadata_expire=86400
|
||
enabled_metadata=0
|
||
EOF
|
||
;;
|
||
8)
|
||
cat >$Dir_YumRepos/almalinux-ha.repo <<\EOF
|
||
# almalinux-ha.repo
|
||
|
||
[ha]
|
||
name=AlmaLinux $releasever - HighAvailability
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/ha
|
||
# baseurl=https://repo.almalinux.org/almalinux/$releasever/HighAvailability/$basearch/os/
|
||
enabled=0
|
||
gpgcheck=1
|
||
countme=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
|
||
|
||
## Sources
|
||
[ha-source]
|
||
name=AlmaLinux $releasever - HighAvailability Source
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/ha-source
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/HighAvailability/Source/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
|
||
|
||
## Debuginfo
|
||
[ha-debuginfo]
|
||
name=AlmaLinux $releasever - HighAvailability debuginfo
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/ha-debuginfo
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/HighAvailability/debug/$basearch/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
|
||
EOF
|
||
cat >$Dir_YumRepos/almalinux-nfv.repo <<\EOF
|
||
# almalinux-nfv.repo
|
||
|
||
[nfv]
|
||
name=AlmaLinux $releasever - Real Time for NFV
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/nfv
|
||
# baseurl=https://repo.almalinux.org/almalinux/$releasever/NFV/$basearch/os/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
|
||
|
||
## Sources
|
||
[nfv-source]
|
||
name=AlmaLinux $releasever - Real Time for NFV Sources
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/nfv-source
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/NFV/Source/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
|
||
|
||
## Debuginfo
|
||
[nfv-debuginfo]
|
||
name=AlmaLinux $releasever - Real Time for NFV Debuginfo
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/nfv-debuginfo
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/NFV/debug/$basearch/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
|
||
EOF
|
||
cat >$Dir_YumRepos/almalinux-plus.repo <<\EOF
|
||
# almalinux-plus.repo
|
||
|
||
[plus]
|
||
name=AlmaLinux $releasever - Plus
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/plus
|
||
# baseurl=https://repo.almalinux.org/almalinux/$releasever/plus/$basearch/os/
|
||
enabled=0
|
||
gpgcheck=1
|
||
countme=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
|
||
|
||
## Sources
|
||
[plus-source]
|
||
name=AlmaLinux $releasever - Plus Source
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/plus-source
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/plus/Source/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
|
||
|
||
## Debuginfo
|
||
[plus-debuginfo]
|
||
name=AlmaLinux $releasever - Plus debuginfo
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/plus-debuginfo
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/plus/debug/$basearch/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
|
||
EOF
|
||
cat >$Dir_YumRepos/almalinux-powertools.repo <<\EOF
|
||
# almalinux-powertools.repo
|
||
|
||
[powertools]
|
||
name=AlmaLinux $releasever - PowerTools
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/powertools
|
||
# baseurl=https://repo.almalinux.org/almalinux/$releasever/PowerTools/$basearch/os/
|
||
enabled=0
|
||
gpgcheck=1
|
||
countme=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
|
||
|
||
## Sources
|
||
[powertools-source]
|
||
name=AlmaLinux $releasever - PowerTools Source
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/powertools-source
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/PowerTools/Source/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
|
||
|
||
## Debuginfo
|
||
[powertools-debuginfo]
|
||
name=AlmaLinux $releasever - PowerTools debuginfo
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/powertools-debuginfo
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/PowerTools/debug/$basearch/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
|
||
EOF
|
||
cat >$Dir_YumRepos/almalinux-resilientstorage.repo <<\EOF
|
||
# almalinux-resilientstorage.repo
|
||
|
||
[resilientstorage]
|
||
name=AlmaLinux $releasever - ResilientStorage
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/resilientstorage
|
||
# baseurl=https://repo.almalinux.org/almalinux/$releasever/ResilientStorage/$basearch/os/
|
||
enabled=0
|
||
gpgcheck=1
|
||
countme=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
|
||
|
||
## Sources
|
||
[resilientstorage-source]
|
||
name=AlmaLinux $releasever - ResilientStorage Source
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/resilientstorage-source
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/ResilientStorage/Source/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
|
||
|
||
## Debuginfo
|
||
[resilientstorage-debuginfo]
|
||
name=AlmaLinux $releasever - ResilientStorage debuginfo
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/resilientstorage-debuginfo
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/ResilientStorage/debug/$basearch/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
|
||
EOF
|
||
cat >$Dir_YumRepos/almalinux-rt.repo <<\EOF
|
||
# almalinux-rt.repo
|
||
|
||
[rt]
|
||
name=AlmaLinux $releasever - Real Time
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/rt
|
||
# baseurl=https://repo.almalinux.org/almalinux/$releasever/RT/$basearch/os/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
|
||
|
||
## Sources
|
||
[rt-source]
|
||
name=AlmaLinux $releasever - Real Time Sources
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/rt-source
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/RT/Source/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
|
||
|
||
## Debuginfo
|
||
[rt-debuginfo]
|
||
name=AlmaLinux $releasever - Real Time Debuginfo
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/rt-debuginfo
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/RT/debug/$basearch/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
|
||
EOF
|
||
cat >$Dir_YumRepos/almalinux-sap.repo <<\EOF
|
||
# almalinux-sap.repo
|
||
|
||
[sap]
|
||
name=AlmaLinux $releasever - SAP
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/sap
|
||
# baseurl=https://repo.almalinux.org/almalinux/$releasever/SAP/$basearch/os/
|
||
enabled=0
|
||
gpgcheck=1
|
||
countme=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
|
||
|
||
## Sources
|
||
[sap-source]
|
||
name=AlmaLinux $releasever - SAP Sources
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/sap-source
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/SAP/Source/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
|
||
|
||
## Debuginfo
|
||
[sap-debuginfo]
|
||
name=AlmaLinux $releasever - SAP Debuginfo
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/sap-debuginfo
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/SAP/debug/$basearch/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
|
||
EOF
|
||
cat >$Dir_YumRepos/almalinux-saphana.repo <<\EOF
|
||
# almalinux-saphana.repo
|
||
|
||
[saphana]
|
||
name=AlmaLinux $releasever - SAP HANA
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/saphana
|
||
# baseurl=https://repo.almalinux.org/almalinux/$releasever/SAPHANA/$basearch/os/
|
||
enabled=0
|
||
gpgcheck=1
|
||
countme=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
|
||
|
||
## Sources
|
||
[saphana-source]
|
||
name=AlmaLinux $releasever - SAP HANA Sources
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/saphana-source
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/SAPHANA/Source/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
|
||
|
||
## Debuginfo
|
||
[saphana-debuginfo]
|
||
name=AlmaLinux $releasever - SAP HANA Debuginfo
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/saphana-debuginfo
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/SAPHANA/debug/$basearch/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
|
||
EOF
|
||
cat >$Dir_YumRepos/almalinux.repo <<\EOF
|
||
# almalinux.repo
|
||
|
||
[baseos]
|
||
name=AlmaLinux $releasever - BaseOS
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/baseos
|
||
# baseurl=https://repo.almalinux.org/almalinux/$releasever/BaseOS/$basearch/os/
|
||
enabled=1
|
||
gpgcheck=1
|
||
countme=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
|
||
|
||
[appstream]
|
||
name=AlmaLinux $releasever - AppStream
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/appstream
|
||
# baseurl=https://repo.almalinux.org/almalinux/$releasever/AppStream/$basearch/os/
|
||
enabled=1
|
||
gpgcheck=1
|
||
countme=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
|
||
|
||
[extras]
|
||
name=AlmaLinux $releasever - Extras
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/extras
|
||
# baseurl=https://repo.almalinux.org/almalinux/$releasever/extras/$basearch/os/
|
||
enabled=1
|
||
gpgcheck=1
|
||
countme=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
|
||
|
||
## Sources
|
||
[baseos-source]
|
||
name=AlmaLinux $releasever - BaseOS Source
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/baseos-source
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/BaseOS/Source/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
|
||
|
||
[appstream-source]
|
||
name=AlmaLinux $releasever - AppStream Source
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/appstream-source
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/AppStream/Source/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
|
||
|
||
[extras-source]
|
||
name=AlmaLinux $releasever - Extras Source
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/extras-source
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/extras/Source/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
|
||
|
||
## Debuginfo
|
||
[baseos-debuginfo]
|
||
name=AlmaLinux $releasever - BaseOS debuginfo
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/baseos-debuginfo
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/BaseOS/debug/$basearch/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
|
||
|
||
[appstream-debuginfo]
|
||
name=AlmaLinux $releasever - AppStream debuginfo
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/appstream-debuginfo
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/AppStream/debug/$basearch/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
|
||
|
||
[extras-debuginfo]
|
||
name=AlmaLinux $releasever - Extras debuginfo
|
||
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/extras-debuginfo
|
||
# baseurl=https://repo.almalinux.org/vault/$releasever/extras/debug/$basearch/
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
|
||
EOF
|
||
;;
|
||
esac
|
||
}
|
||
|
||
## 生成 Fedora 官方 repo 源文件
|
||
function GenRepoFiles_Fedora() {
|
||
cat >$Dir_YumRepos/fedora-cisco-openh264.repo <<\EOF
|
||
[fedora-cisco-openh264]
|
||
name=Fedora $releasever openh264 (From Cisco) - $basearch
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-cisco-openh264-$releasever&arch=$basearch
|
||
type=rpm
|
||
enabled=1
|
||
metadata_expire=14d
|
||
repo_gpgcheck=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
||
skip_if_unavailable=True
|
||
|
||
[fedora-cisco-openh264-debuginfo]
|
||
name=Fedora $releasever openh264 (From Cisco) - $basearch - Debug
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-cisco-openh264-debug-$releasever&arch=$basearch
|
||
type=rpm
|
||
enabled=0
|
||
metadata_expire=14d
|
||
repo_gpgcheck=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
||
skip_if_unavailable=True
|
||
EOF
|
||
cat >$Dir_YumRepos/fedora.repo <<\EOF
|
||
[fedora]
|
||
name=Fedora $releasever - $basearch
|
||
#baseurl=http://download.example/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch
|
||
enabled=1
|
||
countme=1
|
||
metadata_expire=7d
|
||
repo_gpgcheck=0
|
||
type=rpm
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
||
skip_if_unavailable=False
|
||
|
||
[fedora-debuginfo]
|
||
name=Fedora $releasever - $basearch - Debug
|
||
#baseurl=http://download.example/pub/fedora/linux/releases/$releasever/Everything/$basearch/debug/tree/
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-debug-$releasever&arch=$basearch
|
||
enabled=0
|
||
metadata_expire=7d
|
||
repo_gpgcheck=0
|
||
type=rpm
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
||
skip_if_unavailable=False
|
||
|
||
[fedora-source]
|
||
name=Fedora $releasever - Source
|
||
#baseurl=http://download.example/pub/fedora/linux/releases/$releasever/Everything/source/tree/
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-source-$releasever&arch=$basearch
|
||
enabled=0
|
||
metadata_expire=7d
|
||
repo_gpgcheck=0
|
||
type=rpm
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
||
skip_if_unavailable=False
|
||
EOF
|
||
cat >$Dir_YumRepos/fedora-updates.repo <<\EOF
|
||
[updates]
|
||
name=Fedora $releasever - $basearch - Updates
|
||
#baseurl=http://download.example/pub/fedora/linux/updates/$releasever/Everything/$basearch/
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f$releasever&arch=$basearch
|
||
enabled=1
|
||
countme=1
|
||
repo_gpgcheck=0
|
||
type=rpm
|
||
gpgcheck=1
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
||
skip_if_unavailable=False
|
||
|
||
[updates-debuginfo]
|
||
name=Fedora $releasever - $basearch - Updates - Debug
|
||
#baseurl=http://download.example/pub/fedora/linux/updates/$releasever/Everything/$basearch/debug/
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-debug-f$releasever&arch=$basearch
|
||
enabled=0
|
||
repo_gpgcheck=0
|
||
type=rpm
|
||
gpgcheck=1
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
||
skip_if_unavailable=False
|
||
|
||
[updates-source]
|
||
name=Fedora $releasever - Updates Source
|
||
#baseurl=http://download.example/pub/fedora/linux/updates/$releasever/Everything/SRPMS/
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-source-f$releasever&arch=$basearch
|
||
enabled=0
|
||
repo_gpgcheck=0
|
||
type=rpm
|
||
gpgcheck=1
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
||
skip_if_unavailable=False
|
||
EOF
|
||
cat >$Dir_YumRepos/fedora-modular.repo <<\EOF
|
||
[fedora-modular]
|
||
name=Fedora Modular $releasever - $basearch
|
||
#baseurl=http://download.example/pub/fedora/linux/releases/$releasever/Modular/$basearch/os/
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-modular-$releasever&arch=$basearch
|
||
enabled=1
|
||
countme=1
|
||
#metadata_expire=7d
|
||
repo_gpgcheck=0
|
||
type=rpm
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
||
skip_if_unavailable=False
|
||
|
||
[fedora-modular-debuginfo]
|
||
name=Fedora Modular $releasever - $basearch - Debug
|
||
#baseurl=http://download.example/pub/fedora/linux/releases/$releasever/Modular/$basearch/debug/tree/
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-modular-debug-$releasever&arch=$basearch
|
||
enabled=0
|
||
metadata_expire=7d
|
||
repo_gpgcheck=0
|
||
type=rpm
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
||
skip_if_unavailable=False
|
||
|
||
[fedora-modular-source]
|
||
name=Fedora Modular $releasever - Source
|
||
#baseurl=http://download.example/pub/fedora/linux/releases/$releasever/Modular/source/tree/
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-modular-source-$releasever&arch=$basearch
|
||
enabled=0
|
||
metadata_expire=7d
|
||
repo_gpgcheck=0
|
||
type=rpm
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
||
skip_if_unavailable=False
|
||
EOF
|
||
cat >$Dir_YumRepos/fedora-updates-modular.repo <<\EOF
|
||
[updates-modular]
|
||
name=Fedora Modular $releasever - $basearch - Updates
|
||
#baseurl=http://download.example/pub/fedora/linux/updates/$releasever/Modular/$basearch/
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-modular-f$releasever&arch=$basearch
|
||
enabled=1
|
||
countme=1
|
||
repo_gpgcheck=0
|
||
type=rpm
|
||
gpgcheck=1
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
||
skip_if_unavailable=False
|
||
|
||
[updates-modular-debuginfo]
|
||
name=Fedora Modular $releasever - $basearch - Updates - Debug
|
||
#baseurl=http://download.example/pub/fedora/linux/updates/$releasever/Modular/$basearch/debug/
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-modular-debug-f$releasever&arch=$basearch
|
||
enabled=0
|
||
repo_gpgcheck=0
|
||
type=rpm
|
||
gpgcheck=1
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
||
skip_if_unavailable=False
|
||
|
||
[updates-modular-source]
|
||
name=Fedora Modular $releasever - Updates Source
|
||
#baseurl=http://download.example/pub/fedora/linux/updates/$releasever/Modular/SRPMS/
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-modular-source-f$releasever&arch=$basearch
|
||
enabled=0
|
||
repo_gpgcheck=0
|
||
type=rpm
|
||
gpgcheck=1
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
||
skip_if_unavailable=False
|
||
EOF
|
||
cat >$Dir_YumRepos/fedora-updates-testing.repo <<\EOF
|
||
[updates-testing]
|
||
name=Fedora $releasever - $basearch - Test Updates
|
||
#baseurl=http://download.example/pub/fedora/linux/updates/testing/$releasever/Everything/$basearch/
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-testing-f$releasever&arch=$basearch
|
||
enabled=0
|
||
countme=1
|
||
repo_gpgcheck=0
|
||
type=rpm
|
||
gpgcheck=1
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
||
skip_if_unavailable=False
|
||
|
||
[updates-testing-debuginfo]
|
||
name=Fedora $releasever - $basearch - Test Updates Debug
|
||
#baseurl=http://download.example/pub/fedora/linux/updates/testing/$releasever/Everything/$basearch/debug/
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-testing-debug-f$releasever&arch=$basearch
|
||
enabled=0
|
||
repo_gpgcheck=0
|
||
type=rpm
|
||
gpgcheck=1
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
||
skip_if_unavailable=False
|
||
|
||
[updates-testing-source]
|
||
name=Fedora $releasever - Test Updates Source
|
||
#baseurl=http://download.example/pub/fedora/linux/updates/testing/$releasever/Everything/SRPMS/
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-testing-source-f$releasever&arch=$basearch
|
||
enabled=0
|
||
repo_gpgcheck=0
|
||
type=rpm
|
||
gpgcheck=1
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
||
skip_if_unavailable=False
|
||
EOF
|
||
cat >$Dir_YumRepos/fedora-updates-testing-modular.repo <<\EOF
|
||
[updates-testing-modular]
|
||
name=Fedora Modular $releasever - $basearch - Test Updates
|
||
#baseurl=http://download.example/pub/fedora/linux/updates/testing/$releasever/Modular/$basearch/
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-testing-modular-f$releasever&arch=$basearch
|
||
enabled=0
|
||
countme=1
|
||
repo_gpgcheck=0
|
||
type=rpm
|
||
gpgcheck=1
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
||
skip_if_unavailable=False
|
||
|
||
[updates-testing-modular-debuginfo]
|
||
name=Fedora Modular $releasever - $basearch - Test Updates Debug
|
||
#baseurl=http://download.example/pub/fedora/linux/updates/$releasever/Modular/$basearch/debug/
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-testing-modular-debug-f$releasever&arch=$basearch
|
||
enabled=0
|
||
repo_gpgcheck=0
|
||
type=rpm
|
||
gpgcheck=1
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
||
skip_if_unavailable=False
|
||
|
||
[updates-testing-modular-source]
|
||
name=Fedora Modular $releasever - Test Updates Source
|
||
#baseurl=http://download.example/pub/fedora/linux/updates/$releasever/Modular/SRPMS/
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-testing-modular-source-f$releasever&arch=$basearch
|
||
enabled=0
|
||
repo_gpgcheck=0
|
||
type=rpm
|
||
gpgcheck=1
|
||
metadata_expire=6h
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
||
skip_if_unavailable=False
|
||
EOF
|
||
}
|
||
|
||
## 生成 OpenCloudOS 官方 repo 源文件
|
||
function GenRepoFiles_OpenCloudOS() {
|
||
case "$1" in
|
||
9)
|
||
cat >$Dir_YumRepos/OpenCloudOS.repo <<\EOF
|
||
[BaseOS]
|
||
name=BaseOS $releasever - $basearch
|
||
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/BaseOS/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS-9
|
||
|
||
[AppStream]
|
||
name=AppStream $releasever - $basearch
|
||
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/AppStream/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS-9
|
||
|
||
[extras]
|
||
name=extras $releasever - $basearch
|
||
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/extras/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS-9
|
||
|
||
[BaseOS-debug]
|
||
name=BaseOS-debug $releasever - $basearch
|
||
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/BaseOS/$basearch/debug/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS-9
|
||
|
||
[AppStream-debug]
|
||
name=AppStream-debug $releasever - $basearch
|
||
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/AppStream/$basearch/debug/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS-9
|
||
|
||
[extras-debug]
|
||
name=extras-debug $releasever - $basearch
|
||
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/extras/$basearch/debug/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS-9
|
||
|
||
[BaseOS-source]
|
||
name=BaseOS-source $releasever
|
||
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/BaseOS/source/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS-9
|
||
|
||
[AppStream-source]
|
||
name=AppStream-source $releasever
|
||
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/AppStream/source/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS-9
|
||
|
||
[extras-source]
|
||
name=extras-source $releasever
|
||
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/extras/source/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS-9
|
||
EOF
|
||
;;
|
||
8)
|
||
cat >$Dir_YumRepos/OpenCloudOS-Debuginfo.repo <<\EOF
|
||
# OpenCloudOS-Debuginfo.repo
|
||
#
|
||
# Author: OpenCloudOS <infrastructure@opencloudos.tech>
|
||
#
|
||
[BaseOS-debuginfo]
|
||
name=OpenCloudOS $releasever - BaseOS-debuginfo
|
||
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/BaseOS/$basearch/debug/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS
|
||
|
||
[AppStream-debuginfo]
|
||
name=OpenCloudOS $releasever - AppStream-debuginfo
|
||
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/AppStream/$basearch/debug/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS
|
||
|
||
[Extras-debuginfo]
|
||
name=OpenCloudOS $releasever - Extras-debuginfo
|
||
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/Extras/$basearch/debug/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS
|
||
|
||
[HighAvailability-debuginfo]
|
||
name=OpenCloudOS $releasever - HighAvailability-debuginfo
|
||
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/HighAvailability/$basearch/debug/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS
|
||
|
||
[PowerTools-debuginfo]
|
||
name=OpenCloudOS $releasever - PowerTools-debuginfo
|
||
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/PowerTools/$basearch/debug/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS
|
||
|
||
[ResilientStorage-debuginfo]
|
||
name=OpenCloudOS $releasever - ResilientStorage-debuginfo
|
||
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/ResilientStorage/$basearch/debug/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS
|
||
|
||
[Plus-debuginfo]
|
||
name=OpenCloudOS $releasever - Plus-debuginfo
|
||
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/Plus/$basearch/debug/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS
|
||
EOF
|
||
cat >$Dir_YumRepos/OpenCloudOS.repo <<\EOF
|
||
# OpenCloudOS.repo
|
||
#
|
||
# Author: OpenCloudOS <infrastructure@opencloudos.tech>
|
||
#
|
||
[BaseOS]
|
||
name=OpenCloudOS $releasever - BaseOS
|
||
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/BaseOS/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS
|
||
|
||
[AppStream]
|
||
name=OpenCloudOS $releasever - AppStream
|
||
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/AppStream/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS
|
||
|
||
[Extras]
|
||
name=OpenCloudOS $releasever - Extras
|
||
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/Extras/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS
|
||
|
||
[HighAvailability]
|
||
name=OpenCloudOS $releasever - HighAvailability
|
||
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/HighAvailability/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS
|
||
|
||
[PowerTools]
|
||
name=OpenCloudOS $releasever - PowerTools
|
||
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/PowerTools/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS
|
||
|
||
[ResilientStorage]
|
||
name=OpenCloudOS $releasever - ResilientStorage
|
||
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/ResilientStorage/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS
|
||
|
||
[Plus]
|
||
name=OpenCloudOS $releasever - Plus
|
||
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/Plus/$basearch/os/
|
||
gpgcheck=1
|
||
enabled=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS
|
||
EOF
|
||
cat >$Dir_YumRepos/OpenCloudOS-Sources.repo <<\EOF
|
||
# OpenCloudOS-Sources.repo
|
||
#
|
||
# Author: OpenCloudOS <infrastructure@opencloudos.tech>
|
||
#
|
||
[BaseOS-source]
|
||
name=OpenCloudOS $releasever - Base-source
|
||
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/BaseOS/source/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS
|
||
|
||
[AppStream-source]
|
||
name=OpenCloudOS $releasever - AppStream-source
|
||
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/AppStream/source/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS
|
||
|
||
[Extras-source]
|
||
name=OpenCloudOS $releasever - Extras-source
|
||
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/Extras/source/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS
|
||
|
||
[HighAvailability-source]
|
||
name=OpenCloudOS $releasever - HighAvailability-source
|
||
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/HighAvailability/source/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS
|
||
|
||
[PowerTools-source]
|
||
name=OpenCloudOS $releasever - PowerTools-source
|
||
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/PowerTools/source/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS
|
||
|
||
[ResilientStorage-source]
|
||
name=OpenCloudOS $releasever - ResilientStorage-source
|
||
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/ResilientStorage/source/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS
|
||
|
||
[Plus-source]
|
||
name=OpenCloudOS $releasever - Plus-source
|
||
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/Plus/source/tree/
|
||
gpgcheck=1
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS
|
||
EOF
|
||
;;
|
||
esac
|
||
}
|
||
|
||
## 生成 openEuler 官方 repo 源文件
|
||
function GenRepoFiles_openEuler() {
|
||
cat >$Dir_YumRepos/openEuler.repo <<\EOF
|
||
[OS]
|
||
name=OS
|
||
baseurl=http://repo.openeuler.org/openEuler-$releasever/OS/$basearch/
|
||
enabled=1
|
||
gpgcheck=1
|
||
gpgkey=http://repo.openeuler.org/openEuler-$releasever/OS/$basearch/RPM-GPG-KEY-openEuler
|
||
|
||
[everything]
|
||
name=everything
|
||
baseurl=http://repo.openeuler.org/openEuler-$releasever/everything/$basearch/
|
||
enabled=1
|
||
gpgcheck=1
|
||
gpgkey=http://repo.openeuler.org/openEuler-$releasever/everything/$basearch/RPM-GPG-KEY-openEuler
|
||
|
||
[EPOL]
|
||
name=EPOL
|
||
baseurl=http://repo.openeuler.org/openEuler-$releasever/EPOL/main/$basearch/
|
||
enabled=1
|
||
gpgcheck=1
|
||
gpgkey=http://repo.openeuler.org/openEuler-$releasever/OS/$basearch/RPM-GPG-KEY-openEuler
|
||
|
||
[debuginfo]
|
||
name=debuginfo
|
||
baseurl=http://repo.openeuler.org/openEuler-$releasever/debuginfo/$basearch/
|
||
enabled=1
|
||
gpgcheck=1
|
||
gpgkey=http://repo.openeuler.org/openEuler-$releasever/debuginfo/$basearch/RPM-GPG-KEY-openEuler
|
||
|
||
[source]
|
||
name=source
|
||
baseurl=http://repo.openeuler.org/openEuler-$releasever/source/
|
||
enabled=1
|
||
gpgcheck=1
|
||
gpgkey=http://repo.openeuler.org/openEuler-$releasever/source/RPM-GPG-KEY-openEuler
|
||
|
||
[update]
|
||
name=update
|
||
baseurl=http://repo.openeuler.org/openEuler-$releasever/update/$basearch/
|
||
enabled=1
|
||
gpgcheck=1
|
||
gpgkey=http://repo.openeuler.org/openEuler-$releasever/OS/$basearch/RPM-GPG-KEY-openEuler
|
||
|
||
[update-source]
|
||
name=update-source
|
||
baseurl=http://repo.openeuler.org/openEuler-$releasever/update/source/
|
||
enabled=1
|
||
gpgcheck=1
|
||
gpgkey=http://repo.openeuler.org/openEuler-$releasever/source/RPM-GPG-KEY-openEuler
|
||
EOF
|
||
}
|
||
|
||
## 生成 openSUSE 官方 repo 源文件
|
||
function GenRepoFiles_openSUSE() {
|
||
case "$1" in
|
||
"leap")
|
||
case "$2" in
|
||
15.[0-2])
|
||
cat >$Dir_openSUSERepos/repo-debug-non-oss.repo <<\EOF
|
||
[repo-debug-non-oss]
|
||
name=Debug Repository (Non-OSS)
|
||
enabled=0
|
||
autorefresh=1
|
||
baseurl=http://download.opensuse.org/debug/distribution/leap/$releasever/repo/non-oss/
|
||
type=NONE
|
||
keeppackages=0
|
||
EOF
|
||
cat >$Dir_openSUSERepos/repo-debug.repo <<\EOF
|
||
[repo-debug]
|
||
name=Debug Repository
|
||
enabled=0
|
||
autorefresh=1
|
||
baseurl=http://download.opensuse.org/debug/distribution/leap/$releasever/repo/oss/
|
||
type=NONE
|
||
keeppackages=0
|
||
EOF
|
||
cat >$Dir_openSUSERepos/repo-debug-update-non-oss.repo <<\EOF
|
||
[repo-debug-update-non-oss]
|
||
name=Update Repository (Debug, Non-OSS)
|
||
enabled=0
|
||
autorefresh=1
|
||
baseurl=http://download.opensuse.org/debug/update/leap/$releasever/non-oss/
|
||
type=NONE
|
||
keeppackages=0
|
||
EOF
|
||
cat >$Dir_openSUSERepos/repo-debug-update.repo <<\EOF
|
||
[repo-debug-update]
|
||
name=Update Repository (Debug)
|
||
enabled=0
|
||
autorefresh=1
|
||
baseurl=http://download.opensuse.org/debug/update/leap/$releasever/oss/
|
||
type=NONE
|
||
keeppackages=0
|
||
EOF
|
||
cat >$Dir_openSUSERepos/repo-non-oss.repo <<\EOF
|
||
[repo-non-oss]
|
||
name=Non-OSS Repository
|
||
enabled=1
|
||
autorefresh=1
|
||
baseurl=http://download.opensuse.org/distribution/leap/$releasever/repo/non-oss/
|
||
type=rpm-md
|
||
keeppackages=0
|
||
EOF
|
||
cat >$Dir_openSUSERepos/repo-oss.repo <<\EOF
|
||
[repo-oss]
|
||
name=Main Repository
|
||
enabled=1
|
||
autorefresh=1
|
||
baseurl=http://download.opensuse.org/distribution/leap/$releasever/repo/oss/
|
||
type=rpm-md
|
||
keeppackages=0
|
||
EOF
|
||
cat >$Dir_openSUSERepos/repo-source-non-oss.repo <<\EOF
|
||
[repo-source-non-oss]
|
||
name=Source Repository (Non-OSS)
|
||
enabled=0
|
||
autorefresh=1
|
||
baseurl=http://download.opensuse.org/source/distribution/leap/$releasever/repo/non-oss/
|
||
type=NONE
|
||
keeppackages=0
|
||
EOF
|
||
cat >$Dir_openSUSERepos/repo-source.repo <<\EOF
|
||
[repo-source]
|
||
name=Source Repository
|
||
enabled=0
|
||
autorefresh=1
|
||
baseurl=http://download.opensuse.org/source/distribution/leap/$releasever/repo/oss/
|
||
type=NONE
|
||
keeppackages=0
|
||
EOF
|
||
cat >$Dir_openSUSERepos/repo-update-non-oss.repo <<\EOF
|
||
[repo-update-non-oss]
|
||
name=Update Repository (Non-Oss)
|
||
enabled=1
|
||
autorefresh=1
|
||
baseurl=http://download.opensuse.org/update/leap/$releasever/non-oss/
|
||
type=rpm-md
|
||
keeppackages=0
|
||
EOF
|
||
cat >$Dir_openSUSERepos/repo-update.repo <<\EOF
|
||
[repo-update]
|
||
name=Main Update Repository
|
||
enabled=1
|
||
autorefresh=1
|
||
baseurl=http://download.opensuse.org/update/leap/$releasever/oss/
|
||
type=rpm-md
|
||
keeppackages=0
|
||
EOF
|
||
;;
|
||
*)
|
||
cat >$Dir_openSUSERepos/repo-backports-debug-update.repo <<\EOF
|
||
[repo-backports-debug-update]
|
||
name=Update repository with updates for openSUSE Leap debuginfo packages from openSUSE Backports
|
||
enabled=0
|
||
autorefresh=1
|
||
baseurl=http://download.opensuse.org/update/leap/$releasever/backports_debug/
|
||
type=NONE
|
||
keeppackages=0
|
||
EOF
|
||
cat >$Dir_openSUSERepos/repo-backports-update.repo <<\EOF
|
||
[repo-backports-update]
|
||
name=Update repository of openSUSE Backports
|
||
enabled=1
|
||
autorefresh=1
|
||
baseurl=http://download.opensuse.org/update/leap/$releasever/backports/
|
||
path=/
|
||
type=rpm-md
|
||
keeppackages=0
|
||
EOF
|
||
cat >$Dir_openSUSERepos/repo-debug-non-oss.repo <<\EOF
|
||
[repo-debug-non-oss]
|
||
name=Debug Repository (Non-OSS)
|
||
enabled=0
|
||
autorefresh=1
|
||
baseurl=http://download.opensuse.org/debug/distribution/leap/$releasever/repo/non-oss/
|
||
keeppackages=0
|
||
EOF
|
||
cat >$Dir_openSUSERepos/repo-debug.repo <<\EOF
|
||
[repo-debug]
|
||
name=Debug Repository
|
||
enabled=0
|
||
autorefresh=1
|
||
baseurl=http://download.opensuse.org/debug/distribution/leap/$releasever/repo/oss/
|
||
keeppackages=0
|
||
EOF
|
||
cat >$Dir_openSUSERepos/repo-debug-update-non-oss.repo <<\EOF
|
||
[repo-debug-update-non-oss]
|
||
name=Update Repository (Debug, Non-OSS)
|
||
enabled=0
|
||
autorefresh=1
|
||
baseurl=http://download.opensuse.org/debug/update/leap/$releasever/non-oss/
|
||
keeppackages=0
|
||
EOF
|
||
cat >$Dir_openSUSERepos/repo-debug-update.repo <<\EOF
|
||
[repo-debug-update]
|
||
name=Update Repository (Debug)
|
||
enabled=0
|
||
autorefresh=1
|
||
baseurl=http://download.opensuse.org/debug/update/leap/$releasever/oss/
|
||
keeppackages=0
|
||
EOF
|
||
cat >$Dir_openSUSERepos/repo-non-oss.repo <<\EOF
|
||
[repo-non-oss]
|
||
name=Non-OSS Repository
|
||
enabled=1
|
||
autorefresh=1
|
||
baseurl=http://download.opensuse.org/distribution/leap/$releasever/repo/non-oss/
|
||
type=rpm-md
|
||
keeppackages=0
|
||
EOF
|
||
cat >$Dir_openSUSERepos/repo-oss.repo <<\EOF
|
||
[repo-oss]
|
||
name=Main Repository
|
||
enabled=1
|
||
autorefresh=1
|
||
baseurl=http://download.opensuse.org/distribution/leap/$releasever/repo/oss/
|
||
type=rpm-md
|
||
keeppackages=0
|
||
EOF
|
||
cat >$Dir_openSUSERepos/repo-sle-debug-update.repo <<\EOF
|
||
[repo-sle-debug-update]
|
||
name=Update repository with debuginfo for updates from SUSE Linux Enterprise 15
|
||
enabled=0
|
||
autorefresh=1
|
||
baseurl=http://download.opensuse.org/debug/update/leap/$releasever/sle/
|
||
path=/
|
||
type=rpm-md
|
||
keeppackages=0
|
||
EOF
|
||
cat >$Dir_openSUSERepos/repo-sle-update.repo <<\EOF
|
||
[repo-sle-update]
|
||
name=Update repository with updates from SUSE Linux Enterprise 15
|
||
enabled=1
|
||
autorefresh=1
|
||
baseurl=http://download.opensuse.org/update/leap/$releasever/sle/
|
||
path=/
|
||
type=rpm-md
|
||
keeppackages=0
|
||
EOF
|
||
cat >$Dir_openSUSERepos/repo-source.repo <<\EOF
|
||
[repo-source]
|
||
name=Source Repository
|
||
enabled=0
|
||
autorefresh=1
|
||
baseurl=http://download.opensuse.org/source/distribution/leap/$releasever/repo/oss/
|
||
keeppackages=0
|
||
EOF
|
||
cat >$Dir_openSUSERepos/repo-update-non-oss.repo <<\EOF
|
||
[repo-update-non-oss]
|
||
name=Update Repository (Non-Oss)
|
||
enabled=1
|
||
autorefresh=1
|
||
baseurl=http://download.opensuse.org/update/leap/$releasever/non-oss/
|
||
type=rpm-md
|
||
keeppackages=0
|
||
EOF
|
||
cat >$Dir_openSUSERepos/repo-update.repo <<\EOF
|
||
[repo-update]
|
||
name=Main Update Repository
|
||
enabled=1
|
||
autorefresh=1
|
||
baseurl=http://download.opensuse.org/update/leap/$releasever/oss/
|
||
type=rpm-md
|
||
keeppackages=0
|
||
EOF
|
||
;;
|
||
esac
|
||
;;
|
||
"tumbleweed")
|
||
cat >$Dir_openSUSERepos/repo-debug.repo <<\EOF
|
||
[repo-debug]
|
||
name=openSUSE-Tumbleweed-Debug
|
||
enabled=0
|
||
autorefresh=1
|
||
baseurl=http://download.opensuse.org/debug/tumbleweed/repo/oss/
|
||
path=/
|
||
keeppackages=0
|
||
EOF
|
||
cat >$Dir_openSUSERepos/repo-non-oss.repo <<\EOF
|
||
[repo-non-oss]
|
||
name=openSUSE-Tumbleweed-Non-Oss
|
||
enabled=1
|
||
autorefresh=1
|
||
baseurl=http://download.opensuse.org/tumbleweed/repo/non-oss/
|
||
path=/
|
||
type=rpm-md
|
||
keeppackages=0
|
||
EOF
|
||
cat >$Dir_openSUSERepos/repo-openh264.repo <<\EOF
|
||
[repo-openh264]
|
||
name=Open H.264 Codec (openSUSE Tumbleweed)
|
||
enabled=1
|
||
autorefresh=1
|
||
baseurl=http://codecs.opensuse.org/openh264/openSUSE_Tumbleweed
|
||
path=/
|
||
type=rpm-md
|
||
keeppackages=0
|
||
EOF
|
||
cat >$Dir_openSUSERepos/repo-oss.repo <<\EOF
|
||
[repo-oss]
|
||
name=openSUSE-Tumbleweed-Oss
|
||
enabled=1
|
||
autorefresh=1
|
||
baseurl=http://download.opensuse.org/tumbleweed/repo/oss/
|
||
path=/
|
||
type=rpm-md
|
||
keeppackages=0
|
||
EOF
|
||
cat >$Dir_openSUSERepos/repo-source.repo <<\EOF
|
||
[repo-source]
|
||
name=openSUSE-Tumbleweed-Source
|
||
enabled=0
|
||
autorefresh=1
|
||
baseurl=http://download.opensuse.org/source/tumbleweed/repo/oss/
|
||
path=/
|
||
keeppackages=0
|
||
EOF
|
||
cat >$Dir_openSUSERepos/repo-update.repo <<\EOF
|
||
[repo-update]
|
||
name=openSUSE-Tumbleweed-Update
|
||
enabled=1
|
||
autorefresh=1
|
||
baseurl=http://download.opensuse.org/update/tumbleweed/
|
||
path=/
|
||
type=rpm-md
|
||
keeppackages=0
|
||
EOF
|
||
;;
|
||
esac
|
||
}
|
||
|
||
## 生成 EPEL 附加软件包官方 repo 源文件
|
||
function GenRepoFiles_EPEL() {
|
||
case ${SYSTEM_VERSION_NUMBER:0:1} in
|
||
9)
|
||
cat >$Dir_YumRepos/epel.repo <<\EOF
|
||
[epel]
|
||
name=Extra Packages for Enterprise Linux $releasever - $basearch
|
||
# It is much more secure to use the metalink, but if you wish to use a local mirror
|
||
# place its address here.
|
||
#baseurl=https://download.example/pub/epel/$releasever/Everything/$basearch/
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-$releasever&arch=$basearch&infra=$infra&content=$contentdir
|
||
enabled=1
|
||
gpgcheck=1
|
||
countme=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
|
||
|
||
[epel-debuginfo]
|
||
name=Extra Packages for Enterprise Linux $releasever - $basearch - Debug
|
||
# It is much more secure to use the metalink, but if you wish to use a local mirror
|
||
# place its address here.
|
||
#baseurl=https://download.example/pub/epel/$releasever/Everything/$basearch/debug/
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-$releasever&arch=$basearch&infra=$infra&content=$contentdir
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
|
||
gpgcheck=1
|
||
|
||
[epel-source]
|
||
name=Extra Packages for Enterprise Linux $releasever - $basearch - Source
|
||
# It is much more secure to use the metalink, but if you wish to use a local mirror
|
||
# place its address here.
|
||
#baseurl=https://download.example/pub/epel/$releasever/Everything/source/tree/
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-source-$releasever&arch=$basearch&infra=$infra&content=$contentdir
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
|
||
gpgcheck=1
|
||
EOF
|
||
cat >$Dir_YumRepos/epel-testing.repo <<\EOF
|
||
[epel-testing]
|
||
name=Extra Packages for Enterprise Linux $releasever - Testing - $basearch
|
||
# It is much more secure to use the metalink, but if you wish to use a local mirror
|
||
# place its address here.
|
||
#baseurl=https://download.example/pub/epel/testing/$releasever/Everything/$basearch/
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-epel$releasever&arch=$basearch&infra=$infra&content=$contentdir
|
||
enabled=0
|
||
gpgcheck=1
|
||
countme=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
|
||
|
||
[epel-testing-debuginfo]
|
||
name=Extra Packages for Enterprise Linux $releasever - Testing - $basearch - Debug
|
||
# It is much more secure to use the metalink, but if you wish to use a local mirror
|
||
# place its address here.
|
||
#baseurl=https://download.example/pub/epel/testing/$releasever/Everything/$basearch/debug/
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-debug-epel$releasever&arch=$basearch&infra=$infra&content=$contentdir
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
|
||
gpgcheck=1
|
||
|
||
[epel-testing-source]
|
||
name=Extra Packages for Enterprise Linux $releasever - Testing - $basearch - Source
|
||
# It is much more secure to use the metalink, but if you wish to use a local mirror
|
||
# place its address here.
|
||
#baseurl=https://download.example/pub/epel/testing/$releasever/Everything/source/tree/
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-source-epel$releasever&arch=$basearch&infra=$infra&content=$contentdir
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
|
||
gpgcheck=1
|
||
EOF
|
||
;;
|
||
8)
|
||
cat >$Dir_YumRepos/epel.repo <<\EOF
|
||
[epel]
|
||
name=Extra Packages for Enterprise Linux $releasever - $basearch
|
||
#baseurl=https://download.fedoraproject.org/pub/epel/8/Everything/$basearch
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-$releasever&arch=$basearch&infra=$infra&content=$contentdir
|
||
enabled=1
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
|
||
|
||
[epel-debuginfo]
|
||
name=Extra Packages for Enterprise Linux $releasever - $basearch - Debug
|
||
#baseurl=https://download.fedoraproject.org/pub/epel/8/Everything/$basearch/debug
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-$releasever&arch=$basearch&infra=$infra&content=$contentdir
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
|
||
gpgcheck=1
|
||
|
||
[epel-source]
|
||
name=Extra Packages for Enterprise Linux $releasever - $basearch - Source
|
||
#baseurl=https://download.fedoraproject.org/pub/epel/8/Everything/SRPMS
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-source-$releasever&arch=$basearch&infra=$infra&content=$contentdir
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
|
||
gpgcheck=1
|
||
EOF
|
||
cat >$Dir_YumRepos/epel-modular.repo <<\EOF
|
||
[epel-modular]
|
||
name=Extra Packages for Enterprise Linux Modular $releasever - $basearch
|
||
#baseurl=https://download.fedoraproject.org/pub/epel/8/Modular/$basearch
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-modular-$releasever&arch=$basearch&infra=$infra&content=$contentdir
|
||
enabled=1
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
|
||
|
||
[epel-modular-debuginfo]
|
||
name=Extra Packages for Enterprise Linux Modular $releasever - $basearch - Debug
|
||
#baseurl=https://download.fedoraproject.org/pub/epel/8/Modular/$basearch/debug
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-modular-debug-$releasever&arch=$basearch&infra=$infra&content=$contentdir
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
|
||
gpgcheck=1
|
||
|
||
[epel-modular-source]
|
||
name=Extra Packages for Enterprise Linux Modular $releasever - $basearch - Source
|
||
#baseurl=https://download.fedoraproject.org/pub/epel/8/Modular/SRPMS
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-modular-source-$releasever&arch=$basearch&infra=$infra&content=$contentdir
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
|
||
gpgcheck=1
|
||
EOF
|
||
cat >$Dir_YumRepos/epel-playground.repo <<\EOF
|
||
[epel-playground]
|
||
name=Extra Packages for Enterprise Linux $releasever - Playground - $basearch
|
||
#baseurl=https://download.fedoraproject.org/pub/epel/playground/$releasever/Everything/$basearch/os
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=playground-epel$releasever&arch=$basearch&infra=$infra&content=$contentdir
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
|
||
|
||
[epel-playground-debuginfo]
|
||
name=Extra Packages for Enterprise Linux $releasever - Playground - $basearch - Debug
|
||
#baseurl=https://download.fedoraproject.org/pub/epel/playground/$releasever/Everything/$basearch/debug
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=playground-debug-epel$releasever&arch=$basearch&infra=$infra&content=$contentdir
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
|
||
gpgcheck=1
|
||
|
||
[epel-playground-source]
|
||
name=Extra Packages for Enterprise Linux $releasever - Playground - $basearch - Source
|
||
#baseurl=https://download.fedoraproject.org/pub/epel/playground/$releasever/Everything/source/tree/
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=playground-source-epel$releasever&arch=$basearch&infra=$infra&content=$contentdir
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
|
||
gpgcheck=1
|
||
EOF
|
||
cat >$Dir_YumRepos/epel-testing.repo <<\EOF
|
||
[epel-testing]
|
||
name=Extra Packages for Enterprise Linux $releasever - Testing - $basearch
|
||
#baseurl=https://download.fedoraproject.org/pub/epel/testing/$releasever/Everything/$basearch
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-epel$releasever&arch=$basearch&infra=$infra&content=$contentdir
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
|
||
|
||
[epel-testing-debuginfo]
|
||
name=Extra Packages for Enterprise Linux $releasever - Testing - $basearch - Debug
|
||
#baseurl=https://download.fedoraproject.org/pub/epel/testing/$releasever/Everything/$basearch/debug
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-debug-epel$releasever&arch=$basearch&infra=$infra&content=$contentdir
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
|
||
gpgcheck=1
|
||
|
||
[epel-testing-source]
|
||
name=Extra Packages for Enterprise Linux $releasever - Testing - $basearch - Source
|
||
#baseurl=https://download.fedoraproject.org/pub/epel/testing/$releasever/Everything/SRPMS
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-source-epel$releasever&arch=$basearch&infra=$infra&content=$contentdir
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
|
||
gpgcheck=1
|
||
EOF
|
||
cat >$Dir_YumRepos/epel-testing-modular.repo <<\EOF
|
||
[epel-testing-modular]
|
||
name=Extra Packages for Enterprise Linux Modular $releasever - Testing - $basearch
|
||
#baseurl=https://download.fedoraproject.org/pub/epel/testing/$releasever/Modular/$basearch
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-modular-epel$releasever&arch=$basearch&infra=$infra&content=$contentdir
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
|
||
|
||
[epel-testing-modular-debuginfo]
|
||
name=Extra Packages for Enterprise Linux Modular $releasever - Testing - $basearch - Debug
|
||
#baseurl=https://download.fedoraproject.org/pub/epel/testing/$releasever/Modular/$basearch/debug
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-modular-debug-epel$releasever&arch=$basearch&infra=$infra&content=$contentdir
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
|
||
gpgcheck=1
|
||
|
||
[epel-testing-modular-source]
|
||
name=Extra Packages for Enterprise Linux Modular $releasever - Testing - $basearch - Source
|
||
#baseurl=https://download.fedoraproject.org/pub/epel/testing/$releasever/Modular/SRPMS
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-modular-source-epel$releasever&arch=$basearch&infra=$infra&content=$contentdir
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
|
||
gpgcheck=1
|
||
EOF
|
||
;;
|
||
7)
|
||
cat >$Dir_YumRepos/epel.repo <<\EOF
|
||
[epel]
|
||
name=Extra Packages for Enterprise Linux 7 - $basearch
|
||
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
|
||
failovermethod=priority
|
||
enabled=1
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
|
||
|
||
[epel-debuginfo]
|
||
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
|
||
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch/debug
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch
|
||
failovermethod=priority
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
|
||
gpgcheck=1
|
||
|
||
[epel-source]
|
||
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
|
||
#baseurl=http://download.fedoraproject.org/pub/epel/7/SRPMS
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch
|
||
failovermethod=priority
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
|
||
gpgcheck=1
|
||
EOF
|
||
cat >$Dir_YumRepos/epel-testing.repo <<\EOF
|
||
[epel-testing]
|
||
name=Extra Packages for Enterprise Linux 7 - Testing - $basearch
|
||
#baseurl=http://download.fedoraproject.org/pub/epel/testing/7/$basearch
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-epel7&arch=$basearch
|
||
failovermethod=priority
|
||
enabled=0
|
||
gpgcheck=1
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
|
||
|
||
[epel-testing-debuginfo]
|
||
name=Extra Packages for Enterprise Linux 7 - Testing - $basearch - Debug
|
||
#baseurl=http://download.fedoraproject.org/pub/epel/testing/7/$basearch/debug
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-debug-epel7&arch=$basearch
|
||
failovermethod=priority
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
|
||
gpgcheck=1
|
||
|
||
[epel-testing-source]
|
||
name=Extra Packages for Enterprise Linux 7 - Testing - $basearch - Source
|
||
#baseurl=http://download.fedoraproject.org/pub/epel/testing/7/SRPMS
|
||
metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-source-epel7&arch=$basearch
|
||
failovermethod=priority
|
||
enabled=0
|
||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
|
||
gpgcheck=1
|
||
EOF
|
||
;;
|
||
esac
|
||
}
|
||
|
||
## 处理命令选项
|
||
function CommandOptions() {
|
||
## 命令帮助
|
||
function Output_Help_Info() {
|
||
echo -e "
|
||
命令选项(参数名/含义/参数值):
|
||
|
||
--abroad 使用海外软件源 无
|
||
--edu 使用中国大陆教育网软件源 无
|
||
--source 指定软件源地址 地址
|
||
--source-security 指定 Debian 的 security 软件源地址 地址
|
||
--source-vault 指定 CentOS/AlmaLinux 的 vault 软件源地址 地址
|
||
--use-official-source 使用操作系统官方软件源 无
|
||
--branch 指定软件源分支(路径) 分支名
|
||
--branch-security 指定 Debian 的 security 软件源分支(路径) 分支名
|
||
--branch-vault 指定 CentOS/AlmaLinux 的 vault 软件源分支(路径) 分支名
|
||
--codename 指定 Debian 系操作系统的版本名称 版本名
|
||
--web-protocol 指定 WEB 协议 http 或 https
|
||
--intranet 优先使用内网地址 true 或 false
|
||
--install-epel 安装 EPEL 附加软件包 true 或 false
|
||
--only-epel 仅更换 EPEL 软件源模式 无
|
||
--close-firewall 关闭防火墙 true 或 false
|
||
--backup 备份原有软件源 true 或 false
|
||
--ignore-backup-tips 忽略覆盖备份提示 无
|
||
--updata-software 更新软件包 true 或 false
|
||
--clean-cache 清理下载缓存 true 或 false
|
||
--print-diff 打印源文件修改前后差异 无
|
||
|
||
问题报告 https://github.com/SuperManito/LinuxMirrors/issues
|
||
"
|
||
}
|
||
|
||
## 判断参数
|
||
while [ $# -gt 0 ]; do
|
||
case "$1" in
|
||
## 海外模式
|
||
--abroad)
|
||
USE_ABROAD_SOURCE="true"
|
||
;;
|
||
## 中国大陆教育网模式
|
||
--edu)
|
||
USE_EDU_SOURCE="true"
|
||
;;
|
||
## 指定软件源地址
|
||
--source)
|
||
if [ "$2" ]; then
|
||
echo "$2" | grep -Eq "\(|\)|\[|\]|\{|\}"
|
||
if [ $? -eq 0 ]; then
|
||
Output_Error "检测到无效参数值 ${BLUE}$2${PLAIN} ,请输入有效的地址!"
|
||
else
|
||
SOURCE="$2"
|
||
shift
|
||
fi
|
||
else
|
||
Output_Error "检测到 ${BLUE}$1${PLAIN} 为无效参数,请在该参数后指定软件源地址!"
|
||
fi
|
||
;;
|
||
--source-security)
|
||
if [ "$2" ]; then
|
||
echo "$2" | grep -Eq "\(|\)|\[|\]|\{|\}"
|
||
if [ $? -eq 0 ]; then
|
||
Output_Error "检测到无效参数值 ${BLUE}$2${PLAIN} ,请输入有效的地址!"
|
||
else
|
||
SOURCE_SECURITY="$2"
|
||
shift
|
||
fi
|
||
else
|
||
Output_Error "检测到 ${BLUE}$1${PLAIN} 为无效参数,请在该参数后指定软件源地址!"
|
||
fi
|
||
;;
|
||
--source-vault)
|
||
if [ "$2" ]; then
|
||
echo "$2" | grep -Eq "\(|\)|\[|\]|\{|\}"
|
||
if [ $? -eq 0 ]; then
|
||
Output_Error "检测到无效参数值 ${BLUE}$2${PLAIN} ,请输入有效的地址!"
|
||
else
|
||
SOURCE_VAULT="$2"
|
||
shift
|
||
fi
|
||
else
|
||
Output_Error "检测到 ${BLUE}$1${PLAIN} 为无效参数,请在该参数后指定软件源地址!"
|
||
fi
|
||
;;
|
||
## 使用官方源
|
||
--use-official-source)
|
||
USE_OFFICIAL_SOURCE="true"
|
||
;;
|
||
## 指定软件源分支
|
||
--branch)
|
||
if [ "$2" ]; then
|
||
SOURCE_BRANCH="$2"
|
||
shift
|
||
else
|
||
Output_Error "检测到 ${BLUE}$1${PLAIN} 为无效参数,请在该参数后指定软件源地址!"
|
||
fi
|
||
;;
|
||
--branch-security)
|
||
if [ "$2" ]; then
|
||
SOURCE_BRANCH_SECURITY="$2"
|
||
shift
|
||
else
|
||
Output_Error "检测到 ${BLUE}$1${PLAIN} 为无效参数,请在该参数后指定软件源地址!"
|
||
fi
|
||
;;
|
||
--branch-vault)
|
||
if [ "$2" ]; then
|
||
SOURCE_BRANCH_VAULT="$2"
|
||
shift
|
||
else
|
||
Output_Error "检测到 ${BLUE}$1${PLAIN} 为无效参数,请在该参数后指定软件源地址!"
|
||
fi
|
||
;;
|
||
## 指定 Debian 系操作系统的版本名称
|
||
--codename)
|
||
if [ "$2" ]; then
|
||
DEBIAN_CODENAME="$2"
|
||
shift
|
||
else
|
||
Output_Error "检测到 ${BLUE}$1${PLAIN} 为无效参数,请在该参数后指定版本名称!"
|
||
fi
|
||
;;
|
||
## 优先使用内网地址
|
||
--intranet)
|
||
if [ "$2" ]; then
|
||
case "$2" in
|
||
[Tt]rue | [Ff]alse)
|
||
USE_INTRANET_SOURCE="${2,,}"
|
||
shift
|
||
;;
|
||
*)
|
||
Output_Error "检测到 ${BLUE}$2${PLAIN} 为无效参数值,请在该参数后指定 true 或 false 作为参数值!"
|
||
;;
|
||
esac
|
||
else
|
||
Output_Error "检测到 ${BLUE}$1${PLAIN} 为无效参数,请在该参数后指定 true 或 false 作为参数值!"
|
||
fi
|
||
;;
|
||
## WEB 协议(HTTP/HTTPS)
|
||
--web-protocol)
|
||
if [ "$2" ]; then
|
||
case "$2" in
|
||
http | https | HTTP | HTTPS)
|
||
WEB_PROTOCOL="$2"
|
||
shift
|
||
;;
|
||
*)
|
||
Output_Error "检测到 ${BLUE}$2${PLAIN} 为无效参数值,请在该参数后指定 http 或 https 作为参数值!"
|
||
;;
|
||
esac
|
||
else
|
||
Output_Error "检测到 ${BLUE}$1${PLAIN} 为无效参数,请在该参数后指定 WEB 协议(HTTP/HTTPS)!"
|
||
fi
|
||
;;
|
||
## 安装 EPEL 附加软件包
|
||
--install-epel)
|
||
if [ "$2" ]; then
|
||
case "$2" in
|
||
[Tt]rue | [Ff]alse)
|
||
INSTALL_EPEL="${2,,}"
|
||
shift
|
||
;;
|
||
*)
|
||
Output_Error "检测到 ${BLUE}$2${PLAIN} 为无效参数值,请在该参数后指定 true 或 false 作为参数值!"
|
||
;;
|
||
esac
|
||
else
|
||
Output_Error "检测到 ${BLUE}$1${PLAIN} 为无效参数,请在该参数后指定 true 或 false 作为参数值!"
|
||
fi
|
||
;;
|
||
--only-epel)
|
||
ONLY_EPEL="true"
|
||
INSTALL_EPEL="true"
|
||
;;
|
||
## 关闭防火墙
|
||
--close-firewall)
|
||
if [ "$2" ]; then
|
||
case "$2" in
|
||
[Tt]rue | [Ff]alse)
|
||
CLOSE_FIREWALL="${2,,}"
|
||
shift
|
||
;;
|
||
*)
|
||
Output_Error "检测到 ${BLUE}$2${PLAIN} 为无效参数值,请在该参数后指定 true 或 false 作为参数值!"
|
||
;;
|
||
esac
|
||
else
|
||
Output_Error "检测到 ${BLUE}$1${PLAIN} 为无效参数,请在该参数后指定 true 或 false 作为参数值!"
|
||
fi
|
||
;;
|
||
## 备份原有软件源
|
||
--backup)
|
||
if [ "$2" ]; then
|
||
case "$2" in
|
||
[Tt]rue | [Ff]alse)
|
||
BACKUP="${2,,}"
|
||
shift
|
||
;;
|
||
*)
|
||
Output_Error "检测到 ${BLUE}$2${PLAIN} 为无效参数值,请在该参数后指定 true 或 false 作为参数值!"
|
||
;;
|
||
esac
|
||
else
|
||
Output_Error "检测到 ${BLUE}$1${PLAIN} 为无效参数,请在该参数后指定 true 或 false 作为参数值!"
|
||
fi
|
||
;;
|
||
## 忽略覆盖备份提示
|
||
--ignore-backup-tips)
|
||
IGNORE_BACKUP_TIPS="true"
|
||
;;
|
||
## 更新软件包
|
||
--updata-software)
|
||
if [ "$2" ]; then
|
||
case "$2" in
|
||
[Tt]rue | [Ff]alse)
|
||
UPDATA_SOFTWARE="${2,,}"
|
||
shift
|
||
;;
|
||
*)
|
||
Output_Error "检测到 ${BLUE}$2${PLAIN} 为无效参数值,请在该参数后指定 true 或 false 作为参数值!"
|
||
;;
|
||
esac
|
||
else
|
||
Output_Error "检测到 ${BLUE}$1${PLAIN} 为无效参数,请在该参数后指定 true 或 false 作为参数值!"
|
||
fi
|
||
;;
|
||
## 清理下载缓存
|
||
--clean-cache)
|
||
if [ "$2" ]; then
|
||
case "$2" in
|
||
[Tt]rue | [Ff]alse)
|
||
CLEAN_CACHE="${2,,}"
|
||
shift
|
||
;;
|
||
*)
|
||
Output_Error "检测到 ${BLUE}$2${PLAIN} 为无效参数值,请在该参数后指定 true 或 false 作为参数值!"
|
||
;;
|
||
esac
|
||
else
|
||
Output_Error "检测到 ${BLUE}$1${PLAIN} 为无效参数,请在该参数后指定 true 或 false 作为参数值!"
|
||
fi
|
||
;;
|
||
## 打印源文件修改前后差异
|
||
--print-diff)
|
||
PRINT_DIFF="true"
|
||
;;
|
||
## 命令帮助
|
||
--help)
|
||
Output_Help_Info
|
||
exit
|
||
;;
|
||
*)
|
||
Output_Error "检测到 ${BLUE}$1${PLAIN} 为无效参数,请确认后重新输入!"
|
||
;;
|
||
esac
|
||
shift
|
||
done
|
||
## 给部分命令选项赋予默认值
|
||
ONLY_EPEL="${ONLY_EPEL:-"false"}"
|
||
BACKUP="${BACKUP:-"true"}"
|
||
USE_OFFICIAL_SOURCE="${USE_OFFICIAL_SOURCE:-"false"}"
|
||
IGNORE_BACKUP_TIPS="${IGNORE_BACKUP_TIPS:-"false"}"
|
||
PRINT_DIFF="${PRINT_DIFF:-"false"}"
|
||
}
|
||
|
||
## 组合函数
|
||
function Combin_Function() {
|
||
PermissionJudgment
|
||
EnvJudgment
|
||
CheckCommandOptions
|
||
StartTitle
|
||
ChooseMirrors
|
||
ChooseWebProtocol
|
||
ChooseInstallEPEL
|
||
CloseFirewall
|
||
BackupOriginMirrors
|
||
RemoveOriginMirrors
|
||
ChangeMirrors
|
||
UpdateSoftware
|
||
RunEnd
|
||
}
|
||
|
||
CommandOptions "$@"
|
||
Combin_Function
|