Files
LinuxMirrors/ChangeMirrors.sh

6302 lines
228 KiB
Bash
Raw Normal View History

2021-10-22 14:34:59 +08:00
#!/bin/bash
2021-10-08 00:03:44 +08:00
## Author: SuperManito
2025-03-16 19:30:40 +08:00
## Modified: 2025-03-16
## License: MIT
2023-06-24 11:06:30 +08:00
## GitHub: https://github.com/SuperManito/LinuxMirrors
2023-05-05 22:08:16 +08:00
## Website: https://linuxmirrors.cn
2024-10-24 20:00:48 +08:00
## 定制方法
# 只需要在头部(此处)定义全局变量即可,具体详见官网文档,简单写几个例子
# SOURCE="www.example.com" # 指定软件源地址
2024-12-13 21:50:49 +08:00
# BRANCH="branch" # 指定软件源仓库
2024-10-24 20:00:48 +08:00
# WEB_PROTOCOL="https" # 指定 WEB 协议
2023-05-03 02:32:42 +08:00
## 软件源列表
# 国内格式:"软件源名称@软件源地址"
mirror_list_default=(
"阿里云@mirrors.aliyun.com"
"腾讯云@mirrors.tencent.com"
"华为云@repo.huaweicloud.com"
"网易@mirrors.163.com"
2024-01-13 01:22:56 +08:00
"火山引擎@mirrors.volces.com"
"清华大学@mirrors.tuna.tsinghua.edu.cn"
"北京大学@mirrors.pku.edu.cn"
"浙江大学@mirrors.zju.edu.cn"
"南京大学@mirrors.nju.edu.cn"
"兰州大学@mirror.lzu.edu.cn"
"上海交通大学@mirror.sjtu.edu.cn"
"重庆邮电大学@mirrors.cqupt.edu.cn"
"中国科学技术大学@mirrors.ustc.edu.cn"
"中国科学院软件研究所@mirror.iscas.ac.cn"
)
# 中国大陆教育网格式:"软件源名称@软件源地址"
mirror_list_edu=(
"北京大学@mirrors.pku.edu.cn"
"北京交通大学@mirror.bjtu.edu.cn"
2024-12-12 20:14:27 +08:00
"北京外国语大学@mirrors.bfsu.edu.cn"
"北京邮电大学@mirrors.bupt.edu.cn"
2024-12-12 20:14:27 +08:00
"重庆大学@mirrors.cqu.edu.cn"
"重庆邮电大学@mirrors.cqupt.edu.cn"
2024-12-12 20:14:27 +08:00
"大连东软信息学院@mirrors.neusoft.edu.cn"
"电子科技大学@mirrors.uestc.cn"
"华南农业大学@mirrors.scau.edu.cn"
2024-07-26 19:05:33 +08:00
"华中科技大学@mirrors.hust.edu.cn"
2024-12-12 20:14:27 +08:00
"吉林大学@mirrors.jlu.edu.cn"
"荆楚理工学院@mirrors.jcut.edu.cn"
2024-12-12 20:14:27 +08:00
"江西理工大学@mirrors.jxust.edu.cn"
"兰州大学@mirror.lzu.edu.cn"
"南京大学@mirrors.nju.edu.cn"
"南京工业大学@mirrors.njtech.edu.cn"
"南京邮电大学@mirrors.njupt.edu.cn"
"南方科技大学@mirrors.sustech.edu.cn"
"南阳理工学院@mirror.nyist.edu.cn"
"齐鲁工业大学@mirrors.qlu.edu.cn"
"清华大学@mirrors.tuna.tsinghua.edu.cn"
"山东大学@mirrors.sdu.edu.cn"
"上海科技大学@mirrors.shanghaitech.edu.cn"
2024-07-26 19:05:33 +08:00
"上海交通大学(思源)@mirror.sjtu.edu.cn"
"上海交通大学(致远)@mirrors.sjtug.sjtu.edu.cn"
2024-12-12 20:14:27 +08:00
"武昌首义学院@mirrors.wsyu.edu.cn"
"西安交通大学@mirrors.xjtu.edu.cn"
"西北农林科技大学@mirrors.nwafu.edu.cn"
"浙江大学@mirrors.zju.edu.cn"
"中国科学技术大学@mirrors.ustc.edu.cn"
)
2023-05-05 17:32:43 +08:00
# 海外格式:"洲 · 软件源名称 · 国家/地区@软件源地址",修改前请先前往官网阅读添加规范
2023-05-03 02:32:42 +08:00
mirror_list_abroad=(
2023-05-05 17:32:43 +08:00
"亚洲 · xTom · 香港@mirrors.xtom.hk"
"亚洲 · 01Link · 香港@mirror.01link.hk"
"亚洲 · 新加坡国立大学(NUS) · 新加坡@download.nus.edu.sg/mirror"
"亚洲 · SG.GS · 新加坡@mirror.sg.gs"
2024-07-26 19:05:33 +08:00
"亚洲 · xTom · 新加坡@mirrors.xtom.sg"
2023-05-05 17:32:43 +08:00
"亚洲 · 自由软件实验室(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"
"亚洲 · 北陆先端科学技术大学院大学(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"
"欧洲 · 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"
2023-05-03 02:32:42 +08:00
)
## 配置需要区分公网地址和内网地址的软件源(不分地域)
# 配置方法:需要同时在两个数组变量中分别定义软件源地址,并且保证排列顺序一致
2023-06-24 11:06:30 +08:00
# 工作原理:当检测到用户所选择的软件源地址在 “软件源公网地址列表” 中时就会询问是否切换为内网地址,然后在 “软件源内网地址列表” 从相同的位置提取内网地址
# 软件源公网地址列表
mirror_list_extranet=(
"mirrors.aliyun.com"
"mirrors.tencent.com"
"repo.huaweicloud.com"
2024-01-13 01:22:56 +08:00
"mirrors.volces.com"
)
# 软件源内网地址列表
mirror_list_intranet=(
"mirrors.cloud.aliyuncs.com"
"mirrors.tencentyun.com"
"mirrors.myhuaweicloud.com"
"mirrors.ivolces.com"
)
##############################################################################
2021-10-08 00:03:44 +08:00
## 定义系统判定变量
SYSTEM_DEBIAN="Debian"
SYSTEM_UBUNTU="Ubuntu"
SYSTEM_KALI="Kali"
2023-09-23 23:23:59 +08:00
SYSTEM_DEEPIN="Deepin"
SYSTEM_LINUX_MINT="Linuxmint"
2024-10-07 08:17:16 +08:00
SYSTEM_ZORIN="Zorin"
SYSTEM_RASPBERRY_PI_OS="Raspberry Pi OS"
2021-10-08 00:03:44 +08:00
SYSTEM_REDHAT="RedHat"
SYSTEM_RHEL="Red Hat Enterprise Linux"
2021-10-08 00:03:44 +08:00
SYSTEM_CENTOS="CentOS"
SYSTEM_CENTOS_STREAM="CentOS Stream"
2023-04-19 01:26:44 +08:00
SYSTEM_ROCKY="Rocky"
SYSTEM_ALMALINUX="AlmaLinux"
2021-10-08 00:03:44 +08:00
SYSTEM_FEDORA="Fedora"
2023-05-09 20:09:38 +08:00
SYSTEM_OPENCLOUDOS="OpenCloudOS"
SYSTEM_OPENCLOUDOS_STREAM="OpenCloudOS Stream"
2023-04-21 12:06:23 +08:00
SYSTEM_OPENEULER="openEuler"
SYSTEM_ANOLISOS="Anolis"
SYSTEM_OPENKYLIN="openKylin"
2023-05-01 16:27:11 +08:00
SYSTEM_OPENSUSE="openSUSE"
2023-05-05 17:32:43 +08:00
SYSTEM_ARCH="Arch"
2024-01-17 17:14:51 +08:00
SYSTEM_ALPINE="Alpine"
2024-07-31 21:30:10 +08:00
SYSTEM_GENTOO="Gentoo"
2025-02-20 17:21:12 +08:00
SYSTEM_NIXOS="NixOS"
2021-10-08 00:03:44 +08:00
2024-01-17 17:14:51 +08:00
## 定义系统版本文件
File_LinuxRelease=/etc/os-release
File_RedHatRelease=/etc/redhat-release
2024-01-17 17:14:51 +08:00
File_DebianVersion=/etc/debian_version
File_ArmbianRelease=/etc/armbian-release
2025-03-16 19:30:40 +08:00
File_RaspberryPiOSRelease=/etc/rpi-issue
2023-05-09 20:09:38 +08:00
File_openEulerRelease=/etc/openEuler-release
File_OpenCloudOSRelease=/etc/opencloudos-release
2024-10-24 01:55:14 +08:00
File_AnolisOSRelease=/etc/anolis-release
2025-01-22 01:06:09 +08:00
File_OracleLinuxRelease=/etc/oracle-release
2024-07-26 19:05:33 +08:00
File_ArchLinuxRelease=/etc/arch-release
2024-01-17 17:14:51 +08:00
File_AlpineRelease=/etc/alpine-release
2024-07-31 21:30:10 +08:00
File_GentooRelease=/etc/gentoo-release
2025-01-22 01:06:09 +08:00
File_openKylinVersion=/etc/kylin-version/kylin-system-version.conf
2024-02-27 06:49:36 +08:00
File_ProxmoxVersion=/etc/pve/.version
2024-01-17 17:14:51 +08:00
## 定义软件源相关文件或目录
File_DebianSourceList=/etc/apt/sources.list
File_DebianSourceListBackup=/etc/apt/sources.list.bak
File_DebianSources=/etc/apt/sources.list.d/debian.sources
File_DebianSourcesBackup=/etc/apt/sources.list.d/debian.sources.bak
File_UbuntuSources=/etc/apt/sources.list.d/ubuntu.sources
File_UbuntuSourcesBackup=/etc/apt/sources.list.d/ubuntu.sources.bak
File_ArmbianSourceList=/etc/apt/sources.list.d/armbian.list
File_ArmbianSourceListBackup=/etc/apt/sources.list.d/armbian.list.bak
2024-02-27 06:49:36 +08:00
File_ProxmoxSourceList=/etc/apt/sources.list.d/pve-no-subscription.list
File_ProxmoxSourceListBackup=/etc/apt/sources.list.d/pve-no-subscription.list.bak
File_LinuxMintSourceList=/etc/apt/sources.list.d/official-package-repositories.list
File_LinuxMintSourceListBackup=/etc/apt/sources.list.d/official-package-repositories.list.bak
File_RaspberryPiSourceList=/etc/apt/sources.list.d/raspi.list
File_RaspberryPiSourceListBackup=/etc/apt/sources.list.d/raspi.list.bak
2024-07-26 19:05:33 +08:00
File_ArchLinuxMirrorList=/etc/pacman.d/mirrorlist
File_ArchLinuxMirrorListBackup=/etc/pacman.d/mirrorlist.bak
2024-01-17 17:14:51 +08:00
File_AlpineRepositories=/etc/apk/repositories
File_AlpineRepositoriesBackup=/etc/apk/repositories.bak
2024-07-31 21:30:10 +08:00
File_GentooMakeConf=/etc/portage/make.conf
File_GentooMakeConfBackup=/etc/portage/make.conf.bak
File_GentooReposConf=/etc/portage/repos.conf/gentoo.conf
File_GentooReposConfBackup=/etc/portage/repos.conf/gentoo.conf.bak
2025-02-20 17:21:12 +08:00
File_NixConf=/etc/nix/nix.conf
File_NixConfBackup=/etc/nix/nix.conf.bak
2024-07-31 21:30:10 +08:00
Dir_GentooReposConf=/etc/portage/repos.conf
Dir_DebianExtendSource=/etc/apt/sources.list.d
Dir_DebianExtendSourceBackup=/etc/apt/sources.list.d.bak
Dir_YumRepos=/etc/yum.repos.d
Dir_YumReposBackup=/etc/yum.repos.d.bak
Dir_ZYppRepos=/etc/zypp/repos.d
Dir_ZYppReposBackup=/etc/zypp/repos.d.bak
2025-02-20 17:21:12 +08:00
Dir_NixConfig=/etc/nix
2021-10-08 00:03:44 +08:00
2023-05-01 16:27:11 +08:00
## 定义颜色变量
RED='\033[31m'
GREEN='\033[32m'
YELLOW='\033[33m'
BLUE='\033[34m'
PURPLE='\033[35m'
AZURE='\033[36m'
PLAIN='\033[0m'
BOLD='\033[1m'
2024-12-06 20:56:39 +08:00
SUCCESS="\033[1;32m✔${PLAIN}"
COMPLETE="\033[1;32m✔${PLAIN}"
WARN="\033[1;43m 警告 ${PLAIN}"
ERROR="\033[1;31m✘${PLAIN}"
FAIL="\033[1;31m✘${PLAIN}"
TIP="\033[1;44m 提示 ${PLAIN}"
WORKING="\033[1;36m>_${PLAIN}"
function main() {
permission_judgment
collect_system_info
check_command_options
2024-07-26 19:05:33 +08:00
run_start
choose_mirrors
choose_protocol
choose_install_epel_packages
backup_original_mirrors
remove_original_mirrors
change_mirrors_main
upgrade_software
run_end
}
2024-07-26 19:05:33 +08:00
## 处理命令选项
function handle_command_options() {
## 命令帮助
function output_command_help() {
2024-11-08 15:02:45 +08:00
echo -e "\n命令选项(名称/含义/值)
--abroad 使用境外以及海外软件源 无
--edu 使用中国大陆教育网软件源 无
--source 指定软件源地址(域名或IP) 地址
--source-epel 指定 EPEL 附加软件包仓库的软件源地址(域名或IP) 地址
--source-security 指定 Debian 系统 security 仓库的软件源地址(域名或IP) 地址
--source-vault 指定 CentOS / AlmaLinux 系统 vault 仓库的软件源地址(域名或IP) 地址
--source-portage 指定 Gentoo 系统 portage 仓库的软件源地址(域名或IP) 地址
--source-base-system 指定 Linux Mint / Raspberry Pi OS 底层系统的软件源地址(域名或IP) 地址
--branch 指定软件源仓库(路径) 仓库名
--branch-epel 指定 EPEL 附加软件包仓库的软件源仓库(路径) 仓库名
--branch-security 指定 Debian 系统 security 仓库的软件源仓库(路径) 仓库名
--branch-vault 指定 CentOS / AlmaLinux 系统 vault 仓库的软件源仓库(路径) 仓库名
--branch-portage 指定 Gentoo 系统 portage 仓库的软件源仓库(路径) 仓库名
--branch-base-system 指定 Linux Mint / Raspberry Pi OS 底层系统的软件源仓库(路径) 仓库名
--codename 指定 Debian 系 / openKylin 操作系统的版本代号 代号名称
--protocol 指定 WEB 协议 http 或 https
--use-intranet-source 是否优先使用内网软件源地址 truefalse
--use-official-source 是否使用目标操作系统的官方软件源 truefalse
--install-epel 是否安装 EPEL 附加软件包 truefalse
--backup 是否备份原有软件源 truefalse
--upgrade-software 是否更新软件包 truefalse
--clean-cache 是否清理下载缓存 truefalse
--clean-screen 是否在运行前清除屏幕上的所有内容 truefalse
--only-epel 仅更换 EPEL 软件源模式 无
--ignore-backup-tips 忽略覆盖备份提示 无
--print-diff 打印源文件修改前后差异 无
2024-07-31 21:30:10 +08:00
问题报告 https://github.com/SuperManito/LinuxMirrors/issues\n"
2024-07-26 19:05:33 +08:00
}
2024-07-26 19:05:33 +08:00
## 判断参数
while [ $# -gt 0 ]; do
case "$1" in
## 海外模式
--abroad)
USE_ABROAD_SOURCE="true"
2024-01-18 12:15:13 +08:00
;;
2024-07-26 19:05:33 +08:00
## 中国大陆教育网模式
--edu)
USE_EDU_SOURCE="true"
2023-05-08 00:36:19 +08:00
;;
2024-07-26 19:05:33 +08:00
## 指定软件源地址
--source)
if [ "$2" ]; then
echo "$2" | grep -Eq "\(|\)|\[|\]|\{|\}"
if [ $? -eq 0 ]; then
2024-08-22 18:19:49 +08:00
output_error "命令选项 ${BLUE}$2${PLAIN} 无效,请在该选项后指定有效的地址!"
2024-07-26 19:05:33 +08:00
else
SOURCE="$(echo "$2" | sed -e 's,^http[s]\?://,,g' -e 's,/$,,')"
shift
fi
else
2024-08-22 18:19:49 +08:00
output_error "命令选项 ${BLUE}$1${PLAIN} 无效,请在该选项后指定软件源地址!"
fi
;;
2024-07-31 21:30:10 +08:00
--source-epel)
if [ "$2" ]; then
echo "$2" | grep -Eq "\(|\)|\[|\]|\{|\}"
if [ $? -eq 0 ]; then
2024-08-22 18:19:49 +08:00
output_error "命令选项 ${BLUE}$2${PLAIN} 无效,请在该选项后指定有效的地址!"
2024-07-31 21:30:10 +08:00
else
SOURCE_EPEL="$(echo "$2" | sed -e 's,^http[s]\?://,,g' -e 's,/$,,')"
shift
fi
else
2024-08-22 18:19:49 +08:00
output_error "命令选项 ${BLUE}$1${PLAIN} 无效,请在该选项后指定软件源地址!"
2024-07-31 21:30:10 +08:00
fi
;;
2024-07-26 19:05:33 +08:00
--source-security)
if [ "$2" ]; then
echo "$2" | grep -Eq "\(|\)|\[|\]|\{|\}"
if [ $? -eq 0 ]; then
2024-08-22 18:19:49 +08:00
output_error "命令选项 ${BLUE}$2${PLAIN} 无效,请在该选项后指定有效的地址!"
2024-07-26 19:05:33 +08:00
else
SOURCE_SECURITY="$(echo "$2" | sed -e 's,^http[s]\?://,,g' -e 's,/$,,')"
shift
fi
2023-05-06 16:44:27 +08:00
else
2024-08-22 18:19:49 +08:00
output_error "命令选项 ${BLUE}$1${PLAIN} 无效,请在该选项后指定软件源地址!"
2023-05-06 16:44:27 +08:00
fi
;;
2024-07-26 19:05:33 +08:00
--source-vault)
if [ "$2" ]; then
echo "$2" | grep -Eq "\(|\)|\[|\]|\{|\}"
if [ $? -eq 0 ]; then
2024-08-22 18:19:49 +08:00
output_error "命令选项 ${BLUE}$2${PLAIN} 无效,请在该选项后指定有效的地址!"
2023-05-06 16:44:27 +08:00
else
2024-07-26 19:05:33 +08:00
SOURCE_VAULT="$(echo "$2" | sed -e 's,^http[s]\?://,,g' -e 's,/$,,')"
shift
2023-05-06 16:44:27 +08:00
fi
2024-07-26 19:05:33 +08:00
else
2024-08-22 18:19:49 +08:00
output_error "命令选项 ${BLUE}$1${PLAIN} 无效,请在该选项后指定软件源地址!"
2024-07-26 19:05:33 +08:00
fi
2023-05-06 16:44:27 +08:00
;;
2024-07-31 21:30:10 +08:00
--source-portage)
if [ "$2" ]; then
echo "$2" | grep -Eq "\(|\)|\[|\]|\{|\}"
if [ $? -eq 0 ]; then
2024-08-22 18:19:49 +08:00
output_error "命令选项 ${BLUE}$2${PLAIN} 无效,请在该选项后指定有效的地址!"
2024-07-31 21:30:10 +08:00
else
SOURCE_PORTAGE="$(echo "$2" | sed -e 's,^http[s]\?://,,g' -e 's,/$,,')"
shift
fi
else
2024-08-22 18:19:49 +08:00
output_error "命令选项 ${BLUE}$1${PLAIN} 无效,请在该选项后指定软件源地址!"
2024-07-31 21:30:10 +08:00
fi
;;
2024-11-08 15:02:45 +08:00
--source-base-system)
if [ "$2" ]; then
echo "$2" | grep -Eq "\(|\)|\[|\]|\{|\}"
if [ $? -eq 0 ]; then
output_error "命令选项 ${BLUE}$2${PLAIN} 无效,请在该选项后指定有效的地址!"
else
SOURCE_BASE_SYSTEM="$(echo "$2" | sed -e 's,^http[s]\?://,,g' -e 's,/$,,')"
shift
fi
else
output_error "命令选项 ${BLUE}$1${PLAIN} 无效,请在该选项后指定软件源地址!"
fi
;;
2024-12-13 21:50:49 +08:00
## 指定软件源仓库
2024-07-26 19:05:33 +08:00
--branch)
if [ "$2" ]; then
SOURCE_BRANCH="$2"
shift
2023-05-05 17:32:43 +08:00
else
2024-12-13 21:50:49 +08:00
output_error "命令选项 ${BLUE}$1${PLAIN} 无效,请在该选项后指定软件源仓库!"
2023-05-05 17:32:43 +08:00
fi
;;
2024-07-31 21:30:10 +08:00
--branch-epel)
if [ "$2" ]; then
SOURCE_EPEL_BRANCH="$2"
shift
else
2024-12-13 21:50:49 +08:00
output_error "命令选项 ${BLUE}$1${PLAIN} 无效,请在该选项后指定软件源仓库!"
2024-07-31 21:30:10 +08:00
fi
;;
2024-07-26 19:05:33 +08:00
--branch-security)
if [ "$2" ]; then
2024-07-31 21:30:10 +08:00
SOURCE_SECURITY_BRANCH="$2"
2024-07-26 19:05:33 +08:00
shift
else
2024-12-13 21:50:49 +08:00
output_error "命令选项 ${BLUE}$1${PLAIN} 无效,请在该选项后指定软件源仓库!"
2024-07-26 19:05:33 +08:00
fi
;;
--branch-vault)
if [ "$2" ]; then
2024-07-31 21:30:10 +08:00
SOURCE_VAULT_BRANCH="$2"
shift
else
2024-12-13 21:50:49 +08:00
output_error "命令选项 ${BLUE}$1${PLAIN} 无效,请在该选项后指定软件源仓库!"
2024-07-31 21:30:10 +08:00
fi
;;
--branch-portage)
if [ "$2" ]; then
SOURCE_PORTAGE_BRANCH="$2"
2024-07-26 19:05:33 +08:00
shift
else
2024-12-13 21:50:49 +08:00
output_error "命令选项 ${BLUE}$1${PLAIN} 无效,请在该选项后指定软件源仓库!"
2024-07-26 19:05:33 +08:00
fi
;;
2024-11-08 15:02:45 +08:00
--branch-base-system)
if [ "$2" ]; then
SOURCE_BASE_SYSTEM_BRANCH="$2"
shift
else
2024-12-13 21:50:49 +08:00
output_error "命令选项 ${BLUE}$1${PLAIN} 无效,请在该选项后指定软件源仓库!"
2024-11-08 15:02:45 +08:00
fi
;;
2024-07-26 19:05:33 +08:00
## 指定 Debian 系操作系统的版本代号
--codename)
if [ "$2" ]; then
DEBIAN_CODENAME="$2"
shift
else
2024-08-22 18:19:49 +08:00
output_error "命令选项 ${BLUE}$1${PLAIN} 无效,请在该选项后指定版本代号!"
2024-07-26 19:05:33 +08:00
fi
;;
2024-08-22 18:19:49 +08:00
## 使用官方源
--use-official-source)
if [ "$2" ]; then
case "$2" in
[Tt]rue | [Ff]alse)
USE_OFFICIAL_SOURCE="${2,,}"
shift
;;
*)
output_error "命令选项 ${BLUE}$2${PLAIN} 无效,请在该选项后指定 true 或 false "
;;
esac
else
output_error "命令选项 ${BLUE}$1${PLAIN} 无效,请在该选项后指定 true 或 false "
fi
2024-07-31 21:30:10 +08:00
;;
2024-08-22 18:19:49 +08:00
## 使用内网地址
--intranet | --use-intranet-source)
2024-07-26 19:05:33 +08:00
if [ "$2" ]; then
case "$2" in
[Tt]rue | [Ff]alse)
USE_INTRANET_SOURCE="${2,,}"
shift
;;
*)
2024-08-22 18:19:49 +08:00
output_error "命令选项 ${BLUE}$2${PLAIN} 无效,请在该选项后指定 true 或 false "
2024-07-26 19:05:33 +08:00
;;
esac
else
2024-08-22 18:19:49 +08:00
output_error "命令选项 ${BLUE}$1${PLAIN} 无效,请在该选项后指定 true 或 false "
2024-07-26 19:05:33 +08:00
fi
;;
## WEB 协议HTTP/HTTPS
--protocol | --web-protocol)
if [ "$2" ]; then
case "$2" in
http | https | HTTP | HTTPS)
2025-01-04 19:20:15 +08:00
WEB_PROTOCOL="${2,,}"
2024-07-26 19:05:33 +08:00
shift
;;
*)
2024-08-22 18:19:49 +08:00
output_error "检测到 ${BLUE}$2${PLAIN} 为无效参数值,请在该选项后指定 http 或 https "
2024-07-26 19:05:33 +08:00
;;
esac
else
2024-08-22 18:19:49 +08:00
output_error "命令选项 ${BLUE}$1${PLAIN} 无效,请在该选项后指定 WEB 协议http/https"
2024-07-26 19:05:33 +08:00
fi
;;
## 安装 EPEL 附加软件包
--install-epel)
if [ "$2" ]; then
case "$2" in
[Tt]rue | [Ff]alse)
INSTALL_EPEL="${2,,}"
shift
;;
*)
2024-08-22 18:19:49 +08:00
output_error "命令选项 ${BLUE}$2${PLAIN} 无效,请在该选项后指定 true 或 false "
2024-07-26 19:05:33 +08:00
;;
esac
else
2024-08-22 18:19:49 +08:00
output_error "命令选项 ${BLUE}$1${PLAIN} 无效,请在该选项后指定 true 或 false "
2024-07-26 19:05:33 +08:00
fi
;;
--only-epel)
ONLY_EPEL="true"
INSTALL_EPEL="true"
;;
## 备份原有软件源
--backup)
if [ "$2" ]; then
case "$2" in
[Tt]rue | [Ff]alse)
BACKUP="${2,,}"
shift
;;
*)
2024-08-22 18:19:49 +08:00
output_error "命令选项 ${BLUE}$2${PLAIN} 无效,请在该选项后指定 true 或 false "
2024-07-26 19:05:33 +08:00
;;
esac
else
2024-08-22 18:19:49 +08:00
output_error "命令选项 ${BLUE}$1${PLAIN} 无效,请在该选项后指定 true 或 false "
2024-07-26 19:05:33 +08:00
fi
;;
## 忽略覆盖备份提示
--ignore-backup-tips)
IGNORE_BACKUP_TIPS="true"
;;
## 更新软件包
--upgrade-software | --updata-software)
if [ "$2" ]; then
case "$2" in
[Tt]rue | [Ff]alse)
UPGRADE_SOFTWARE="${2,,}"
shift
;;
*)
2024-08-22 18:19:49 +08:00
output_error "命令选项 ${BLUE}$2${PLAIN} 无效,请在该选项后指定 true 或 false "
2024-07-26 19:05:33 +08:00
;;
esac
else
2024-08-22 18:19:49 +08:00
output_error "命令选项 ${BLUE}$1${PLAIN} 无效,请在该选项后指定 true 或 false "
2024-07-26 19:05:33 +08:00
fi
;;
## 清理下载缓存
--clean-cache)
if [ "$2" ]; then
case "$2" in
[Tt]rue | [Ff]alse)
CLEAN_CACHE="${2,,}"
shift
;;
*)
2024-08-22 18:19:49 +08:00
output_error "命令选项 ${BLUE}$2${PLAIN} 无效,请在该选项后指定 true 或 false "
2024-07-26 19:05:33 +08:00
;;
esac
else
2024-08-22 18:19:49 +08:00
output_error "命令选项 ${BLUE}$1${PLAIN} 无效,请在该选项后指定 true 或 false "
2024-07-26 19:05:33 +08:00
fi
;;
## 清除屏幕上的所有内容
--clean-screen)
if [ "$2" ]; then
case "$2" in
[Tt]rue | [Ff]alse)
CLEAN_SCREEN="${2,,}"
shift
;;
*)
output_error "命令选项 ${BLUE}$2${PLAIN} 无效,请在该选项后指定 true 或 false "
;;
esac
else
output_error "命令选项 ${BLUE}$1${PLAIN} 无效,请在该选项后指定 true 或 false "
fi
;;
2024-07-26 19:05:33 +08:00
## 打印源文件修改前后差异
--print-diff)
PRINT_DIFF="true"
;;
## 命令帮助
--help)
output_command_help
exit
;;
*)
2024-08-22 18:19:49 +08:00
output_error "命令选项 ${BLUE}$1${PLAIN} 无效,请确认后重新输入!"
2024-07-26 19:05:33 +08:00
;;
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 run_start() {
if [ -z "${CLEAN_SCREEN}" ]; then
[ -z "${SOURCE}" ] && clear
elif [ "${CLEAN_SCREEN}" == "true" ]; then
clear
fi
2024-12-06 20:56:39 +08:00
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 更换系统软件源脚本'
2024-07-26 19:05:33 +08:00
}
function run_end() {
2024-12-06 20:56:39 +08:00
echo -e "\n✨ \033[1;34mPowered by https://linuxmirrors.cn\033[0m\n"
2024-07-26 19:05:33 +08:00
}
## 报错退出
function output_error() {
[ "$1" ] && echo -e "\n$ERROR $1\n"
exit 1
}
## 权限判定
function permission_judgment() {
if [ $UID -ne 0 ]; then
output_error "权限不足,请使用 Root 用户运行本脚本"
2021-10-08 00:03:44 +08:00
fi
2024-07-26 19:05:33 +08:00
}
## 收集系统信息
function collect_system_info() {
## 定义系统名称
SYSTEM_NAME="$(cat $File_LinuxRelease | grep -E "^NAME=" | awk -F '=' '{print$2}' | sed "s/[\'\"]//g")"
grep -q "PRETTY_NAME=" $File_LinuxRelease && 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")"
SYSTEM_VERSION_NUMBER_MAJOR="${SYSTEM_VERSION_NUMBER%.*}"
SYSTEM_VERSION_NUMBER_MINOR="${SYSTEM_VERSION_NUMBER#*.}"
2024-07-26 19:05:33 +08:00
## 定义系统ID
SYSTEM_ID="$(cat $File_LinuxRelease | grep -E "^ID=" | awk -F '=' '{print$2}' | sed "s/[\'\"]//g")"
## 判定当前系统派系
2025-03-16 19:30:40 +08:00
if [ -s "${File_DebianVersion}" ]; then
2024-07-26 19:05:33 +08:00
SYSTEM_FACTIONS="${SYSTEM_DEBIAN}"
2025-03-16 19:30:40 +08:00
elif [ -s "${File_OracleLinuxRelease}" ]; then
2025-01-22 01:06:09 +08:00
output_error "当前操作系统不在本脚本的支持范围内,请前往官网查看支持列表!"
2025-03-16 19:30:40 +08:00
elif [ -s "${File_RedHatRelease}" ]; then
SYSTEM_FACTIONS="${SYSTEM_REDHAT}"
2025-03-16 19:30:40 +08:00
elif [ -s "${File_openEulerRelease}" ]; then
2024-07-26 19:05:33 +08:00
SYSTEM_FACTIONS="${SYSTEM_OPENEULER}"
2025-03-16 19:30:40 +08:00
elif [ -s "${File_OpenCloudOSRelease}" ]; then
SYSTEM_FACTIONS="${SYSTEM_OPENCLOUDOS}" # 自 9.0 版本起不再基于红帽
2025-03-16 19:30:40 +08:00
elif [ -s "${File_AnolisOSRelease}" ]; then
SYSTEM_FACTIONS="${SYSTEM_ANOLISOS}" # 自 8.8 版本起不再基于红帽
2025-03-16 19:30:40 +08:00
elif [ -s "${File_openKylinVersion}" ]; then
SYSTEM_FACTIONS="${SYSTEM_OPENKYLIN}"
2025-03-16 19:30:40 +08:00
elif [ -f "${File_ArchLinuxRelease}" ]; then
2024-07-26 19:05:33 +08:00
SYSTEM_FACTIONS="${SYSTEM_ARCH}"
2025-03-16 19:30:40 +08:00
elif [ -f "${File_AlpineRelease}" ]; then
2024-07-26 19:05:33 +08:00
SYSTEM_FACTIONS="${SYSTEM_ALPINE}"
2025-03-16 19:30:40 +08:00
elif [ -f "${File_GentooRelease}" ]; then
2024-07-31 21:30:10 +08:00
SYSTEM_FACTIONS="${SYSTEM_GENTOO}"
2024-07-26 19:05:33 +08:00
elif [[ "${SYSTEM_NAME}" == *"openSUSE"* ]]; then
SYSTEM_FACTIONS="${SYSTEM_OPENSUSE}"
2025-02-20 17:21:12 +08:00
elif [[ "${SYSTEM_NAME}" == *"NixOS"* ]]; then
SYSTEM_FACTIONS="${SYSTEM_NIXOS}"
2024-07-26 19:05:33 +08:00
else
output_error "当前操作系统不在本脚本的支持范围内,请前往官网查看支持列表!"
2024-07-26 19:05:33 +08:00
fi
## 判定系统类型、版本、版本号
2023-05-01 16:27:11 +08:00
case "${SYSTEM_FACTIONS}" in
"${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
2024-07-26 19:05:33 +08:00
if [ ! -x /usr/bin/lsb_release ]; then
apt-get install -y lsb-release
if [ $? -ne 0 ]; then
output_error "lsb-release 软件包安装失败\n\n本脚本依赖 lsb_release 指令判断系统具体类型和版本,当前系统可能为精简安装,请自行安装后重新执行脚本!"
fi
fi
SYSTEM_JUDGMENT="$(lsb_release -is)"
SYSTEM_VERSION_CODENAME="${DEBIAN_CODENAME:-"$(lsb_release -cs)"}"
# Raspberry Pi OS
2025-03-16 19:30:40 +08:00
if [ -s "${File_RaspberryPiOSRelease}" ]; then
SYSTEM_JUDGMENT="${SYSTEM_RASPBERRY_PI_OS}"
SYSTEM_PRETTY_NAME="${SYSTEM_RASPBERRY_PI_OS}"
fi
2024-07-26 19:05:33 +08:00
;;
"${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_JUDGMENT="${SYSTEM_FACTIONS}"
;;
esac
## 判断系统及版本是否适配
2024-07-26 19:05:33 +08:00
local is_supported="true"
case "${SYSTEM_JUDGMENT}" in
"${SYSTEM_DEBIAN}")
if [[ "${SYSTEM_VERSION_NUMBER_MAJOR}" -lt 8 || "${SYSTEM_VERSION_NUMBER_MAJOR}" -gt 13 ]]; then
2024-07-26 19:05:33 +08:00
is_supported="false"
fi
;;
"${SYSTEM_UBUNTU}")
if [[ "${SYSTEM_VERSION_NUMBER_MAJOR}" -lt 14 || "${SYSTEM_VERSION_NUMBER_MAJOR}" -gt 24 ]]; then
2024-07-26 19:05:33 +08:00
is_supported="false"
fi
;;
"${SYSTEM_LINUX_MINT}")
if [[ "${SYSTEM_VERSION_NUMBER_MAJOR}" != 19 && "${SYSTEM_VERSION_NUMBER_MAJOR}" != 2[0-2] && "${SYSTEM_VERSION_NUMBER_MAJOR}" != 6 ]]; then
2024-07-26 19:05:33 +08:00
is_supported="false"
fi
;;
"${SYSTEM_RHEL}")
if [[ "${SYSTEM_VERSION_NUMBER_MAJOR}" != [7-9] ]]; then
2024-07-26 19:05:33 +08:00
is_supported="false"
fi
;;
"${SYSTEM_CENTOS}")
if [[ "${SYSTEM_VERSION_NUMBER_MAJOR}" != [7-8] ]]; then
2024-07-26 19:05:33 +08:00
is_supported="false"
fi
;;
"${SYSTEM_CENTOS_STREAM}" | "${SYSTEM_ROCKY}" | "${SYSTEM_ALMALINUX}")
2025-03-14 18:57:40 +08:00
if [[ "${SYSTEM_VERSION_NUMBER_MAJOR}" != [8-9] && "${SYSTEM_VERSION_NUMBER_MAJOR}" != 10 ]]; then
2024-07-26 19:05:33 +08:00
is_supported="false"
fi
;;
"${SYSTEM_FEDORA}")
2024-12-12 20:30:24 +08:00
if [[ "${SYSTEM_VERSION_NUMBER}" != [3-4][0-9] ]]; then
is_supported="false"
fi
;;
"${SYSTEM_OPENEULER}")
if [[ "${SYSTEM_VERSION_NUMBER_MAJOR}" != 2[1-4] ]]; then
2024-07-26 19:05:33 +08:00
is_supported="false"
fi
;;
"${SYSTEM_OPENCLOUDOS}")
if [[ "${SYSTEM_VERSION_NUMBER_MAJOR}" != [8-9] && "${SYSTEM_VERSION_NUMBER_MAJOR}" != 23 ]] || [[ "${SYSTEM_VERSION_NUMBER_MAJOR}" == 8 && "$SYSTEM_VERSION_NUMBER_MINOR" -lt 6 ]]; then
2024-07-26 19:05:33 +08:00
is_supported="false"
fi
;;
2024-10-24 01:55:14 +08:00
"${SYSTEM_ANOLISOS}")
if [[ "${SYSTEM_VERSION_NUMBER_MAJOR}" != 8 && "${SYSTEM_VERSION_NUMBER_MAJOR}" != 23 ]]; then
2024-10-24 01:55:14 +08:00
is_supported="false"
fi
;;
2024-07-26 19:05:33 +08:00
"${SYSTEM_OPENSUSE}")
case "${SYSTEM_ID}" in
"opensuse-leap")
if [[ "${SYSTEM_VERSION_NUMBER_MAJOR}" != 15 ]]; then
2024-07-26 19:05:33 +08:00
is_supported="false"
fi
;;
"opensuse-tumbleweed") ;;
*)
is_supported="false"
;;
esac
;;
"${SYSTEM_KALI}" | "${SYSTEM_DEEPIN}" | "${SYSTEM_ZORIN}" | "${SYSTEM_RASPBERRY_PI_OS}" | "${SYSTEM_ARCH}" | "${SYSTEM_ALPINE}" | "${SYSTEM_GENTOO}" | "${SYSTEM_OPENKYLIN}" | "${SYSTEM_NIXOS}")
2024-07-26 19:05:33 +08:00
# 理论全部支持或不作判断
;;
*)
output_error "当前操作系统不在本脚本的支持范围内,请前往官网查看支持列表!"
2024-07-26 19:05:33 +08:00
;;
esac
if [[ "${is_supported}" == "false" ]]; then
output_error "当前系统版本不在本脚本的支持范围内,请前往官网查看支持列表!"
fi
## 判定系统处理器架构
DEVICE_ARCH_RAW="$(uname -m)"
case "${DEVICE_ARCH_ORIGIN}" in
2024-07-26 19:05:33 +08:00
x86_64)
DEVICE_ARCH="x86_64"
;;
aarch64)
DEVICE_ARCH="ARM64"
;;
armv8l)
DEVICE_ARCH="ARMv8_32"
;;
2024-07-26 19:05:33 +08:00
armv7l)
DEVICE_ARCH="ARMv7"
;;
armv6l)
DEVICE_ARCH="ARMv6"
;;
armv5tel)
DEVICE_ARCH="ARMv5"
;;
2024-07-26 19:05:33 +08:00
i686)
DEVICE_ARCH="x86_32"
;;
*)
DEVICE_ARCH="${DEVICE_ARCH_RAW}"
2024-07-26 19:05:33 +08:00
;;
esac
2024-12-13 21:50:49 +08:00
## 定义软件源仓库名称
2024-07-26 19:05:33 +08:00
if [[ -z "${SOURCE_BRANCH}" ]]; then
## 默认为系统名称小写,替换空格
SOURCE_BRANCH="${SYSTEM_JUDGMENT,,}"
SOURCE_BRANCH="${SOURCE_BRANCH// /-}"
2024-12-13 21:50:49 +08:00
## 处理特殊的仓库名称
2024-07-26 19:05:33 +08:00
case "${SYSTEM_JUDGMENT}" in
"${SYSTEM_DEBIAN}")
case "${SYSTEM_VERSION_NUMBER_MAJOR}" in
2024-07-26 19:05:33 +08:00
8 | 9 | 10)
SOURCE_BRANCH="debian-archive" # EOF
;;
*)
SOURCE_BRANCH="debian"
;;
esac
;;
2024-10-07 08:17:16 +08:00
"${SYSTEM_UBUNTU}" | "${SYSTEM_ZORIN}")
if [[ "${DEVICE_ARCH}" == "x86_64" || "${DEVICE_ARCH}" == *i?86* ]]; then
2024-07-26 19:05:33 +08:00
SOURCE_BRANCH="ubuntu"
else
SOURCE_BRANCH="ubuntu-ports"
fi
;;
"${SYSTEM_RASPBERRY_PI_OS}")
SOURCE_BRANCH="raspberrypi"
;;
2024-07-26 19:05:33 +08:00
"${SYSTEM_RHEL}")
case "${SYSTEM_VERSION_NUMBER_MAJOR}" in
2024-07-26 19:05:33 +08:00
9)
SOURCE_BRANCH="centos-stream" # 使用 CentOS Stream 仓库
;;
*)
SOURCE_BRANCH="centos-vault" # EOF
;;
esac
;;
"${SYSTEM_CENTOS}")
if [[ "${DEVICE_ARCH}" == "x86_64" ]]; then
SOURCE_BRANCH="centos-vault" # EOF
else
SOURCE_BRANCH="centos-altarch"
fi
;;
"${SYSTEM_CENTOS_STREAM}")
# 自 CentOS Stream 9 开始使用 centos-stream 仓库,旧版本使用 centos 仓库
case "${SYSTEM_VERSION_NUMBER_MAJOR}" in
2024-07-26 19:05:33 +08:00
8)
if [[ "${DEVICE_ARCH}" == "x86_64" ]]; then
SOURCE_BRANCH="centos-vault" # EOF
else
SOURCE_BRANCH="centos-altarch"
fi
;;
*)
SOURCE_BRANCH="centos-stream"
;;
esac
;;
2024-12-12 20:14:27 +08:00
"${SYSTEM_FEDORA}")
2024-12-12 20:15:52 +08:00
if [[ "${SYSTEM_VERSION_NUMBER}" -lt 39 ]]; then
2024-12-12 20:14:27 +08:00
SOURCE_BRANCH="fedora-archive"
fi
;;
2024-07-26 19:05:33 +08:00
"${SYSTEM_ARCH}")
if [[ "${DEVICE_ARCH}" == "x86_64" || "${DEVICE_ARCH}" == *i?86* ]]; then
2024-07-26 19:05:33 +08:00
SOURCE_BRANCH="archlinux"
else
SOURCE_BRANCH="archlinuxarm"
fi
;;
"${SYSTEM_OPENCLOUDOS}")
# OpenCloudOS Stream
grep -q "${SYSTEM_OPENCLOUDOS_STREAM}" $File_OpenCloudOSRelease
if [ $? -eq 0 ]; then
SOURCE_BRANCH="${SYSTEM_OPENCLOUDOS_STREAM,,}"
SOURCE_BRANCH="${SOURCE_BRANCH// /-}"
fi
;;
2025-02-20 17:21:12 +08:00
"${SYSTEM_NIXOS}")
SOURCE_BRANCH="nix-channels"
;;
2024-07-26 19:05:33 +08:00
esac
fi
## 定义软件源更新文字
case "${SYSTEM_FACTIONS}" in
"${SYSTEM_DEBIAN}" | "${SYSTEM_ALPINE}" | "${SYSTEM_OPENKYLIN}")
2024-01-18 12:15:13 +08:00
SYNC_MIRROR_TEXT="更新软件源"
2021-10-08 00:03:44 +08:00
;;
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}")
2024-01-18 12:15:13 +08:00
SYNC_MIRROR_TEXT="生成软件源缓存"
;;
"${SYSTEM_OPENSUSE}")
SYNC_MIRROR_TEXT="刷新软件源"
;;
2024-07-31 21:30:10 +08:00
"${SYSTEM_ARCH}" | "${SYSTEM_GENTOO}")
2024-01-18 12:15:13 +08:00
SYNC_MIRROR_TEXT="同步软件源"
;;
2025-02-20 17:21:12 +08:00
"${SYSTEM_NIXOS}")
SYNC_MIRROR_TEXT="更新二进制缓存与频道源"
;;
2021-10-08 00:03:44 +08:00
esac
## 判断是否可以使用高级交互式选择器
CAN_USE_ADVANCED_INTERACTIVE_SELECTION="false"
if [ ! -z "$(command -v tput)" ]; then
CAN_USE_ADVANCED_INTERACTIVE_SELECTION="true"
fi
2021-10-08 00:03:44 +08:00
}
2024-01-17 17:14:51 +08:00
## 命令选项兼容性判断
function check_command_options() {
2024-01-17 17:14:51 +08:00
if [[ "${USE_ABROAD_SOURCE}" == "true" && "${USE_EDU_SOURCE}" == "true" ]]; then
output_error "两种模式不可同时使用!"
2024-01-17 17:14:51 +08:00
fi
2024-07-31 21:30:10 +08:00
if [[ "${DEBIAN_CODENAME}" ]]; then
if [[ "${SYSTEM_FACTIONS}" != "${SYSTEM_DEBIAN}" && "${SYSTEM_FACTIONS}" != "${SYSTEM_OPENKYLIN}" ]]; then
2024-07-31 21:30:10 +08:00
output_error "当前系统不支持使用指定版本代号命令选项,请确认后重试!"
fi
2024-01-18 12:15:13 +08:00
fi
2024-07-31 21:30:10 +08:00
if [[ "${INSTALL_EPEL}" == "true" || "${ONLY_EPEL}" == "true" ]]; then
2024-10-24 01:55:14 +08:00
case "${SYSTEM_FACTIONS}" in
"${SYSTEM_REDHAT}")
2024-10-24 01:55:14 +08:00
if [[ "${SYSTEM_JUDGMENT}" == "${SYSTEM_FEDORA}" ]]; then
output_error "当前系统不支持安装 EPEL 附件软件包故无法使用相关命令选项,请确认后重试!"
fi
;;
*)
2024-07-31 21:30:10 +08:00
output_error "当前系统不支持安装 EPEL 附件软件包故无法使用相关命令选项,请确认后重试!"
2024-10-24 01:55:14 +08:00
;;
esac
2024-07-31 21:30:10 +08:00
fi
if [[ "${SOURCE_SECURITY}" == "true" || "${SOURCE_SECURITY_BRANCH}" == "true" ]]; then
if [[ "${SYSTEM_JUDGMENT}" != "${SYSTEM_DEBIAN}" ]] || [[ "${SYSTEM_JUDGMENT}" == "${SYSTEM_RASPBERRY_PI_OS}" && "${DEVICE_ARCH_RAW}" != "x86_64" && "${DEVICE_ARCH_RAW}" != "aarch64" ]]; then
2024-07-31 21:30:10 +08:00
output_error "当前系统不支持使用 security 仓库相关命令选项,请确认后重试!"
fi
2024-01-18 12:15:13 +08:00
fi
2024-07-31 21:30:10 +08:00
if [[ "${SOURCE_VAULT}" == "true" || "${SOURCE_VAULT_BRANCH}" == "true" ]]; then
if [[ "${SYSTEM_JUDGMENT}" != "${SYSTEM_CENTOS}" && "${SYSTEM_JUDGMENT}" != "${SYSTEM_RHEL}" && "${SYSTEM_JUDGMENT}" != "${SYSTEM_ALMALINUX}" ]]; then
output_error "当前系统不支持使用 vault 仓库相关命令选项,请确认后重试!"
fi
2024-01-18 12:15:13 +08:00
fi
2024-07-31 21:30:10 +08:00
if [[ "${SOURCE_PORTAGE}" == "true" || "${SOURCE_PORTAGE_BRANCH}" == "true" ]]; then
if [[ "${SYSTEM_JUDGMENT}" != "${SYSTEM_GENTOO}" ]]; then
output_error "当前系统不支持使用 portage 仓库相关命令选项,请确认后重试!"
fi
2024-01-18 12:15:13 +08:00
fi
2024-01-17 17:14:51 +08:00
}
## 选择软件源
function choose_mirrors() {
## 打印软件源列表
function print_mirrors_list() {
2023-05-03 02:32:42 +08:00
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 ''
2023-05-03 02:32:42 +08:00
local list_arr=()
2023-10-20 10:44:31 +08:00
local list_arr_sum
list_arr_sum="$(eval echo \${#$1[@]})"
2023-05-05 17:32:43 +08:00
for ((a = 0; a < $list_arr_sum; a++)); do
2023-05-03 02:32:42 +08:00
list_arr[$a]="$(eval echo \${$1[a]})"
done
if [ -x /usr/bin/printf ]; then
for ((i = 0; i < ${#list_arr[@]}; i++)); do
2023-05-03 02:32:42 +08:00
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 "")
# 非一般字符长度
2023-10-20 10:44:31 +08:00
tmp_mirror_name_length=$(StringLength "$(echo "${tmp_mirror_name// /}" | sed "s|[0-9a-zA-Z\.\=\:\_\(\)\'\"-\/\!·]||g;")")
## 填充空格
2023-10-20 10:44:31 +08:00
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
2024-12-06 20:56:39 +08:00
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="${list_arr[i]%@*}" # 软件源名称
tmp_mirror_url="${list_arr[i]#*@}" # 软件源地址
arr_num=$((i + 1))
echo -e "$arr_num. ${tmp_mirror_url} | ${tmp_mirror_name}"
done
fi
}
## 选择软件源内网地址
# 例如部分云计算厂商的镜像站区分外网(公网)地址和内网地址,内网地址仅面向云计算厂商云服务器用户使用
# 内网地址一般不支持使用 HTTPS 协议,所以默认设置为 HTTP 协议
function choose_intranet_address() {
local intranet_source
for ((i = 0; i < ${#mirror_list_extranet[@]}; i++)); do
if [[ "${SOURCE}" == "${mirror_list_extranet[i]}" ]]; then
intranet_source="${mirror_list_intranet[i]}"
ONLY_HTTP="true" # 内网地址一般不支持 HTTPS 协议
break
else
continue
fi
done
if [[ -z "${USE_INTRANET_SOURCE}" ]]; then
if [[ "${CAN_USE_ADVANCED_INTERACTIVE_SELECTION}" == "true" ]]; then
echo ''
interactive_select_boolean "${BOLD}默认使用软件源的公网地址,是否继续?${PLAIN}"
if [[ "${_SELECT_RESULT}" == "false" ]]; then
SOURCE="${intranet_source}"
echo -e "\n$WARN 已切换至内网专用地址,仅限在特定环境下使用!"
fi
else
local 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
fi
elif [[ "${USE_INTRANET_SOURCE}" == "true" ]]; then
SOURCE="${intranet_source}"
fi
}
function print_title() {
local system_name="${SYSTEM_PRETTY_NAME:-"${SYSTEM_NAME} ${SYSTEM_VERSION_NUMBER}"}"
2023-10-20 10:44:31 +08:00
local arch="${DEVICE_ARCH}"
local date_time time_zone
2024-11-14 21:57:28 +08:00
date_time="$(date "+%Y-%m-%d %H:%M")"
2023-10-20 10:44:31 +08:00
time_zone="$(timedatectl status 2>/dev/null | grep "Time zone" | awk -F ':' '{print$2}' | awk -F ' ' '{print$1}')"
echo -e ''
2024-12-06 20:56:39 +08:00
echo -e "运行环境 ${BLUE}${system_name} ${arch}${PLAIN}"
echo -e "系统时间 ${BLUE}${date_time} ${time_zone}${PLAIN}"
}
print_title
2023-05-03 02:32:42 +08:00
if [[ -z "${SOURCE}" ]]; then
## 使用官方源
if [[ "${USE_OFFICIAL_SOURCE}" == "true" ]]; then
return
fi
local mirror_list_name mirror_list_print_length
if [[ "${USE_ABROAD_SOURCE}" = "true" ]]; then
mirror_list_name="mirror_list_abroad"
mirror_list_print_length=60
elif [[ "${USE_EDU_SOURCE}" = "true" ]]; then
mirror_list_name="mirror_list_edu"
mirror_list_print_length=31
2023-05-03 02:32:42 +08:00
else
mirror_list_name="mirror_list_default"
mirror_list_print_length=31
2023-05-03 02:32:42 +08:00
fi
if [[ "${CAN_USE_ADVANCED_INTERACTIVE_SELECTION}" == "true" ]]; then
2024-12-06 21:06:23 +08:00
sleep 1 >/dev/null 2>&1
eval "interactive_select_mirror \"\${${mirror_list_name}[@]}\" \"\\n \${BOLD}请选择你想使用的软件源:\${PLAIN}\\n\""
SOURCE="${_SELECT_RESULT#*@}"
2024-12-06 20:56:39 +08:00
echo -e "\n${GREEN}${PLAIN} ${BOLD}${_SELECT_RESULT%@*}${PLAIN}" | sed "s| · | |g"
else
print_mirrors_list "${mirror_list_name}" $mirror_list_print_length
local 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}')"
break
fi
;;
*)
echo -e "\n$WARN 请输入数字序号以选择你想使用的软件源!"
;;
esac
done
fi
fi
## 选择软件源内网地址
if [[ "${mirror_list_extranet[*]}" =~ (^|[^[:alpha:]])"${SOURCE}"([^[:alpha:]]|$) ]]; then
choose_intranet_address
2021-10-08 00:03:44 +08:00
fi
}
## 选择同步或更新软件源所使用的 WEB 协议( HTTP/HTTPS
function choose_protocol() {
2023-05-03 02:32:42 +08:00
if [[ -z "${WEB_PROTOCOL}" ]]; then
if [[ "${ONLY_HTTP}" == "true" ]]; then
WEB_PROTOCOL="http"
else
if [[ "${CAN_USE_ADVANCED_INTERACTIVE_SELECTION}" == "true" ]]; then
echo ''
interactive_select_boolean "${BOLD}软件源是否使用 HTTP 协议?${PLAIN}"
if [[ "${_SELECT_RESULT}" == "true" ]]; then
WEB_PROTOCOL="http"
else
WEB_PROTOCOL="https"
fi
else
local 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
2023-05-01 16:27:11 +08:00
fi
2021-10-08 00:03:44 +08:00
fi
WEB_PROTOCOL="${WEB_PROTOCOL,,}"
2021-10-08 00:03:44 +08:00
}
2024-11-02 03:29:54 +08:00
# 选择安装/换源 EPEL 附加软件包(适用于部分红帽系统)
function choose_install_epel_packages() {
function check_install_status() {
## 判断是否已安装 EPEL 软件包
rpm -qa | grep epel-release -q
VERIFICATION_EPEL=$?
}
2024-07-26 19:05:33 +08:00
## 判断是否支持且需要处理 EPEL 附加软件包
case "${SYSTEM_FACTIONS}" in
2024-10-31 01:46:59 +08:00
"${SYSTEM_REDHAT}")
2024-07-26 19:05:33 +08:00
if [[ "${SYSTEM_JUDGMENT}" == "${SYSTEM_FEDORA}" ]] || [[ "${INSTALL_EPEL}" == "false" ]]; then
INSTALL_EPEL="false"
return
else
check_install_status
fi
2024-07-26 19:05:33 +08:00
;;
*)
INSTALL_EPEL="false"
return
;;
esac
## 选择是否安装 EPEL 附加软件包
if [[ -z "${INSTALL_EPEL}" ]]; then
if [[ "${CAN_USE_ADVANCED_INTERACTIVE_SELECTION}" == "true" ]]; then
echo ''
if [ $VERIFICATION_EPEL -eq 0 ]; then
interactive_select_boolean "${BOLD}检测到系统已安装 EPEL 附加软件包,是否替换/覆盖软件源?${PLAIN}"
else
interactive_select_boolean "${BOLD}是否安装 EPEL 附加软件包?${PLAIN}"
fi
if [[ "${_SELECT_RESULT}" == "true" ]]; then
INSTALL_EPEL="true"
else
INSTALL_EPEL="false"
fi
2024-07-26 19:05:33 +08:00
else
if [ $VERIFICATION_EPEL -eq 0 ]; then
local CHOICE=$(echo -e "\n${BOLD}└─ 检测到系统已安装 EPEL 附加软件包,是否替换/覆盖软件源? [Y/n] ${PLAIN}")
else
local 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
2024-07-26 19:05:33 +08:00
fi
fi
}
2023-04-21 12:06:23 +08:00
2024-01-18 18:03:04 +08:00
## 备份原有软件源(文件/目录)
function backup_original_mirrors() {
function backup_file() {
local target_file=$1
local backup_file=$2
local type="$3"
2024-01-18 18:03:04 +08:00
## 判断是否存在源文件
[ -f "${target_file}" ] || touch "${target_file}"
if [ ! -s "${target_file}" ]; then
echo -e ''
return
fi
## 判断是否存在已备份的源文件
if [ -s "${backup_file}" ]; then
if [[ "${IGNORE_BACKUP_TIPS}" != "false" ]]; then
return
2021-10-08 00:03:44 +08:00
fi
if [[ "${CAN_USE_ADVANCED_INTERACTIVE_SELECTION}" == "true" ]]; then
2024-01-18 18:03:04 +08:00
echo ''
2024-12-06 20:56:39 +08:00
interactive_select_boolean "${BOLD}检测到系统存在已备份的 ${type} 源文件,是否跳过覆盖备份?${PLAIN}"
if [[ "${_SELECT_RESULT}" == "false" ]]; then
echo ''
cp -rvf "${target_file}" "${backup_file}" 2>&1
BACKED_UP="true"
fi
else
2024-12-06 20:56:39 +08:00
local CHOICE_BACKUP=$(echo -e "\n${BOLD}└─ 检测到系统存在已备份的 ${type} 源文件,是否跳过覆盖备份? [Y/n] ${PLAIN}")
read -rp "${CHOICE_BACKUP}" INPUT
[[ -z "${INPUT}" ]] && INPUT=Y
case "${INPUT}" in
[Yy] | [Yy][Ee][Ss]) ;;
[Nn] | [Nn][Oo])
echo ''
cp -rvf "${target_file}" "${backup_file}" 2>&1
BACKED_UP="true"
;;
*)
echo -e "\n$WARN 输入错误,默认不覆盖!"
;;
esac
fi
else
2024-01-18 18:03:04 +08:00
echo ''
cp -rvf "${target_file}" "${backup_file}" 2>&1
BACKED_UP="true"
echo -e "\n$COMPLETE 已备份原有 ${type} 源文件"
sleep 1s
fi
}
function backup_dir() {
local target_dir=$1
local backup_dir=$2
2024-01-18 18:03:04 +08:00
[ -d "${target_dir}" ] || mkdir -p "${target_dir}"
[ -d "${backup_dir}" ] || mkdir -p "${backup_dir}"
## 判断是否存在 repo 源文件
ls "${target_dir}" | grep '\.repo$' -q
if [ $? -ne 0 ]; then
return
fi
## 判断是否存在已备份的 repo 源文件
ls "${backup_dir}" | grep '\.repo$' -q
if [ $? -eq 0 ]; then
if [[ "${IGNORE_BACKUP_TIPS}" != "false" ]]; then
return
2021-10-08 00:03:44 +08:00
fi
if [[ "${CAN_USE_ADVANCED_INTERACTIVE_SELECTION}" == "true" ]]; then
2024-01-18 18:03:04 +08:00
echo ''
2024-12-06 20:56:39 +08:00
interactive_select_boolean "${BOLD}检测到系统存在已备份的 repo 源文件,是否跳过覆盖备份?${PLAIN}"
if [[ "${_SELECT_RESULT}" == "false" ]]; then
echo ''
cp -rvf $target_dir/* "${backup_dir}" 2>&1
BACKED_UP="true"
fi
else
2024-12-06 20:56:39 +08:00
local CHOICE_BACKUP=$(echo -e "\n${BOLD}└─ 检测到系统存在已备份的 repo 源文件,是否跳过覆盖备份? [Y/n] ${PLAIN}")
read -rp "${CHOICE_BACKUP}" INPUT
[[ -z "${INPUT}" ]] && INPUT=Y
case "${INPUT}" in
[Yy] | [Yy][Ee][Ss]) ;;
[Nn] | [Nn][Oo])
echo ''
cp -rvf $target_dir/* "${backup_dir}" 2>&1
BACKED_UP="true"
;;
*)
echo -e "\n$WARN 输入错误,默认不覆盖!"
;;
esac
fi
else
2024-01-18 18:03:04 +08:00
echo ''
cp -rvf $target_dir/* "${backup_dir}" 2>&1
BACKED_UP="true"
echo -e "\n$COMPLETE 已备份原有 repo 源文件"
sleep 1s
fi
}
2024-01-18 18:03:04 +08:00
BACKED_UP="false" # 是否已备份
if [[ "${BACKUP}" == "true" ]]; then
case "${SYSTEM_FACTIONS}" in
"${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
if [[ "${SYSTEM_JUDGMENT}" != "${SYSTEM_LINUX_MINT}" ]]; then
# /etc/apt/sources.list
backup_file $File_DebianSourceList $File_DebianSourceListBackup "sources.list"
fi
## 自新版本的 Debian 与 Ubuntu 起,软件源文件格式统一为 DEB822 格式,涉及 Debian 12 的容器镜像、Ubuntu 24.04 和未来尚未发布的版本
# Debian DEB822 格式源文件
if [[ "${SYSTEM_JUDGMENT}" == "${SYSTEM_DEBIAN}" ]]; then
2025-03-16 19:30:40 +08:00
[ -f "${File_DebianSources}" ] && backup_file $File_DebianSources $File_DebianSourcesBackup "debian.sources"
fi
# Ubuntu DEB822 格式源文件
if [[ "${SYSTEM_JUDGMENT}" == "${SYSTEM_UBUNTU}" ]]; then
2025-03-16 19:30:40 +08:00
[ -f "${File_UbuntuSources}" ] && backup_file $File_UbuntuSources $File_UbuntuSourcesBackup "ubuntu.sources"
fi
# Armbian
2025-03-16 19:30:40 +08:00
if [ -f "${File_ArmbianRelease}" ]; then
backup_file $File_ArmbianSourceList $File_ArmbianSourceListBackup "armbian.list"
fi
2025-03-06 13:20:29 +08:00
# Proxmox VE
2025-03-16 19:30:40 +08:00
if [ -f "${File_ProxmoxVersion}" ]; then
backup_file $File_ProxmoxSourceList $File_ProxmoxSourceListBackup "pve-no-subscription.list"
fi
# Linux Mint
if [[ "${SYSTEM_JUDGMENT}" == "${SYSTEM_LINUX_MINT}" ]]; then
backup_file $File_LinuxMintSourceList $File_LinuxMintSourceListBackup "official-package-repositories.list"
2024-02-27 06:49:36 +08:00
fi
# Raspberry Pi OS
if [[ "${SYSTEM_JUDGMENT}" == "${SYSTEM_RASPBERRY_PI_OS}" ]]; then
backup_file $File_RaspberryPiSourceList $File_RaspberryPiSourceListBackup "raspi.list"
fi
;;
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}")
2024-01-17 17:14:51 +08:00
# /etc/yum.repos.d
backup_dir $Dir_YumRepos $Dir_YumReposBackup
;;
"${SYSTEM_OPENSUSE}")
2024-01-17 17:14:51 +08:00
# /etc/zypp/repos.d
backup_dir $Dir_ZYppRepos $Dir_ZYppReposBackup
;;
2023-05-05 17:32:43 +08:00
"${SYSTEM_ARCH}")
2024-01-17 17:14:51 +08:00
# /etc/pacman.d/mirrorlist
2024-07-26 19:05:33 +08:00
backup_file $File_ArchLinuxMirrorList $File_ArchLinuxMirrorListBackup "mirrorlist"
2023-05-05 17:32:43 +08:00
;;
2024-01-17 17:14:51 +08:00
"${SYSTEM_ALPINE}")
# /etc/apk/repositories
backup_file $File_AlpineRepositories $File_AlpineRepositoriesBackup "repositories"
2024-01-17 17:14:51 +08:00
;;
2024-07-31 21:30:10 +08:00
"${SYSTEM_GENTOO}")
# /etc/portage/make.conf
backup_file $File_GentooMakeConf $File_GentooMakeConfBackup "make.conf"
# /etc/portage/repos.conf/gentoo.conf
[ -d "${Dir_GentooReposConf}" ] || mkdir -p "${Dir_GentooReposConf}"
backup_file $File_GentooReposConf $File_GentooReposConfBackup "gentoo.conf"
;;
2025-02-20 17:21:12 +08:00
"${SYSTEM_NIXOS}")
2025-03-16 19:30:40 +08:00
[ ! -d "${Dir_NixConfig}" ] && mkdir -p "${Dir_NixConfig}"
2025-02-20 17:21:12 +08:00
# /etc/nix/nix.conf
backup_file $File_NixConf $File_NixConfBackup "nix.conf"
;;
esac
fi
2021-10-08 00:03:44 +08:00
}
## 移除原有软件源
function remove_original_mirrors() {
2023-05-01 16:27:11 +08:00
case "${SYSTEM_FACTIONS}" in
"${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
if [[ "${SYSTEM_JUDGMENT}" != "${SYSTEM_LINUX_MINT}" ]]; then
2025-03-16 19:30:40 +08:00
[ -f "${File_DebianSourceList}" ] && sed -i '1,$d' $File_DebianSourceList
fi
2025-03-16 19:30:40 +08:00
[ -d "${Dir_DebianExtendSource}" ] || mkdir -p $Dir_DebianExtendSource
## 自新版本的 Debian 与 Ubuntu 起,软件源文件格式统一为 DEB822 格式,涉及 Debian 12 的容器镜像、Ubuntu 24.04 和未来尚未发布的版本
# Debian DEB822 格式源文件
if [[ "${SYSTEM_JUDGMENT}" == "${SYSTEM_DEBIAN}" ]]; then
2025-03-16 19:30:40 +08:00
[ -f "${File_DebianSources}" ] && rm -rf "${File_DebianSources}"
fi
# Ubuntu DEB822 格式源文件
if [[ "${SYSTEM_JUDGMENT}" == "${SYSTEM_UBUNTU}" ]]; then
2025-03-16 19:30:40 +08:00
[ -f "${File_UbuntuSources}" ] && rm -rf "${File_UbuntuSources}"
fi
# Armbian
2025-03-16 19:30:40 +08:00
if [ -f "${File_ArmbianRelease}" ]; then
[ -f "${File_ArmbianSourceList}" ] && sed -i '1,$d' $File_ArmbianSourceList
fi
2025-03-06 13:20:29 +08:00
# Proxmox VE
2025-03-16 19:30:40 +08:00
if [ -f "${File_ProxmoxVersion}" ]; then
[ -f "${File_ProxmoxSourceList}" ] && sed -i '1,$d' $File_ProxmoxSourceList
2024-02-27 06:49:36 +08:00
fi
# Linux Mint
if [[ "${SYSTEM_JUDGMENT}" == "${SYSTEM_LINUX_MINT}" ]]; then
2025-03-16 19:30:40 +08:00
[ -f "${File_LinuxMintSourceList}" ] && sed -i '1,$d' $File_LinuxMintSourceList
fi
# Raspberry Pi OS
if [[ "${SYSTEM_JUDGMENT}" == "${SYSTEM_RASPBERRY_PI_OS}" ]]; then
2025-03-16 19:30:40 +08:00
[ -f "${File_RaspberryPiSourceList}" ] && sed -i '1,$d' $File_RaspberryPiSourceList
fi
2023-04-18 18:37:24 +08:00
;;
"${SYSTEM_REDHAT}")
2025-03-16 19:30:40 +08:00
if [ ! -d "${Dir_YumRepos}" ]; then
mkdir -p "${Dir_YumRepos}"
2024-01-31 22:39:05 +08:00
return
fi
if [[ "${SYSTEM_JUDGMENT}" == "${SYSTEM_FEDORA}" ]]; then
2024-07-26 19:05:33 +08:00
# Fedora 有额外源文件,且随版本变化
for repo_file in fedora.repo fedora-updates.repo fedora-updates-testing.repo fedora-modular.repo fedora-updates-modular.repo fedora-updates-testing-modular.repo; do
rm -rf $Dir_YumRepos/$repo_file
done
2024-01-31 22:39:05 +08:00
else
if [[ "${ONLY_EPEL}" != "false" ]]; then
return
fi
case "${SYSTEM_JUDGMENT}" in
2024-01-31 22:39:05 +08:00
"${SYSTEM_RHEL}")
case "${SYSTEM_VERSION_NUMBER_MAJOR}" in
2024-01-31 22:39:05 +08:00
9)
2024-07-26 19:05:33 +08:00
rm -rf $Dir_YumRepos/centos.repo $Dir_YumRepos/centos-addons.repo
2024-01-31 22:39:05 +08:00
;;
*)
2025-03-16 19:30:40 +08:00
if [ -f "${Dir_YumRepos}/epel.repo" ]; then
2024-01-31 22:39:05 +08:00
ls $Dir_YumRepos/ | grep -Ev epel | xargs rm -rf
else
rm -rf $Dir_YumRepos/*
fi
;;
esac
;;
2024-01-31 22:39:05 +08:00
"${SYSTEM_CENTOS}")
2025-03-16 19:30:40 +08:00
if [ -f "${Dir_YumRepos}/epel.repo" ]; then
2024-01-31 22:39:05 +08:00
ls $Dir_YumRepos/ | grep -Ev epel | xargs rm -rf
else
rm -rf $Dir_YumRepos/*
fi
;;
2024-01-31 22:39:05 +08:00
"${SYSTEM_CENTOS_STREAM}")
case "${SYSTEM_VERSION_NUMBER_MAJOR}" in
2025-03-14 18:57:40 +08:00
9 | 10)
2024-07-26 19:05:33 +08:00
rm -rf $Dir_YumRepos/centos.repo $Dir_YumRepos/centos-addons.repo
2024-01-31 22:39:05 +08:00
;;
8)
rm -rf $Dir_YumRepos/CentOS-Stream-*
;;
esac
;;
"${SYSTEM_ROCKY}")
case "${SYSTEM_VERSION_NUMBER_MAJOR}" in
2024-01-31 22:39:05 +08:00
9)
rm -rf $Dir_YumRepos/rocky*
;;
8)
rm -rf $Dir_YumRepos/Rocky-*
;;
esac
;;
"${SYSTEM_ALMALINUX}")
rm -rf $Dir_YumRepos/almalinux*
;;
"${SYSTEM_OPENCLOUDOS}")
rm -rf $Dir_YumRepos/OpenCloudOS*
;;
"${SYSTEM_ANOLISOS}")
rm -rf $Dir_YumRepos/AnolisOS*
;;
esac
2021-10-08 00:03:44 +08:00
fi
2023-04-18 18:37:24 +08:00
;;
"${SYSTEM_OPENEULER}")
2025-03-16 19:30:40 +08:00
if [ ! -d "${Dir_YumRepos}" ]; then
mkdir -p $Dir_YumRepos
return
fi
rm -rf $Dir_YumRepos/openEuler.repo
;;
"${SYSTEM_OPENCLOUDOS}")
2025-03-16 19:30:40 +08:00
if [ ! -d "${Dir_YumRepos}" ]; then
mkdir -p $Dir_YumRepos
return
fi
rm -rf $Dir_YumRepos/OpenCloudOS*
2023-04-21 12:06:23 +08:00
;;
2024-10-24 01:55:14 +08:00
"${SYSTEM_ANOLISOS}")
2025-03-16 19:30:40 +08:00
if [ ! -d "${Dir_YumRepos}" ]; then
mkdir -p $Dir_YumRepos
return
fi
rm -rf $Dir_YumRepos/AnolisOS*
2024-10-24 01:55:14 +08:00
;;
2023-05-01 16:27:11 +08:00
"${SYSTEM_OPENSUSE}")
2025-03-16 19:30:40 +08:00
[ -d "${Dir_ZYppRepos}" ] && rm -rf $Dir_ZYppRepos/repo-*
2023-05-01 16:27:11 +08:00
;;
2023-05-05 17:32:43 +08:00
"${SYSTEM_ARCH}")
2025-03-16 19:30:40 +08:00
[ -f "${File_ArchLinuxMirrorList}" ] && sed -i '1,$d' $File_ArchLinuxMirrorList
2023-05-05 17:32:43 +08:00
;;
2024-01-17 17:14:51 +08:00
"${SYSTEM_ALPINE}")
2025-03-16 19:30:40 +08:00
[ -f "${File_AlpineRepositories}" ] && sed -i '1,$d' $File_AlpineRepositories
2024-01-17 17:14:51 +08:00
;;
2024-07-31 21:30:10 +08:00
"${SYSTEM_GENTOO}")
2025-03-16 19:30:40 +08:00
[ -f "${File_GentooReposConf}" ] && sed -i '1,$d' $File_GentooReposConf
2024-07-31 21:30:10 +08:00
;;
2023-04-18 18:37:24 +08:00
esac
2021-10-08 00:03:44 +08:00
}
2023-04-18 18:37:24 +08:00
## 换源
function change_mirrors_main() {
## 打印修改前后差异
function print_diff() {
2024-01-18 18:03:04 +08:00
## 单一文件比较模式
function diff_file() {
2024-01-18 18:03:04 +08:00
local diff_file=$1
local origin_file=$2
2025-03-16 19:30:40 +08:00
if [ -s "${diff_file}" ] && [ -s "${origin_file}" ]; then
2024-01-18 18:03:04 +08:00
if [[ "$(cat "${diff_file}")" != "$(cat "${origin_file}")" ]]; then
echo -e "\n${BLUE}${diff_file}${PLAIN} -> ${BLUE}${origin_file}${PLAIN}"
diff "${diff_file}" "${origin_file}" -d --color=always -I -B -E
fi
fi
}
2024-01-18 18:03:04 +08:00
## 目录文件比较模式
function diff_dir() {
2024-01-18 18:03:04 +08:00
local diff_dir=$1
local origin_dir=$2
2024-01-18 18:03:04 +08:00
for item in $(ls $diff_dir | xargs); do
diff_file "${diff_dir}/${item}" "${origin_dir}/${item}"
done
}
2024-01-18 18:03:04 +08:00
if [[ -x /usr/bin/diff && "${BACKED_UP}" == "true" ]]; then
case "${SYSTEM_FACTIONS}" in
"${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
if [[ "${SYSTEM_JUDGMENT}" != "${SYSTEM_LINUX_MINT}" ]]; then
diff_file $File_DebianSourceListBackup $File_DebianSourceList
fi
# Armbian
2025-03-16 19:30:40 +08:00
if [ -f "${File_ArmbianRelease}" ]; then
diff_file $File_ArmbianSourceListBackup $File_ArmbianSourceList
fi
2025-03-06 13:20:29 +08:00
# Proxmox VE
2025-03-16 19:30:40 +08:00
if [ -f "${File_ProxmoxVersion}" ]; then
diff_file $File_ProxmoxSourceListBackup $File_ProxmoxSourceList
fi
# Linux Mint
if [[ "${SYSTEM_JUDGMENT}" == "${SYSTEM_LINUX_MINT}" ]]; then
diff_file $File_LinuxMintSourceListBackup $File_LinuxMintSourceList
2024-02-27 06:49:36 +08:00
fi
# Raspberry Pi OS
if [[ "${SYSTEM_JUDGMENT}" == "${SYSTEM_RASPBERRY_PI_OS}" ]]; then
diff_file $File_RaspberryPiSourceListBackup $File_RaspberryPiSourceList
fi
;;
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}")
diff_dir $Dir_YumReposBackup $Dir_YumRepos
;;
"${SYSTEM_OPENSUSE}")
diff_dir $Dir_ZYppReposBackup $Dir_ZYppRepos
;;
"${SYSTEM_ARCH}")
2024-07-26 19:05:33 +08:00
diff_file $File_ArchLinuxMirrorListBackup $File_ArchLinuxMirrorList
2024-01-17 17:14:51 +08:00
;;
2024-07-26 19:05:33 +08:00
"${SYSTEM_ALPINE}")
diff_file $File_AlpineRepositoriesBackup $File_AlpineRepositories
;;
2024-07-31 21:30:10 +08:00
"${SYSTEM_GENTOO}")
diff_file $File_GentooMakeConfBackup $File_GentooMakeConf
diff_file $File_GentooReposConfBackup $File_GentooReposConf
;;
2025-02-20 17:21:12 +08:00
"${SYSTEM_NIXOS}")
diff_file $File_NixConfBackup $File_NixConf
;;
2024-07-26 19:05:33 +08:00
esac
fi
}
2024-01-17 17:14:51 +08:00
2024-07-26 19:05:33 +08:00
## 调用换源函数
2024-01-17 17:14:51 +08:00
case "${SYSTEM_FACTIONS}" in
"${SYSTEM_DEBIAN}")
2024-07-26 19:05:33 +08:00
change_mirrors_Debian
2024-01-17 17:14:51 +08:00
;;
2024-07-26 19:05:33 +08:00
"${SYSTEM_REDHAT}")
change_mirrors_RedHat
;;
"${SYSTEM_OPENEULER}")
change_mirrors_openEuler
2024-01-17 17:14:51 +08:00
;;
"${SYSTEM_OPENCLOUDOS}")
change_mirrors_OpenCloudOS
;;
2024-10-24 01:55:14 +08:00
"${SYSTEM_ANOLISOS}")
change_mirrors_AnolisOS
;;
2024-01-17 17:14:51 +08:00
"${SYSTEM_OPENSUSE}")
2024-07-26 19:05:33 +08:00
change_mirrors_openSUSE
;;
"${SYSTEM_ARCH}")
change_mirrors_ArchLinux
2024-01-17 17:14:51 +08:00
;;
"${SYSTEM_ALPINE}")
2024-07-26 19:05:33 +08:00
change_mirrors_Alpine
2024-01-17 17:14:51 +08:00
;;
2024-07-31 21:30:10 +08:00
"${SYSTEM_GENTOO}")
change_mirrors_Gentoo
;;
"${SYSTEM_OPENKYLIN}")
change_mirrors_openKylin
;;
2025-02-20 17:21:12 +08:00
"${SYSTEM_NIXOS}")
change_mirrors_NixOS
;;
2024-01-17 17:14:51 +08:00
esac
2024-07-26 19:05:33 +08:00
## 比较差异
if [[ "${PRINT_DIFF}" == "true" ]]; then
print_diff
fi
2024-07-26 19:05:33 +08:00
## 更新软件源
echo -e "\n$WORKING 开始${SYNC_MIRROR_TEXT}...\n"
case "${SYSTEM_FACTIONS}" in
"${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
2024-07-26 19:05:33 +08:00
apt-get update
;;
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}")
2024-10-24 01:55:14 +08:00
local package_manager="$(get_package_manager)"
2024-07-26 19:05:33 +08:00
$package_manager makecache
;;
2024-07-26 19:05:33 +08:00
"${SYSTEM_OPENSUSE}")
zypper ref
2023-05-06 13:12:43 +08:00
;;
2024-07-26 19:05:33 +08:00
"${SYSTEM_ARCH}")
pacman -Sy
2021-10-08 00:03:44 +08:00
;;
2024-07-26 19:05:33 +08:00
"${SYSTEM_ALPINE}")
apk update -f
2024-01-31 22:39:05 +08:00
;;
2024-07-31 21:30:10 +08:00
"${SYSTEM_GENTOO}")
emerge --sync --quiet
;;
2025-02-20 17:21:12 +08:00
"${SYSTEM_NIXOS}")
nix-store --verify
nix-channel --update
;;
2021-10-08 00:03:44 +08:00
esac
2024-07-26 19:05:33 +08:00
if [ $? -eq 0 ]; then
echo -e "\n$SUCCESS 软件源更换完毕"
else
echo -e "\n$FAIL 软件源更换完毕,但${SYNC_MIRROR_TEXT}失败\n"
2024-11-02 03:29:54 +08:00
echo -e "请再次执行脚本并更换相同软件源后进行尝试,若仍然${SYNC_MIRROR_TEXT}失败那么可能由以下原因导致:\n"
echo -e "1. 网络连通性问题:例如连接异常、由地区影响的网络间歇式中断、禁止外部访问、软件源网站防火墙阻断等\n"
2024-11-02 03:29:54 +08:00
echo -e "2. 目标软件源异常:请手动前往软件源(镜像站)地址进行验证:${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH}\n"
echo -e " 若报错内容是提示某个文件不存在那么有可能是软件源的问题,多常见于正在同步中的软件源仓库"
2024-11-02 03:29:54 +08:00
echo -e " 若报错内容是目录path不存在也有可能是目标软件源不存在当前系统镜像仓库即不支持当前系统"
echo -e " 建议更换其它镜像站进行尝试,少数情况下软件源若处于同步中状态则可能会出现文件同步错误问题\n"
echo -e "3. 原有软件源报错:请先排除系统原有的其它软件源报错,因为脚本不会干预这些无关的软件源配置,解决后重新运行脚本即可\n"
2024-07-26 19:05:33 +08:00
exit 1
fi
}
## 升级软件包
function upgrade_software() {
## 跳过特殊系统
case "${SYSTEM_JUDGMENT}" in
2024-07-31 21:30:10 +08:00
"${SYSTEM_ARCH}")
2024-07-26 19:05:33 +08:00
return
;;
esac
## 交互确认
if [[ -z "${UPGRADE_SOFTWARE}" ]]; then
UPGRADE_SOFTWARE="false"
if [[ "${CAN_USE_ADVANCED_INTERACTIVE_SELECTION}" == "true" ]]; then
echo ''
interactive_select_boolean "${BOLD}是否跳过更新软件包?${PLAIN}"
if [[ "${_SELECT_RESULT}" == "false" ]]; then
UPGRADE_SOFTWARE="true"
fi
else
local 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])
UPGRADE_SOFTWARE="true"
;;
*)
echo -e "\n$WARN 输入错误,默认不更新!"
;;
esac
fi
2024-07-26 19:05:33 +08:00
fi
if [[ "${UPGRADE_SOFTWARE}" == "false" ]]; then
return
fi
2024-12-06 20:56:39 +08:00
if [[ -z "${CLEAN_CACHE}" ]]; then
CLEAN_CACHE="false"
if [[ "${CAN_USE_ADVANCED_INTERACTIVE_SELECTION}" == "true" ]]; then
echo ''
interactive_select_boolean "${BOLD}在更新软件包后,是否自动清理下载缓存?${PLAIN}"
if [[ "${_SELECT_RESULT}" == "true" ]]; then
CLEAN_CACHE="true"
fi
else
local CHOICE=$(echo -e "\n${BOLD}└─ 在更新软件包后,是否自动清理下载缓存? [Y/n] ${PLAIN}")
read -rp "${CHOICE}" INPUT
[[ -z "${INPUT}" ]] && INPUT=Y
case "${INPUT}" in
[Yy] | [Yy][Ee][Ss])
CLEAN_CACHE="true"
;;
[Nn] | [Nn][Oo]) ;;
*)
echo -e "\n$WARN 输入错误,默认不清理!"
;;
esac
fi
fi
2024-07-26 19:05:33 +08:00
echo -e ''
case "${SYSTEM_FACTIONS}" in
"${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
2024-07-26 19:05:33 +08:00
apt-get upgrade -y
;;
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}")
2024-10-24 01:55:14 +08:00
local package_manager="$(get_package_manager)"
2024-12-12 20:14:27 +08:00
$package_manager upgrade -y --skip-broken
2023-05-06 13:12:43 +08:00
;;
2024-07-26 19:05:33 +08:00
"${SYSTEM_OPENSUSE}")
zypper update -y
;;
"${SYSTEM_ALPINE}")
apk upgrade --no-cache
;;
2024-07-31 21:30:10 +08:00
"${SYSTEM_GENTOO}")
emerge --update --deep --with-bdeps=y --ask=n @world
;;
2025-02-20 17:21:12 +08:00
"${SYSTEM_NIXOS}")
nixos-rebuild switch
;;
esac
2024-12-06 20:56:39 +08:00
if [[ "${CLEAN_CACHE}" == "false" ]]; then
return
fi
case "${SYSTEM_FACTIONS}" in
"${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
apt-get autoremove -y >/dev/null 2>&1
apt-get clean >/dev/null 2>&1
;;
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}")
local package_manager="$(get_package_manager)"
$package_manager autoremove -y >/dev/null 2>&1
$package_manager clean packages -y >/dev/null 2>&1
;;
"${SYSTEM_OPENSUSE}")
rm -rf /var/cache/zypp/* >/dev/null 2>&1
;;
"${SYSTEM_ALPINE}")
rm -rf /var/cache/apk/* >/dev/null 2>&1
;;
"${SYSTEM_GENTOO}")
eclean-dist --deep >/dev/null 2>&1
eclean-packages --deep >/dev/null 2>&1
;;
2025-02-20 17:21:12 +08:00
"${SYSTEM_NIXOS}")
nix-collect-garbage -d >/dev/null 2>&1
;;
2024-12-06 20:56:39 +08:00
esac
}
2024-07-26 19:05:33 +08:00
##############################################################################
2023-04-21 12:06:23 +08:00
2024-07-26 19:05:33 +08:00
## 更换基于 Debian 系 Linux 发行版的软件源
function change_mirrors_Debian() {
function gen_debian_source() {
echo "deb ${1} ${2} ${3}
# deb-src ${1} ${2} ${3}
deb ${1} ${2}-updates ${3}
# deb-src ${1} ${2}-updates ${3}
deb ${1} ${2}-backports ${3}
# deb-src ${1} ${2}-backports ${3}"
}
function gen_debian_source_no_backports() {
echo "deb ${1} ${2} ${3}
# deb-src ${1} ${2} ${3}
deb ${1} ${2}-updates ${3}
# deb-src ${1} ${2}-updates ${3}"
2024-07-26 19:05:33 +08:00
}
function gen_debian_security_source() {
echo "deb ${1} ${2}-security ${3}
# deb-src ${1} ${2}-security ${3}"
}
function gen_ubuntu_source() {
echo "deb ${1} ${2} ${3}
# deb-src ${1} ${2} ${3}
deb ${1} ${2}-updates ${3}
# deb-src ${1} ${2}-updates ${3}
deb ${1} ${2}-backports ${3}
# deb-src ${1} ${2}-backports ${3}
deb ${1} ${2}-security ${3}
# deb-src ${1} ${2}-security ${3}
## 预发布软件源(不建议启用)
# deb ${1} ${2}-proposed ${3}
# deb-src ${1} ${2}-proposed ${3}"
}
2023-04-21 12:06:23 +08:00
2024-01-17 17:14:51 +08:00
## 使用官方源
if [[ "${USE_OFFICIAL_SOURCE}" == "true" ]]; then
2024-07-26 19:05:33 +08:00
case "${SYSTEM_JUDGMENT}" in
"${SYSTEM_DEBIAN}")
SOURCE="deb.debian.org"
;;
2024-10-07 08:17:16 +08:00
"${SYSTEM_UBUNTU}" | "${SYSTEM_ZORIN}")
2024-07-26 19:05:33 +08:00
SOURCE="archive.ubuntu.com"
;;
"${SYSTEM_KALI}")
SOURCE="http.kali.org"
;;
"${SYSTEM_DEEPIN}")
SOURCE="community-packages.deepin.com"
;;
"${SYSTEM_LINUX_MINT}")
SOURCE="packages.linuxmint.com"
;;
esac
fi
2024-07-26 19:05:33 +08:00
local repository_sections # 仓库区域
local tips="## 默认禁用源码镜像以提高速度,如需启用请自行取消注释"
local base_url="${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH}"
case "${SYSTEM_JUDGMENT}" in
"${SYSTEM_DEBIAN}")
2023-05-01 16:27:11 +08:00
case "${SYSTEM_VERSION_NUMBER}" in
2024-07-26 19:05:33 +08:00
8 | 9 | 10 | 11)
repository_sections="main contrib non-free"
2023-05-01 16:27:11 +08:00
;;
*)
2024-07-26 19:05:33 +08:00
repository_sections="main contrib non-free non-free-firmware"
2023-05-01 16:27:11 +08:00
;;
esac
2024-07-26 19:05:33 +08:00
if [[ "${SYSTEM_VERSION_CODENAME}" != "sid" ]]; then
echo "${tips}
$(gen_debian_source "${base_url}" "${SYSTEM_VERSION_CODENAME}" "${repository_sections}")" >>$File_DebianSourceList
# 处理 debian-security 仓库源
2024-07-31 21:30:10 +08:00
base_url="${WEB_PROTOCOL}://${SOURCE_SECURITY:-"${SOURCE}"}/${SOURCE_SECURITY_BRANCH:-"${SOURCE_BRANCH}-security"}"
2024-07-26 19:05:33 +08:00
echo "$(gen_debian_security_source "${base_url}" "${SYSTEM_VERSION_CODENAME}" "${repository_sections}")" >>$File_DebianSourceList
else
echo "deb ${base_url} ${SYSTEM_VERSION_CODENAME} ${repository_sections}
# deb-src ${base_url} ${SYSTEM_VERSION_CODENAME} ${repository_sections}" >>$File_DebianSourceList
fi
2023-05-01 16:27:11 +08:00
;;
2024-10-07 08:17:16 +08:00
"${SYSTEM_UBUNTU}" | "${SYSTEM_ZORIN}")
2024-07-26 19:05:33 +08:00
repository_sections="main restricted universe multiverse"
echo "${tips}
$(gen_ubuntu_source "${base_url}" "${SYSTEM_VERSION_CODENAME}" "${repository_sections}")" >>$File_DebianSourceList
2023-05-01 16:27:11 +08:00
;;
2024-07-26 19:05:33 +08:00
"${SYSTEM_KALI}")
2024-07-31 21:30:10 +08:00
repository_sections="main contrib non-free non-free-firmware"
2024-07-26 19:05:33 +08:00
echo "${tips}
deb ${base_url} ${SYSTEM_VERSION_CODENAME} ${repository_sections}
# deb-src ${base_url} ${SYSTEM_VERSION_CODENAME} ${repository_sections}" >>$File_DebianSourceList
2023-05-05 17:32:43 +08:00
;;
2024-07-26 19:05:33 +08:00
"${SYSTEM_DEEPIN}")
repository_sections="apricot main contrib non-free"
echo "${tips}
deb ${base_url} ${repository_sections}
# deb-src ${base_url} ${repository_sections}" >>$File_DebianSourceList
2023-05-05 17:32:43 +08:00
;;
2024-07-26 19:05:33 +08:00
"${SYSTEM_LINUX_MINT}")
## 专用源
repository_sections="main upstream import backport"
echo "${tips}
deb ${base_url} ${SYSTEM_VERSION_CODENAME} ${repository_sections}" >>$File_LinuxMintSourceList
2024-07-26 19:05:33 +08:00
## 底层系统软件源
2024-11-08 15:02:45 +08:00
local base_system_branch base_system_codename
2024-07-26 19:05:33 +08:00
if [[ "${SYSTEM_VERSION_NUMBER}" == 6 ]]; then
# Debian 版LMDE
2024-11-08 15:02:45 +08:00
base_system_branch="debian"
2024-07-26 19:05:33 +08:00
base_system_codename="bookworm"
repository_sections="main contrib non-free non-free-firmware"
2024-11-08 15:02:45 +08:00
base_url="${WEB_PROTOCOL}://${SOURCE_BASE_SYSTEM:-"${SOURCE}"}/${SOURCE_BASE_SYSTEM_BRANCH:-"${base_system_branch}"}"
2024-07-26 19:05:33 +08:00
echo "$(gen_debian_source "${base_url}" "${base_system_codename}" "${repository_sections}")" >>$File_LinuxMintSourceList
# 处理 debian-security 仓库源
base_url="${WEB_PROTOCOL}://${SOURCE_SECURITY:-${SOURCE_BASE_SYSTEM:-${SOURCE}}}/${SOURCE_SECURITY_BRANCH:-${SOURCE_BASE_SYSTEM_BRANCH:-debian-security}}"
2024-07-26 19:05:33 +08:00
echo "$(gen_debian_security_source "${base_url}" "${base_system_codename}" "${repository_sections}")" >>$File_LinuxMintSourceList
else
# Ubuntu 版
if [[ "${DEVICE_ARCH}" == "x86_64" || "${DEVICE_ARCH}" == *i?86* ]]; then
2024-11-08 15:02:45 +08:00
base_system_branch="ubuntu"
2024-07-26 19:05:33 +08:00
else
2024-11-08 15:02:45 +08:00
base_system_branch="ubuntu-ports"
2024-07-26 19:05:33 +08:00
fi
case "${SYSTEM_VERSION_NUMBER_MAJOR}" in
2024-11-08 15:02:45 +08:00
22)
base_system_codename="noble"
;;
2024-07-26 19:05:33 +08:00
21)
base_system_codename="jammy"
;;
20)
base_system_codename="focal"
;;
19)
base_system_codename="bionic"
;;
esac
repository_sections="main restricted universe multiverse"
2024-11-08 15:02:45 +08:00
base_url="${WEB_PROTOCOL}://${SOURCE_BASE_SYSTEM:-"${SOURCE}"}/${SOURCE_BASE_SYSTEM_BRANCH:-"${base_system_branch}"}"
2024-07-26 19:05:33 +08:00
echo "$(gen_ubuntu_source "${base_url}" "${base_system_codename}" "${repository_sections}")" >>$File_LinuxMintSourceList
fi
2023-05-05 17:32:43 +08:00
;;
"${SYSTEM_RASPBERRY_PI_OS}")
## 专用源
repository_sections="main"
if [[ "${USE_OFFICIAL_SOURCE}" == "true" ]]; then
SOURCE="archive.raspberrypi.org"
SOURCE_BRANCH="debian"
base_url="${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH}"
fi
echo "${tips}
deb ${base_url} ${SYSTEM_VERSION_CODENAME} ${repository_sections}
# deb-src ${base_url} ${SYSTEM_VERSION_CODENAME} ${repository_sections}" >>$File_RaspberryPiSourceList
## 底层系统软件源64位系统为 Debian 官方仓库32位为 Raspbian 仓库)
local base_system_branch base_system_codename
case "${DEVICE_ARCH_RAW}" in
x86_64 | aarch64)
case "${SYSTEM_VERSION_NUMBER_MAJOR}" in
8 | 9 | 10)
base_system_branch="debian-archive" # EOF
;;
*)
base_system_branch="debian"
;;
esac
base_system_codename="${SYSTEM_VERSION_CODENAME}"
case "${SYSTEM_VERSION_NUMBER}" in
8 | 9 | 10 | 11)
repository_sections="main contrib non-free"
;;
*)
repository_sections="main contrib non-free non-free-firmware"
;;
esac
if [[ "${USE_OFFICIAL_SOURCE}" == "true" ]]; then
SOURCE="deb.debian.org"
fi
base_url="${WEB_PROTOCOL}://${SOURCE_BASE_SYSTEM:-"${SOURCE}"}/${SOURCE_BASE_SYSTEM_BRANCH:-"${base_system_branch}"}"
echo "${tips}
$(gen_debian_source_no_backports "${base_url}" "${base_system_codename}" "${repository_sections}")" >>$File_DebianSourceList
# 处理 debian-security 仓库源
base_url="${WEB_PROTOCOL}://${SOURCE_SECURITY:-${SOURCE_BASE_SYSTEM:-${SOURCE}}}/${SOURCE_SECURITY_BRANCH:-${SOURCE_BASE_SYSTEM_BRANCH:-debian-security}}"
echo "$(gen_debian_security_source "${base_url}" "${base_system_codename}" "${repository_sections}")" >>$File_DebianSourceList
;;
*)
base_system_branch="raspbian"
base_system_codename="${SYSTEM_VERSION_CODENAME}"
repository_sections="main contrib non-free rpi"
if [[ "${USE_OFFICIAL_SOURCE}" == "true" ]]; then
SOURCE="raspbian.raspberrypi.org"
fi
base_url="${WEB_PROTOCOL}://${SOURCE_BASE_SYSTEM:-"${SOURCE}"}/${SOURCE_BASE_SYSTEM_BRANCH:-"${base_system_branch}"}"
echo "${tips}
deb ${base_url} ${base_system_codename} ${repository_sections}
# deb-src ${base_url} ${base_system_codename} ${repository_sections}" >>$File_DebianSourceList
;;
esac
;;
2023-05-05 17:32:43 +08:00
esac
2024-07-26 19:05:33 +08:00
## 处理其它衍生操作系统的专用源
# Armbian
2025-03-16 19:30:40 +08:00
if [ -f "${File_ArmbianRelease}" ]; then
2024-07-26 19:05:33 +08:00
echo "deb [signed-by=/usr/share/keyrings/armbian.gpg] ${WEB_PROTOCOL}://${SOURCE}/armbian ${SYSTEM_VERSION_CODENAME} main ${SYSTEM_VERSION_CODENAME}-utils ${SYSTEM_VERSION_CODENAME}-desktop" >>$File_ArmbianSourceList
2024-01-17 17:14:51 +08:00
fi
2025-03-06 13:20:29 +08:00
# Proxmox VE
2025-03-16 19:30:40 +08:00
if [ -f "${File_ProxmoxVersion}" ]; then
2024-07-26 19:05:33 +08:00
echo "deb ${WEB_PROTOCOL}://${SOURCE}/proxmox/debian/pve ${SYSTEM_VERSION_CODENAME} pve-no-subscription
# deb ${WEB_PROTOCOL}://${SOURCE}/proxmox/debian/pbs ${SYSTEM_VERSION_CODENAME} pbs-no-subscription
# deb ${WEB_PROTOCOL}://${SOURCE}/proxmox/debian/pbs-client ${SYSTEM_VERSION_CODENAME} pbs-client-no-subscription
# deb ${WEB_PROTOCOL}://${SOURCE}/proxmox/debian/pmg ${SYSTEM_VERSION_CODENAME} pmg-no-subscription" >>$File_ProxmoxSourceList
2024-01-17 17:14:51 +08:00
fi
}
2024-07-31 21:30:10 +08:00
## 更换基于 RedHat 系 Linux 发行版的软件源
2024-07-26 19:05:33 +08:00
function change_mirrors_RedHat() {
## 仅 EPEL 模式
if [[ "${ONLY_EPEL}" == "true" ]]; then
change_mirrors_or_install_EPEL # EPEL 附加软件包
return
fi
2024-12-13 21:50:49 +08:00
## 生成 repo 源文件
2024-07-26 19:05:33 +08:00
case "${SYSTEM_JUDGMENT}" in
"${SYSTEM_RHEL}")
case "${SYSTEM_VERSION_NUMBER_MAJOR}" in
2025-03-14 18:57:40 +08:00
9 | 10)
gen_repo_files_CentOSStream "${SYSTEM_VERSION_NUMBER_MAJOR}"
2024-05-19 14:56:02 +08:00
;;
2024-07-26 19:05:33 +08:00
*)
gen_repo_files_CentOS "${SYSTEM_VERSION_NUMBER_MAJOR}"
2024-05-19 14:56:02 +08:00
;;
2024-07-26 19:05:33 +08:00
esac
;;
"${SYSTEM_CENTOS}")
gen_repo_files_CentOS "${SYSTEM_VERSION_NUMBER_MAJOR}"
2024-07-26 19:05:33 +08:00
;;
"${SYSTEM_CENTOS_STREAM}")
gen_repo_files_CentOSStream "${SYSTEM_VERSION_NUMBER_MAJOR}"
2024-07-26 19:05:33 +08:00
;;
"${SYSTEM_ROCKY}")
gen_repo_files_RockyLinux "${SYSTEM_VERSION_NUMBER_MAJOR}"
2024-07-26 19:05:33 +08:00
;;
"${SYSTEM_ALMALINUX}")
gen_repo_files_AlmaLinux "${SYSTEM_VERSION_NUMBER_MAJOR}"
2024-07-26 19:05:33 +08:00
;;
"${SYSTEM_FEDORA}")
gen_repo_files_Fedora "${SYSTEM_VERSION_NUMBER}"
;;
"${SYSTEM_OPENCLOUDOS}")
gen_repo_files_OpenCloudOS "${SYSTEM_VERSION_NUMBER}"
2024-07-26 19:05:33 +08:00
;;
"${SYSTEM_ANOLISOS}")
gen_repo_files_AnolisOS "${SYSTEM_VERSION_NUMBER}"
;;
2024-07-26 19:05:33 +08:00
esac
## 使用官方源
if [[ "${USE_OFFICIAL_SOURCE}" == "true" ]]; then
change_mirrors_or_install_EPEL # EPEL 附加软件包
return
fi
## 修改源
cd $Dir_YumRepos
case "${SYSTEM_JUDGMENT}" in
"${SYSTEM_RHEL}")
case "${SYSTEM_VERSION_NUMBER_MAJOR}" in
2024-07-26 19:05:33 +08:00
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
# 禁用 GPG 签名检查
sed -e "s|gpgcheck=1|gpgcheck=0|g" \
-i \
centos.repo \
centos-addons.repo
2024-05-19 14:56:02 +08:00
;;
2024-07-26 19:05:33 +08:00
*)
sed -i "s|^#baseurl=http|baseurl=${WEB_PROTOCOL}|g" CentOS-*
sed -i 's|^mirrorlist=|#mirrorlist=|g' CentOS-*
case "${SYSTEM_VERSION_NUMBER_MAJOR}" in
2024-07-26 19:05:33 +08:00
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
2024-07-31 21:30:10 +08:00
sed -i "s|vault.centos.org/\$contentdir|${SOURCE_VAULT:-"${SOURCE}"}/${SOURCE_VAULT_BRANCH:-"centos-vault"}|g" CentOS-Linux-Sources.repo
2024-07-26 19:05:33 +08:00
;;
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
2024-07-31 21:30:10 +08:00
sed -i "s|vault.centos.org/centos|${SOURCE_VAULT:-"${SOURCE}"}/${SOURCE_VAULT_BRANCH:-"${SOURCE_BRANCH}"}|g" CentOS-Sources.repo
2024-07-26 19:05:33 +08:00
;;
esac
sed -i "s|mirror.centos.org|${SOURCE}|g" CentOS-*
2024-05-19 14:56:02 +08:00
;;
2024-07-26 19:05:33 +08:00
esac
;;
"${SYSTEM_CENTOS}")
sed -i "s|^#baseurl=http|baseurl=${WEB_PROTOCOL}|g" CentOS-*
sed -i 's|^mirrorlist=|#mirrorlist=|g' CentOS-*
## CentOS 7/8 操作系统版本结束了生命周期EOLLinux 社区已不再维护该操作系统版本
case "${SYSTEM_VERSION_NUMBER_MAJOR}" in
2024-07-26 19:05:33 +08:00
8)
2024-12-13 21:50:49 +08:00
# 最终版本为 8.5.2011,从 2022-02 开始切换至 centos-vault 仓库
2024-07-26 19:05:33 +08:00
sed -i "s|mirror.centos.org/\$contentdir|mirror.centos.org/${SOURCE_BRANCH:-"centos-vault"}|g" CentOS-*
sed -i "s/\$releasever/8.5.2111/g" CentOS-*
2024-07-31 21:30:10 +08:00
sed -i "s|vault.centos.org/\$contentdir|${SOURCE_VAULT:-"${SOURCE}"}/${SOURCE_VAULT_BRANCH:-"centos-vault"}|g" CentOS-Linux-Sources.repo # 单独处理 CentOS-Linux-Sources.repo
2024-05-19 14:56:02 +08:00
;;
2024-07-26 19:05:33 +08:00
7)
2024-12-13 21:50:49 +08:00
# 最终版本为 7.9.2009,从 2024-07 开始切换至 centos-vault 仓库
2024-07-26 19:05:33 +08:00
sed -i "s|mirror.centos.org/centos|mirror.centos.org/${SOURCE_BRANCH:-"centos-vault"}|g" CentOS-*
sed -i "s/\$releasever/7.9.2009/g" CentOS-*
2024-07-31 21:30:10 +08:00
sed -i "s|vault.centos.org/centos|${SOURCE_VAULT:-"${SOURCE}"}/${SOURCE_VAULT_BRANCH:-"centos-vault"}|g" CentOS-Sources.repo # 单独处理 CentOS-Sources.repo
2024-05-19 14:56:02 +08:00
;;
2024-07-26 19:05:33 +08:00
esac
sed -i "s|mirror.centos.org|${SOURCE}|g" CentOS-*
;;
"${SYSTEM_CENTOS_STREAM}")
case "${SYSTEM_VERSION_NUMBER_MAJOR}" in
2025-03-14 18:57:40 +08:00
9 | 10)
2024-07-26 19:05:33 +08:00
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
2024-05-19 14:56:02 +08:00
;;
2024-07-26 19:05:33 +08:00
8)
2024-07-31 21:30:10 +08:00
sed -i "s|vault.centos.org/\$contentdir|${SOURCE_VAULT:-"${SOURCE}"}/${SOURCE_VAULT_BRANCH:-"${SOURCE_BRANCH}"}|g" CentOS-Stream-Sources.repo # 单独处理 CentOS-Stream-Sources.repo
2024-07-26 19:05:33 +08:00
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-*
2024-05-19 14:56:02 +08:00
;;
2024-07-26 19:05:33 +08:00
esac
;;
"${SYSTEM_ROCKY}")
case "${SYSTEM_VERSION_NUMBER_MAJOR}" in
2024-07-26 19:05:33 +08:00
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
2024-05-19 14:56:02 +08:00
;;
2024-07-26 19:05:33 +08:00
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-*
2024-05-19 14:56:02 +08:00
;;
2024-07-26 19:05:33 +08:00
esac
;;
"${SYSTEM_ALMALINUX}")
case "${SYSTEM_VERSION_NUMBER_MAJOR}" in
2024-07-26 19:05:33 +08:00
9)
sed -e "s|^# baseurl=http|baseurl=${WEB_PROTOCOL}|g" \
-e "s|^mirrorlist=|#mirrorlist=|g" \
2024-07-31 21:30:10 +08:00
-e "s|repo.almalinux.org/vault|${SOURCE_VAULT:-"${SOURCE}"}/${SOURCE_VAULT_BRANCH:-"almalinux-vault"}|g" \
2024-07-26 19:05:33 +08:00
-e "s|repo.almalinux.org/almalinux|${SOURCE}/${SOURCE_BRANCH}|g" \
-i \
almalinux-*
2024-05-19 14:56:02 +08:00
;;
2024-07-26 19:05:33 +08:00
8)
sed -e "s|^mirrorlist=|#mirrorlist=|g" \
-e "s|^# baseurl=http|baseurl=${WEB_PROTOCOL}|g" \
2024-07-31 21:30:10 +08:00
-e "s|repo.almalinux.org/vault|${SOURCE_VAULT:-"${SOURCE}"}/${SOURCE_VAULT_BRANCH:-"almalinux-vault"}|g" \
2024-07-26 19:05:33 +08:00
-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
2024-05-19 14:56:02 +08:00
;;
2024-07-26 19:05:33 +08:00
esac
;;
"${SYSTEM_FEDORA}")
# 自 Fedora 39 起不再使用 modular 仓库
local fedora_repo_files="fedora.repo fedora-updates.repo fedora-updates-testing.repo"
2024-07-26 19:05:33 +08:00
if [[ "${SYSTEM_VERSION_NUMBER}" -lt 39 ]]; then
fedora_repo_files="${fedora_repo_files} fedora-modular.repo fedora-updates-modular.repo fedora-updates-testing-modular.repo"
2024-07-26 19:05:33 +08:00
fi
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_files
;;
"${SYSTEM_OPENCLOUDOS}")
case "${SYSTEM_VERSION_NUMBER_MAJOR}" in
2024-07-26 19:05:33 +08:00
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
2024-05-19 14:56:02 +08:00
;;
2024-07-26 19:05:33 +08:00
esac
;;
"${SYSTEM_ANOLISOS}")
# Anolis OS 仓库配置特殊baseurl 同时使用 http 和 https 协议gpgkey 同时使用软件源仓库远程路径和本地路径
case "${SYSTEM_VERSION_NUMBER_MAJOR}" in
8)
sed -e "s|http\(s\)\?://mirrors.openanolis.cn/anolis|${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH}|g" \
-i \
AnolisOS-*
;;
esac
;;
2024-07-26 19:05:33 +08:00
esac
change_mirrors_or_install_EPEL # EPEL 附加软件包
}
2024-07-31 21:30:10 +08:00
## 更换 OpenCloudOS 发行版软件源
2024-07-26 19:05:33 +08:00
function change_mirrors_OpenCloudOS() {
2024-12-13 21:50:49 +08:00
## 生成 repo 源文件
gen_repo_files_OpenCloudOS "${SYSTEM_VERSION_NUMBER}"
2024-07-26 19:05:33 +08:00
## 使用官方源
if [[ "${USE_OFFICIAL_SOURCE}" == "true" ]]; then
return
fi
## 修改源
cd $Dir_YumRepos
if [[ "${SYSTEM_VERSION_NUMBER}" == 23 ]]; then
sed -e "s|^baseurl=https|baseurl=${WEB_PROTOCOL}|g" \
-e "s|mirrors.opencloudos.tech/opencloudos-stream|${SOURCE}/${SOURCE_BRANCH}|g" \
-i \
OpenCloudOS-Stream.repo
else
2024-07-26 19:05:33 +08:00
sed -e "s|^baseurl=https|baseurl=${WEB_PROTOCOL}|g" \
-e "s|mirrors.opencloudos.tech/opencloudos|${SOURCE}/${SOURCE_BRANCH}|g" \
-i \
OpenCloudOS.repo
fi
2024-07-26 19:05:33 +08:00
}
2024-07-31 21:30:10 +08:00
## 更换 openEuler 发行版软件源
2024-07-26 19:05:33 +08:00
function change_mirrors_openEuler() {
2024-12-13 21:50:49 +08:00
## 生成 repo 源文件
2024-07-26 19:05:33 +08:00
gen_repo_files_openEuler
## 使用官方源
if [[ "${USE_OFFICIAL_SOURCE}" == "true" ]]; then
2024-12-28 01:46:53 +08:00
sed -e "s|openEuler-version|openEuler-${version_name}|g" \
-i \
openEuler.repo
2024-07-26 19:05:33 +08:00
return
fi
## 修改源
cd $Dir_YumRepos
local version_name="$(cat $File_LinuxRelease | grep -E "^VERSION=" | awk -F '=' '{print$2}' | sed "s/[\'\"]//g; s/[()]/ /g; s/ / /g; s/^ //g; s/ $//g; s/ /-/g; s/_/-/g")"
sed -e "s|^baseurl=http|baseurl=${WEB_PROTOCOL}|g" \
-e "s|repo.openeuler.org|${SOURCE}/${SOURCE_BRANCH}|g" \
-e "s|openEuler-version|openEuler-${version_name}|g" \
-i \
openEuler.repo
}
2024-10-24 01:55:14 +08:00
## 更换 Anolis OS 发行版软件源
function change_mirrors_AnolisOS() {
2024-12-13 21:50:49 +08:00
## 生成 repo 源文件
2024-10-24 01:55:14 +08:00
gen_repo_files_AnolisOS "${SYSTEM_VERSION_NUMBER}"
## 使用官方源
if [[ "${USE_OFFICIAL_SOURCE}" == "true" ]]; then
return
fi
## 修改源
cd $Dir_YumRepos
# Anolis OS 仓库配置特殊baseurl 同时使用 http 和 https 协议gpgkey 同时使用软件源仓库远程路径和本地路径
case "${SYSTEM_VERSION_NUMBER_MAJOR}" in
2024-10-24 01:55:14 +08:00
23)
sed -e "s|http\(s\)\?://mirrors.openanolis.cn/anolis|${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH}|g" \
2024-10-24 01:55:14 +08:00
-i \
AnolisOS-Debuginfo.repo \
AnolisOS.repo \
AnolisOS-Source.repo
;;
8)
sed -e "s|http\(s\)\?://mirrors.openanolis.cn/anolis|${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH}|g" \
-i \
AnolisOS-*
;;
2024-10-24 01:55:14 +08:00
esac
}
2024-07-31 21:30:10 +08:00
## 更换 openSUSE 发行版软件源
2024-07-26 19:05:33 +08:00
function change_mirrors_openSUSE() {
2024-12-13 21:50:49 +08:00
## 生成 repo 源文件
2024-07-26 19:05:33 +08:00
case "${SYSTEM_ID}" in
"opensuse-leap")
gen_repo_files_openSUSE "leap" "${SYSTEM_VERSION_NUMBER}"
;;
"opensuse-tumbleweed")
gen_repo_files_openSUSE "tumbleweed"
;;
esac
## 使用官方源
if [[ "${USE_OFFICIAL_SOURCE}" == "true" ]]; then
return
fi
## 修改源
cd $Dir_ZYppRepos
2024-07-26 19:05:33 +08:00
# 更换软件源
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
2024-05-19 14:56:02 +08:00
;;
2024-07-26 19:05:33 +08:00
*)
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 \
2024-11-14 21:57:28 +08:00
repo-openh264.repo \
2024-07-26 19:05:33 +08:00
repo-oss.repo \
repo-sle-debug-update.repo \
repo-sle-update.repo \
repo-source.repo \
repo-update-non-oss.repo \
repo-update.repo
2024-05-19 14:56:02 +08:00
;;
2024-07-26 19:05:33 +08:00
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
}
2024-07-31 21:30:10 +08:00
## 更换 Arch Linux 发行版软件源
2024-07-26 19:05:33 +08:00
function change_mirrors_ArchLinux() {
## 使用官方源
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_ArchLinuxMirrorList
;;
"archlinuxcn")
echo "Server = ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH}/\$arch" >>$File_ArchLinuxMirrorList
;;
*)
echo "Server = ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH}/\$repo/os/\$arch" >>$File_ArchLinuxMirrorList
;;
esac
}
2024-07-31 21:30:10 +08:00
## 更换 Alpine Linux 发行版软件源
2024-07-26 19:05:33 +08:00
function change_mirrors_Alpine() {
## 使用官方源
if [[ "${USE_OFFICIAL_SOURCE}" == "true" ]]; then
SOURCE="dl-cdn.alpinelinux.org"
fi
local version_name
echo "${SYSTEM_PRETTY_NAME}" | grep " edge" -q
if [ $? -eq 0 ]; then
version_name="edge"
else
version_name="v${SYSTEM_VERSION_NUMBER_MAJOR}"
2024-07-26 19:05:33 +08:00
fi
## 修改源
echo "${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH}/${version_name}/main
${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH}/${version_name}/community" >>$File_AlpineRepositories
}
2024-07-31 21:30:10 +08:00
## 更换 Gentoo 发行版软件源
function change_mirrors_Gentoo() {
## 使用官方源
if [[ "${USE_OFFICIAL_SOURCE}" == "true" ]]; then
grep -Eq "^GENTOO_MIRRORS=" $File_GentooMakeConf
if [ $? -eq 0 ]; then
sed -i "/^GENTOO_MIRRORS=/d" $File_GentooMakeConf
fi
2025-03-16 19:30:40 +08:00
[ -f "${File_GentooReposConf}" ] && rm -rf $File_GentooReposConf
2024-07-31 21:30:10 +08:00
return
fi
## 修改源
grep -Eq "^GENTOO_MIRRORS=" $File_GentooMakeConf
if [ $? -eq 0 ]; then
sed -i "s|^GENTOO_MIRRORS=.*|GENTOO_MIRRORS=\"${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH}\"|g" $File_GentooMakeConf
else
echo -e "\nGENTOO_MIRRORS=\"${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH}\"" >>$File_GentooMakeConf
fi
echo "[DEFAULT]
main-repo = gentoo
[gentoo]
location = /usr/portage
sync-type = rsync
sync-uri = rsync://${SOURCE_PORTAGE:-"${SOURCE}"}/${SOURCE_PORTAGE_BRANCH:-"gentoo-portage"}
auto-sync = yes" >$File_GentooReposConf
}
## 更换 openKylin 发行版软件源
function change_mirrors_openKylin() {
function gen_source() {
echo "deb ${1} ${2} ${3}
# deb-src ${1} ${2} ${3}
deb ${1} ${2}-security ${3}
# deb-src ${1} ${2}-security ${3}
deb ${1} ${2}-updates ${3}
# deb-src ${1} ${2}-updates ${3}"
}
## 使用官方源
if [[ "${USE_OFFICIAL_SOURCE}" == "true" ]]; then
SOURCE="archive.build.openkylin.top"
fi
local repository_sections="main cross pty" # 仓库区域
local tips="## 默认禁用源码镜像以提高速度,如需启用请自行取消注释"
local base_url="${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH}"
echo "${tips}
$(gen_source "${base_url}" "${SYSTEM_VERSION_CODENAME}" "${repository_sections}")" >>$File_DebianSourceList
}
2025-02-20 17:21:12 +08:00
## 更换 NixOS 发行版软件源
function change_mirrors_NixOS() {
local binary_cache_source channel_source
if [[ "${USE_OFFICIAL_SOURCE}" == "true" ]]; then
binary_cache_source="https://cache.nixos.org/"
channel_source="https://nixos.org/channels"
else
binary_cache_source="${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH}/store https://cache.nixos.org/"
channel_source="${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH}"
fi
# binary cache
sed -i "s|^substituters.*|substituters = ${binary_cache_source}|g" $File_NixConf
# channel
nix-channel --add "${channel_source}/nixos-${SYSTEM_VERSION_NUMBER}" nixos
nix-channel --update >/dev/null 2>&1
}
2024-07-26 19:05:33 +08:00
## EPEL (Extra Packages for Enterprise Linux) 附加软件包 - 安装或更换软件源
function change_mirrors_or_install_EPEL() {
if [[ "${INSTALL_EPEL}" != "true" ]]; then
return
fi
## 确定安装版本(不支持安装的系统直接跳出)
local epel_version
2024-07-26 19:05:33 +08:00
case "${SYSTEM_FACTIONS}" in
2024-10-31 01:46:59 +08:00
"${SYSTEM_REDHAT}")
2024-07-26 19:05:33 +08:00
if [[ "${SYSTEM_JUDGMENT}" == "${SYSTEM_FEDORA}" ]]; then
return
else
epel_version="${SYSTEM_VERSION_NUMBER_MAJOR}"
2024-07-26 19:05:33 +08:00
fi
;;
*)
return
;;
esac
## 跳过较旧的 EOF 版本epel 7 已被官方移动至 archive 仓库,目前没有多少镜像站同步,暂无适配的必要)
if [[ "${epel_version}" == "7" ]]; then
2025-01-04 19:20:15 +08:00
[ -z "${SOURCE_EPEL_BRANCH}" ] && SOURCE_EPEL_BRANCH="epel-archive"
2025-03-17 00:24:01 +08:00
echo -e "\n$WARN Extra Packages for Enterprise Linux 7 已结束生命周期并被官方移至归档库!"
echo -e "\n$TIP 目前部分镜像站没有同步该归档仓库,若换源后出现错误那么请先检查目标镜像站是否支持该仓库。\n\n${GREEN}${PLAIN} ${WEB_PROTOCOL}://${SOURCE_EPEL:-"${SOURCE}"}/${SOURCE_EPEL_BRANCH:-"epel"}"
2024-10-22 00:51:14 +08:00
fi
2024-07-26 19:05:33 +08:00
## 安装 EPEL 软件包
2024-12-06 20:56:39 +08:00
if [ $VERIFICATION_EPEL -ne 0 ]; then
2024-07-26 19:05:33 +08:00
echo -e "\n${WORKING} 安装 epel-release 软件包...\n"
2024-10-24 01:55:14 +08:00
local package_manager="$(get_package_manager)"
2025-03-17 00:24:01 +08:00
local package_url="https://mirrors.cloud.tencent.com/epel/epel-release-latest-${epel_version}.noarch.rpm"
case "${epel_version}" in
7)
2025-03-17 00:24:01 +08:00
package_url="https://mirrors.cloud.tencent.com/epel-archive/7/${DEVICE_ARCH_RAW}/Packages/e/epel-release-7-14.noarch.rpm"
;;
9)
2025-03-17 00:24:01 +08:00
## CentOS Stream 9 特殊,有两个不同的发行包 epel-release epel-next-release
if [[ "${SYSTEM_JUDGMENT}" == "${SYSTEM_CENTOS_STREAM}" || "${SYSTEM_JUDGMENT}" == "${SYSTEM_RHEL}" ]]; then
2025-03-17 00:24:01 +08:00
package_url="https://mirrors.cloud.tencent.com/epel/epel{,-next}-release-latest-9.noarch.rpm"
fi
;;
esac
2025-03-17 00:24:01 +08:00
$package_manager install -y "${package_url}"
2024-07-26 19:05:33 +08:00
rm -rf $Dir_YumRepos/epel*
fi
## 删除原有 repo 源文件
2025-03-16 19:30:40 +08:00
if [ -d "${Dir_YumRepos}" ]; then
2024-12-06 20:56:39 +08:00
ls $Dir_YumRepos | grep epel -q
[ $? -eq 0 ] && rm -rf $Dir_YumRepos/epel*
fi
2025-03-16 19:30:40 +08:00
if [ -d "${Dir_YumReposBackup}" ]; then
2024-12-06 20:56:39 +08:00
ls $Dir_YumReposBackup | grep epel -q
[ $? -eq 0 ] && rm -rf $Dir_YumReposBackup/epel*
fi
2024-07-26 19:05:33 +08:00
## 生成 repo 源文件
gen_repo_files_EPEL "${SYSTEM_VERSION_NUMBER_MAJOR}"
if [[ "${epel_version}" == 9 ]] && [[ "${SYSTEM_JUDGMENT}" == "${SYSTEM_CENTOS_STREAM}" || "${SYSTEM_JUDGMENT}" == "${SYSTEM_RHEL}" ]]; then
gen_repo_files_EPEL_NEXT "${SYSTEM_VERSION_NUMBER_MAJOR}"
fi
2024-07-26 19:05:33 +08:00
if [[ "${USE_OFFICIAL_SOURCE}" == "true" ]]; then
return
fi
2024-07-31 21:30:10 +08:00
## 修改源
2024-07-26 19:05:33 +08:00
sed -e "s|^#baseurl=http\(s\)\?|baseurl=${WEB_PROTOCOL}|g" \
-e "s|^metalink=|#metalink=|g" \
2024-07-31 21:30:10 +08:00
-e "s|download.example/pub/epel|${SOURCE_EPEL:-"${SOURCE}"}/${SOURCE_EPEL_BRANCH:-"epel"}|g" \
2024-07-26 19:05:33 +08:00
-i \
$Dir_YumRepos/epel*
## 启用所需的仓库EPEL 需要结合 PowerTools / CRB 使用)
case "${epel_version}" in
9 | 10)
dnf config-manager --set-enabled crb >/dev/null 2>&1
;;
8)
dnf config-manager --set-enabled powertools >/dev/null 2>&1
;;
esac
2024-05-19 14:56:02 +08:00
}
2024-10-24 01:55:14 +08:00
## 选择系统包管理器
function get_package_manager() {
local command="yum"
case "${SYSTEM_JUDGMENT}" in
"${SYSTEM_CENTOS_STREAM}" | "${SYSTEM_ROCKY}" | "${SYSTEM_ALMALINUX}" | "${SYSTEM_RHEL}")
case "${SYSTEM_VERSION_NUMBER_MAJOR}" in
2025-03-14 18:57:40 +08:00
9 | 10)
2024-10-24 01:55:14 +08:00
command="dnf"
;;
esac
;;
"${SYSTEM_FEDORA}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}")
2024-10-24 01:55:14 +08:00
command="dnf"
;;
esac
echo "${command}"
}
function interactive_select_mirror() {
_SELECT_RESULT=""
local options=("$@")
local message="${options[${#options[@]} - 1]}"
unset options[${#options[@]}-1]
local selected=0
local start=0
local page_size=$(($(tput lines) - 3)) # 减去1行用于显示提示信息
function clear_menu() {
tput rc
for ((i = 0; i < ${#options[@]} + 1; i++)); do
echo -e "\r\033[K"
done
tput rc
}
function cleanup() {
clear_menu
tput rc
tput cnorm
tput rmcup
exit
}
function draw_menu() {
tput clear
tput cup 0 0
echo -e "${message}"
local end=$((start + page_size - 1))
if [ $end -ge ${#options[@]} ]; then
end=${#options[@]}-1
fi
for ((i = start; i <= end; i++)); do
if [ "$i" -eq "$selected" ]; then
echo -e "\e[34;4m➤ ${options[$i]%@*}\e[0m"
else
echo -e " ${options[$i]%@*}"
fi
done
}
function read_key() {
IFS= read -rsn1 key
if [[ $key == $'\x1b' ]]; then
IFS= read -rsn2 key
key="$key"
fi
echo "$key"
}
tput smcup # 保存当前屏幕并切换到新屏幕
tput sc # 保存光标位置
tput civis # 隐藏光标
trap "cleanup" INT TERM # 捕捉脚本结束时恢复光标
draw_menu # 初始化菜单位置
# 处理选择
while true; do
key=$(read_key)
case "$key" in
2024-12-13 21:50:49 +08:00
"[A" | "w" | "W")
# 上箭头 / W
if [ "$selected" -gt 0 ]; then
selected=$((selected - 1))
if [ "$selected" -lt "$start" ]; then
start=$((start - 1))
fi
fi
;;
2024-12-13 21:50:49 +08:00
"[B" | "s" | "S")
# 下箭头 / S
if [ "$selected" -lt $((${#options[@]} - 1)) ]; then
selected=$((selected + 1))
if [ "$selected" -ge $((start + page_size)) ]; then
start=$((start + 1))
fi
fi
;;
"")
# Enter 键
tput rmcup
break
;;
*) ;;
esac
draw_menu
done
# clear_menu # 清除菜单
tput cnorm # 恢复光标
tput rmcup # 恢复之前的屏幕
# tput rc # 恢复光标位置
# 处理结果
_SELECT_RESULT="${options[$selected]}"
}
function interactive_select_boolean() {
_SELECT_RESULT=""
local selected=0
local message="$1"
2025-03-17 00:02:32 +08:00
local menu_height=3 # 菜单总高度(标题行+空行+选项行)
local original_line
function store_position() {
# 保存菜单开始前的行位置
original_line=$(tput lines)
}
function clear_menu() {
2025-03-17 00:02:32 +08:00
# 向上移动到菜单开始位置并清除菜单
for ((i = 0; i < ${menu_height}; i++)); do
tput cuu1 # 光标上移一行
tput el # 清除当前行
done
}
function cleanup() {
clear_menu
tput cnorm
exit
}
function draw_menu() {
2025-03-17 00:02:32 +08:00
# 绘制菜单不改变光标位置
echo -e "╭─ ${message}"
echo -e "│"
if [ "$selected" -eq 0 ]; then
echo -e "╰─ \033[32m●\033[0m 是\033[2m / ○ 否\033[0m"
else
echo -e "╰─ \033[2m○ 是 / \033[0m\033[32m●\033[0m 否"
fi
}
2025-03-17 00:02:32 +08:00
function read_key() {
IFS= read -rsn1 key
if [[ $key == $'\x1b' ]]; then
IFS= read -rsn2 key
key="$key"
fi
echo "$key"
}
2025-03-17 00:02:32 +08:00
tput civis # 隐藏光标
store_position # 记录当前位置
trap "cleanup" INT TERM
draw_menu # 初始化菜单位置
# 处理选择
while true; do
key=$(read_key)
case "$key" in
2024-12-13 21:50:49 +08:00
"[D" | "a" | "A")
# 左箭头 / A
if [ "$selected" -gt 0 ]; then
selected=$((selected - 1))
2025-03-17 00:02:32 +08:00
clear_menu
draw_menu
fi
;;
2024-12-13 21:50:49 +08:00
"[C" | "d" | "D")
# 右箭头 / D
if [ "$selected" -lt 1 ]; then
selected=$((selected + 1))
2025-03-17 00:02:32 +08:00
clear_menu
draw_menu
fi
;;
"")
# Enter 键
2025-03-17 00:02:32 +08:00
clear_menu # 先清除菜单
break
;;
*) ;;
esac
done
2025-03-17 00:02:32 +08:00
echo -e "╭─ ${message}"
echo -e "│"
if [ "$selected" -eq 0 ]; then
2025-03-17 00:02:32 +08:00
echo -e "╰─ \033[32m●\033[0m \033[1m是\033[0m\033[2m / ○ 否\033[0m"
_SELECT_RESULT="true"
else
2025-03-17 00:02:32 +08:00
echo -e "╰─ \033[2m○ 是 / \033[0m\033[32m●\033[0m \033[1m否\033[0m"
_SELECT_RESULT="false"
fi
2025-03-17 00:02:32 +08:00
tput cnorm # 恢复光标
}
2024-01-17 17:14:51 +08:00
##############################################################################
2024-12-13 21:50:49 +08:00
## 生成 CentOS repo 源文件
function gen_repo_files_CentOS() {
2023-05-25 06:44:54 +08:00
case "$1" in
8)
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/CentOS-Linux-AppStream.repo
2021-10-08 00:03:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/CentOS-Linux-BaseOS.repo
2021-10-08 00:03:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/CentOS-Linux-ContinuousRelease.repo
2021-10-08 00:03:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/CentOS-Linux-Debuginfo.repo
2021-10-08 00:03:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/CentOS-Linux-Devel.repo
2021-10-08 00:03:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/CentOS-Linux-Extras.repo
2021-10-08 00:03:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/CentOS-Linux-FastTrack.repo
2021-10-08 00:03:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/CentOS-Linux-HighAvailability.repo
2021-10-08 00:03:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/CentOS-Linux-Media.repo
2021-10-08 00:03:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/CentOS-Linux-Plus.repo
2021-10-08 00:03:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/CentOS-Linux-PowerTools.repo
2021-10-08 00:03:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/CentOS-Linux-Sources.repo
2021-10-08 00:03:44 +08:00
[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)
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/CentOS-Base.repo
2021-10-08 00:03:44 +08:00
[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
[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
[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
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/CentOS-CR.repo
2021-10-08 00:03:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/CentOS-Debuginfo.repo
2021-10-08 00:03:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/CentOS-fasttrack.repo
2021-10-08 00:03:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/CentOS-Media.repo
2021-10-08 00:03:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/CentOS-Sources.repo
2021-10-08 00:03:44 +08:00
[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
[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
[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
[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
}
2024-12-13 21:50:49 +08:00
## 生成 CentOS Stream repo 源文件
function gen_repo_files_CentOSStream() {
2023-05-25 06:44:54 +08:00
case "$1" in
2025-03-14 18:57:40 +08:00
10)
cat <<'EOF' >$Dir_YumRepos/centos.repo
[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-SHA256
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=1
[baseos-debuginfo]
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-SHA256
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-SHA256
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-SHA256
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=1
[appstream-debuginfo]
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-SHA256
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-SHA256
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-SHA256
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=0
[crb-debuginfo]
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-SHA256
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-SHA256
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
enabled=0
EOF
cat <<'EOF' >$Dir_YumRepos/centos-addons.repo
[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-SHA256
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=0
[highavailability-debuginfo]
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-SHA256
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-SHA256
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-SHA256
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=0
[nfv-debuginfo]
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-SHA256
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-SHA256
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-SHA256
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=0
[rt-debuginfo]
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-SHA256
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-SHA256
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-SHA256
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=0
[resilientstorage-debuginfo]
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-SHA256
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-SHA256
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
;;
9)
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/centos.repo
2023-04-18 18:01:48 +08:00
[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
2023-04-18 18:01:48 +08:00
enabled=1
2023-04-18 18:01:48 +08:00
[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
2023-04-18 18:01:48 +08:00
[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
2023-04-18 18:01:48 +08:00
[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
2023-04-18 18:01:48 +08:00
enabled=1
2023-04-18 18:01:48 +08:00
[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
2023-04-18 18:01:48 +08:00
[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
2023-04-18 18:01:48 +08:00
[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
2023-04-18 18:01:48 +08:00
[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
2023-04-18 18:01:48 +08:00
[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
2023-04-18 18:01:48 +08:00
EOF
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/centos-addons.repo
2023-04-18 18:01:48 +08:00
[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
2023-04-18 18:01:48 +08:00
[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
2023-04-18 18:01:48 +08:00
[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
2023-04-18 18:01:48 +08:00
[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
2023-04-18 18:01:48 +08:00
enabled=0
2023-04-18 18:01:48 +08:00
[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
2023-04-18 18:01:48 +08:00
[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
2023-04-18 18:01:48 +08:00
enabled=0
2023-04-18 18:01:48 +08:00
[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
2023-04-18 18:01:48 +08:00
countme=1
enabled=0
2023-04-18 18:01:48 +08:00
[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
2023-04-18 18:01:48 +08:00
[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
2023-04-18 18:01:48 +08:00
enabled=0
2023-04-18 18:01:48 +08:00
[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
2023-04-18 18:01:48 +08:00
countme=1
enabled=0
2023-04-18 18:01:48 +08:00
[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
2023-04-18 18:01:48 +08:00
[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
2023-04-18 18:01:48 +08:00
[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
2023-04-18 18:01:48 +08:00
countme=1
enabled=1
2023-04-18 18:01:48 +08:00
[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)
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/CentOS-Stream-AppStream.repo
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/CentOS-Stream-BaseOS.repo
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/CentOS-Stream-Debuginfo.repo
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/CentOS-Stream-Extras-common.repo
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/CentOS-Stream-Extras.repo
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/CentOS-Stream-HighAvailability.repo
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/CentOS-Stream-Media.repo
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/CentOS-Stream-NFV.repo
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/CentOS-Stream-PowerTools.repo
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/CentOS-Stream-RealTime.repo
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/CentOS-Stream-ResilientStorage.repo
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/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
2021-10-08 00:03:44 +08:00
}
2024-12-13 21:50:49 +08:00
## 生成 Rocky Linux repo 源文件
function gen_repo_files_RockyLinux() {
2023-05-25 06:44:54 +08:00
case "$1" in
2023-04-19 01:26:44 +08:00
9)
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/rocky.repo
2023-04-19 01:26:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/rocky-addons.repo
2023-04-19 01:26:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/rocky-devel.repo
2023-04-19 01:26:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/rocky-extras.repo
2023-04-19 01:26:44 +08:00
[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)
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/Rocky-AppStream.repo
2023-04-19 01:26:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/Rocky-BaseOS.repo
2023-04-19 01:26:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/Rocky-Debuginfo.repo
2023-04-19 01:26:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/Rocky-Devel.repo
2023-04-19 01:26:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/Rocky-Extras.repo
2023-04-19 01:26:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/Rocky-HighAvailability.repo
2023-04-19 01:26:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/Rocky-Media.repo
2023-04-19 01:26:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/Rocky-NFV.repo
2023-04-19 01:26:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/Rocky-Plus.repo
2023-04-19 01:26:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/Rocky-PowerTools.repo
2023-04-19 01:26:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/Rocky-ResilientStorage.repo
2023-04-19 01:26:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/Rocky-RT.repo
2023-04-19 01:26:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/Rocky-Sources.repo
2023-04-19 01:26:44 +08:00
[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
}
2024-12-13 21:50:49 +08:00
## 生成 AlmaLinux repo 源文件
function gen_repo_files_AlmaLinux() {
2023-05-25 06:44:54 +08:00
case "$1" in
2023-05-06 13:12:43 +08:00
9)
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/almalinux-appstream.repo
2023-05-06 13:12:43 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/almalinux-baseos.repo
2023-05-06 13:12:43 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/almalinux-crb.repo
2023-05-06 13:12:43 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/almalinux-extras.repo
2023-05-06 13:12:43 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/almalinux-highavailability.repo
2023-05-06 13:12:43 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/almalinux-nfv.repo
2023-05-06 13:12:43 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/almalinux-plus.repo
2023-05-06 13:12:43 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/almalinux-resilientstorage.repo
2023-05-06 13:12:43 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/almalinux-rt.repo
2023-05-06 13:12:43 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/almalinux-sap.repo
2023-05-06 13:12:43 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/almalinux-saphana.repo
2023-05-06 13:12:43 +08:00
[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)
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/almalinux-ha.repo
2023-05-06 13:12:43 +08:00
[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
[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
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/almalinux-nfv.repo
2023-05-06 13:12:43 +08:00
[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
[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
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/almalinux-plus.repo
2023-05-06 13:12:43 +08:00
[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
[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
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/almalinux-powertools.repo
2023-05-06 13:12:43 +08:00
[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
[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
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/almalinux-resilientstorage.repo
2023-05-06 13:12:43 +08:00
[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
[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
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/almalinux-rt.repo
2023-05-06 13:12:43 +08:00
[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
[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
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/almalinux-sap.repo
2023-05-06 13:12:43 +08:00
[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
[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
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/almalinux-saphana.repo
2023-05-06 13:12:43 +08:00
[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
[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
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/almalinux.repo
2023-05-06 13:12:43 +08:00
[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
[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
[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
}
2024-12-13 21:50:49 +08:00
## 生成 Fedora repo 源文件
function gen_repo_files_Fedora() {
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/fedora.repo
2021-10-08 00:03:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/fedora-updates.repo
2021-10-08 00:03:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/fedora-updates-testing.repo
[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
## 自 Fedora 39 起不再使用 modular 仓库
if [[ $1 -lt 39 ]]; then
cat <<'EOF' >$Dir_YumRepos/fedora-modular.repo
2021-10-08 00:03:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/fedora-updates-modular.repo
2021-10-08 00:03:44 +08:00
[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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/fedora-updates-testing-modular.repo
2021-10-08 00:03:44 +08:00
[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
2024-07-26 19:05:33 +08:00
fi
2021-10-08 00:03:44 +08:00
}
2024-12-27 18:21:38 +08:00
## 生成 openEuler repo 源文件
function gen_repo_files_openEuler() {
cat <<'EOF' >$Dir_YumRepos/openEuler.repo
[OS]
name=OS
baseurl=http://repo.openeuler.org/openEuler-version/OS/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-version/OS/$basearch/RPM-GPG-KEY-openEuler
[everything]
name=everything
baseurl=http://repo.openeuler.org/openEuler-version/everything/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-version/everything/$basearch/RPM-GPG-KEY-openEuler
[EPOL]
name=EPOL
baseurl=http://repo.openeuler.org/openEuler-version/EPOL/main/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-version/OS/$basearch/RPM-GPG-KEY-openEuler
[debuginfo]
name=debuginfo
baseurl=http://repo.openeuler.org/openEuler-version/debuginfo/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-version/debuginfo/$basearch/RPM-GPG-KEY-openEuler
[source]
name=source
baseurl=http://repo.openeuler.org/openEuler-version/source/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-version/source/RPM-GPG-KEY-openEuler
[update]
name=update
baseurl=http://repo.openeuler.org/openEuler-version/update/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-version/OS/$basearch/RPM-GPG-KEY-openEuler
[update-source]
name=update-source
baseurl=http://repo.openeuler.org/openEuler-version/update/source/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-version/source/RPM-GPG-KEY-openEuler
EOF
}
2024-12-13 21:50:49 +08:00
## 生成 OpenCloudOS repo 源文件
function gen_repo_files_OpenCloudOS() {
case "${1%.*}" in
23)
cat <<'EOF' >$Dir_YumRepos/OpenCloudOS-Stream.repo
[BaseOS]
name=BaseOS $releasever - $basearch
baseurl=https://mirrors.opencloudos.tech/opencloudos-stream/releases/$releasever/BaseOS/$basearch/Packages/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS-Stream
[AppStream]
name=AppStream $releasever - $basearch
baseurl=https://mirrors.opencloudos.tech/opencloudos-stream/releases/$releasever/AppStream/$basearch/Packages/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS-Stream
[BaseOS-debug]
name=BaseOS-debug $releasever - $basearch
baseurl=https://mirrors.opencloudos.tech/opencloudos-stream/releases/$releasever/BaseOS/$basearch/debug/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS-Stream
[AppStream-debug]
name=AppStream-debug $releasever - $basearch
baseurl=https://mirrors.opencloudos.tech/opencloudos-stream/releases/$releasever/AppStream/$basearch/debug/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS-Stream
[BaseOS-source]
name=BaseOS-source $releasever
baseurl=https://mirrors.opencloudos.tech/opencloudos-stream/releases/$releasever/BaseOS/source/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS-Stream
[AppStream-source]
name=AppStream-source $releasever
baseurl=https://mirrors.opencloudos.tech/opencloudos-stream/releases/$releasever/AppStream/source/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS-Stream
EOF
;;
9)
cat <<'EOF' >$Dir_YumRepos/OpenCloudOS.repo
[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
2024-01-31 22:39:05 +08:00
[BaseOS-debuginfo]
name=BaseOS-debuginfo $releasever - $basearch
2024-05-19 14:56:02 +08:00
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-9
2024-01-31 22:39:05 +08:00
[AppStream-debuginfo]
name=AppStream-debuginfo $releasever - $basearch
2024-05-19 14:56:02 +08:00
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-9
2024-01-31 22:39:05 +08:00
[extras-debuginfo]
name=extras-debuginfo $releasever - $basearch
2024-05-19 14:56:02 +08:00
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-9
[BaseOS-source]
name=BaseOS-source $releasever
2024-05-19 14:56:02 +08:00
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/BaseOS/source/tree/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS-9
[AppStream-source]
name=AppStream-source $releasever
2024-05-19 14:56:02 +08:00
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/AppStream/source/tree/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS-9
[extras-source]
name=extras-source $releasever
2024-05-19 14:56:02 +08:00
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/extras/source/tree/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS-9
EOF
;;
8)
cat <<'EOF' >$Dir_YumRepos/OpenCloudOS-Debuginfo.repo
[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
2023-09-28 01:07:19 +08:00
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OpenCloudOS
EOF
if [[ "${1}" == "8.6" ]]; then
cat <<'EOF' >$Dir_YumRepos/OpenCloudOS.repo
[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
else
cat <<'EOF' >$Dir_YumRepos/OpenCloudOS.repo
[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
[NFV]
name=OpenCloudOS $releasever - NFV
baseurl=https://mirrors.opencloudos.tech/opencloudos/$releasever/NFV/$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
fi
cat <<'EOF' >$Dir_YumRepos/OpenCloudOS-Sources.repo
[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
}
2024-12-13 21:50:49 +08:00
## 生成 Anolis OS repo 源文件
2024-10-24 01:55:14 +08:00
function gen_repo_files_AnolisOS() {
case "${1%.*}" in
2024-10-24 01:55:14 +08:00
23)
cat <<'EOF' >$Dir_YumRepos/AnolisOS.repo
[os]
name=AnolisOS-$releasever - os
baseurl=http://mirrors.openanolis.cn/anolis/$releasever/os/$basearch/os
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ANOLIS
gpgcheck=1
[updates]
name=AnolisOS-$releasever - updates
baseurl=http://mirrors.openanolis.cn/anolis/$releasever/updates/$basearch/os
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ANOLIS
gpgcheck=1
[kernel-6]
name=AnolisOS-$releasever - kernel-6
baseurl=http://mirrors.openanolis.cn/anolis/$releasever/kernel-6/$basearch/os
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ANOLIS
gpgcheck=1
EOF
cat <<'EOF' >$Dir_YumRepos/AnolisOS-Source.repo
[os-source]
name=AnolisOS-$releasever - os Source
baseurl=https://mirrors.openanolis.cn/anolis/$releasever/os/source/
enabled=0
gpgkey=https://mirrors.openanolis.cn/anolis/RPM-GPG-KEY-ANOLIS
gpgcheck=1
[updates-source]
name=AnolisOS-$releasever - updates Source
baseurl=https://mirrors.openanolis.cn/anolis/$releasever/updates/source/
enabled=0
gpgkey=https://mirrors.openanolis.cn/anolis/RPM-GPG-KEY-ANOLIS
gpgcheck=1
[kernel-source]
name=AnolisOS-$releasever - kernel-6 Source
baseurl=https://mirrors.openanolis.cn/anolis/$releasever/kernel-6/source/
enabled=0
gpgkey=https://mirrors.openanolis.cn/anolis/RPM-GPG-KEY-ANOLIS
gpgcheck=1
EOF
cat <<'EOF' >$Dir_YumRepos/AnolisOS-Debuginfo.repo
[os-debuginfo]
name=AnolisOS-$releasever - os Debuginfo
baseurl=https://mirrors.openanolis.cn/anolis/$releasever/os/$basearch/debug
enabled=0
gpgkey=https://mirrors.openanolis.cn/anolis/RPM-GPG-KEY-ANOLIS
gpgcheck=1
[updates-debuginfo]
name=AnolisOS-$releasever - updates Debuginfo
baseurl=https://mirrors.openanolis.cn/anolis/$releasever/updates/$basearch/debug
enabled=0
gpgkey=https://mirrors.openanolis.cn/anolis/RPM-GPG-KEY-ANOLIS
gpgcheck=1
[kernel-6-debuginfo]
name=AnolisOS-$releasever - kernel-6 Debuginfo
baseurl=https://mirrors.openanolis.cn/anolis/$releasever/kernel-6/$basearch/debug
enabled=0
gpgkey=https://mirrors.openanolis.cn/anolis/RPM-GPG-KEY-ANOLIS
gpgcheck=1
EOF
;;
8)
cat <<'EOF' >$Dir_YumRepos/AnolisOS-AppStream.repo
[AppStream]
name=AnolisOS-$releasever - AppStream
baseurl=http://mirrors.openanolis.cn/anolis/$releasever/AppStream/$basearch/os
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ANOLIS
gpgcheck=1
EOF
cat <<'EOF' >$Dir_YumRepos/AnolisOS-BaseOS.repo
[BaseOS]
name=AnolisOS-$releasever - BaseOS
baseurl=http://mirrors.openanolis.cn/anolis/$releasever/BaseOS/$basearch/os
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ANOLIS
gpgcheck=1
EOF
cat <<'EOF' >$Dir_YumRepos/AnolisOS-DDE.repo
[DDE]
name=AnolisOS-$releasever - DDE
baseurl=http://mirrors.openanolis.cn/anolis/$releasever/DDE/$basearch/os
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ANOLIS
gpgcheck=1
EOF
cat <<'EOF' >$Dir_YumRepos/AnolisOS-Debuginfo.repo
[AppStream-debuginfo]
name=AnolisOS-$releasever - AppStream Debuginfo
baseurl=https://mirrors.openanolis.cn/anolis/$releasever/AppStream/$basearch/debug
enabled=0
gpgkey=https://mirrors.openanolis.cn/anolis/RPM-GPG-KEY-ANOLIS
gpgcheck=1
[BaseOS-debuginfo]
name=AnolisOS-$releasever - BaseOS Debuginfo
baseurl=https://mirrors.openanolis.cn/anolis/$releasever/BaseOS/$basearch/debug
enabled=0
gpgkey=https://mirrors.openanolis.cn/anolis/RPM-GPG-KEY-ANOLIS
gpgcheck=1
[Plus-debuginfo]
name=AnolisOS-$releasever - Plus Debuginfo
baseurl=https://mirrors.openanolis.cn/anolis/$releasever/Plus/$basearch/debug
enabled=0
gpgkey=https://mirrors.openanolis.cn/anolis/RPM-GPG-KEY-ANOLIS
gpgcheck=1
[PowerTools-debuginfo]
name=AnolisOS-$releasever - PowerTools Debuginfo
baseurl=https://mirrors.openanolis.cn/anolis/$releasever/PowerTools/$basearch/debug
enabled=0
gpgkey=https://mirrors.openanolis.cn/anolis/RPM-GPG-KEY-ANOLIS
gpgcheck=1
[DDE-debuginfo]
name=AnolisOS-$releasever - DDE Debuginfo
baseurl=https://mirrors.openanolis.cn/anolis/$releasever/DDE/$basearch/debug
enabled=0
gpgkey=https://mirrors.openanolis.cn/anolis/RPM-GPG-KEY-ANOLIS
gpgcheck=1
EOF
cat <<'EOF' >$Dir_YumRepos/AnolisOS-Extras.repo
[Extras]
name=AnolisOS-$releasever - Extras
baseurl=http://mirrors.openanolis.cn/anolis/$releasever/Extras/$basearch/os
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ANOLIS
gpgcheck=1
EOF
cat <<'EOF' >$Dir_YumRepos/AnolisOS-HighAvailability.repo
[HighAvailability]
name=AnolisOS-$releasever - HighAvailability
baseurl=http://mirrors.openanolis.cn/anolis/$releasever/HighAvailability/$basearch/os
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ANOLIS
gpgcheck=1
EOF
if [[ "${1#*.}" -ge 8 ]]; then
cat <<'EOF' >$Dir_YumRepos/AnolisOS-kernel-5.10.repo
[kernel-5.10]
name=AnolisOS-$releasever - Kernel 5.10
baseurl=http://mirrors.openanolis.cn/anolis/$releasever/kernel-5.10/$basearch/os
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ANOLIS
gpgcheck=1
[kernel-5.10-source]
name=AnolisOS-$releasever - Kernel 5.10 source
baseurl=http://mirrors.openanolis.cn/anolis/$releasever/kernel-5.10/source
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ANOLIS
gpgcheck=1
[kernel-5.10-debug]
name=AnolisOS-$releasever - Kernel 5.10 debug
baseurl=http://mirrors.openanolis.cn/anolis/$releasever/kernel-5.10/$basearch/debug
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ANOLIS
gpgcheck=1
EOF
fi
cat <<'EOF' >$Dir_YumRepos/AnolisOS-Plus.repo
[Plus]
name=AnolisOS-$releasever - Plus
baseurl=http://mirrors.openanolis.cn/anolis/$releasever/Plus/$basearch/os
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ANOLIS
gpgcheck=1
EOF
cat <<'EOF' >$Dir_YumRepos/AnolisOS-PowerTools.repo
[PowerTools]
name=AnolisOS-$releasever - PowerTools
baseurl=http://mirrors.openanolis.cn/anolis/$releasever/PowerTools/$basearch/os
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ANOLIS
gpgcheck=1
EOF
cat <<'EOF' >$Dir_YumRepos/AnolisOS-Source.repo
[AppStream-source]
name=AnolisOS-$releasever - AppStream Source
baseurl=https://mirrors.openanolis.cn/anolis/$releasever/AppStream/source/
enabled=0
gpgkey=https://mirrors.openanolis.cn/anolis/RPM-GPG-KEY-ANOLIS
gpgcheck=1
[BaseOS-source]
name=AnolisOS-$releasever - BaseOS Source
baseurl=https://mirrors.openanolis.cn/anolis/$releasever/BaseOS/source/
enabled=0
gpgkey=https://mirrors.openanolis.cn/anolis/RPM-GPG-KEY-ANOLIS
gpgcheck=1
[Plus-source]
name=AnolisOS-$releasever - Plus Source
baseurl=https://mirrors.openanolis.cn/anolis/$releasever/Plus/source/
enabled=0
gpgkey=https://mirrors.openanolis.cn/anolis/RPM-GPG-KEY-ANOLIS
gpgcheck=1
[PowerTools-source]
name=AnolisOS-$releasever - PowerTools Source
baseurl=https://mirrors.openanolis.cn/anolis/$releasever/PowerTools/source/
enabled=0
gpgkey=https://mirrors.openanolis.cn/anolis/RPM-GPG-KEY-ANOLIS
gpgcheck=1
[DDE-source]
name=AnolisOS-$releasever - DDE Source
baseurl=https://mirrors.openanolis.cn/anolis/$releasever/DDE/source/
enabled=0
gpgkey=https://mirrors.openanolis.cn/anolis/RPM-GPG-KEY-ANOLIS
gpgcheck=1
2024-10-24 01:55:14 +08:00
EOF
;;
esac
}
2024-12-13 21:50:49 +08:00
## 生成 openSUSE repo 源文件
function gen_repo_files_openSUSE() {
2023-05-25 06:44:54 +08:00
case "$1" in
"leap")
2023-05-25 06:44:54 +08:00
case "$2" in
2023-05-01 16:27:11 +08:00
15.[0-2])
cat <<'EOF' >$Dir_ZYppRepos/repo-debug-non-oss.repo
2023-05-01 16:27:11 +08:00
[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 <<'EOF' >$Dir_ZYppRepos/repo-debug.repo
2023-05-01 16:27:11 +08:00
[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 <<'EOF' >$Dir_ZYppRepos/repo-debug-update-non-oss.repo
2023-05-01 16:27:11 +08:00
[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 <<'EOF' >$Dir_ZYppRepos/repo-debug-update.repo
2023-05-01 16:27:11 +08:00
[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 <<'EOF' >$Dir_ZYppRepos/repo-non-oss.repo
2023-05-01 16:27:11 +08:00
[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 <<'EOF' >$Dir_ZYppRepos/repo-oss.repo
2023-05-01 16:27:11 +08:00
[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 <<'EOF' >$Dir_ZYppRepos/repo-source-non-oss.repo
2023-05-01 16:27:11 +08:00
[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 <<'EOF' >$Dir_ZYppRepos/repo-source.repo
2023-05-01 16:27:11 +08:00
[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 <<'EOF' >$Dir_ZYppRepos/repo-update-non-oss.repo
2023-05-01 16:27:11 +08:00
[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 <<'EOF' >$Dir_ZYppRepos/repo-update.repo
2023-05-01 16:27:11 +08:00
[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 <<'EOF' >$Dir_ZYppRepos/repo-backports-debug-update.repo
2023-05-01 16:27:11 +08:00
[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 <<'EOF' >$Dir_ZYppRepos/repo-backports-update.repo
2023-05-01 16:27:11 +08:00
[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 <<'EOF' >$Dir_ZYppRepos/repo-debug-non-oss.repo
2023-05-01 16:27:11 +08:00
[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 <<'EOF' >$Dir_ZYppRepos/repo-debug.repo
2023-05-01 16:27:11 +08:00
[repo-debug]
name=Debug Repository
enabled=0
autorefresh=1
baseurl=http://download.opensuse.org/debug/distribution/leap/$releasever/repo/oss/
keeppackages=0
EOF
cat <<'EOF' >$Dir_ZYppRepos/repo-debug-update-non-oss.repo
2023-05-01 16:27:11 +08:00
[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 <<'EOF' >$Dir_ZYppRepos/repo-debug-update.repo
2023-05-01 16:27:11 +08:00
[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 <<'EOF' >$Dir_ZYppRepos/repo-non-oss.repo
2023-05-01 16:27:11 +08:00
[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
2024-11-14 21:57:28 +08:00
EOF
cat <<'EOF' >$Dir_ZYppRepos/repo-openh264.repo
2024-11-14 21:57:28 +08:00
[repo-openh264]
name=Open H.264 Codec (openSUSE Leap)
enabled=1
autorefresh=1
baseurl=http://codecs.opensuse.org/openh264/openSUSE_Leap/
type=rpm-md
keeppackages=0
2023-05-01 16:27:11 +08:00
EOF
cat <<'EOF' >$Dir_ZYppRepos/repo-oss.repo
2023-05-01 16:27:11 +08:00
[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 <<'EOF' >$Dir_ZYppRepos/repo-sle-debug-update.repo
2023-05-01 16:27:11 +08:00
[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 <<'EOF' >$Dir_ZYppRepos/repo-sle-update.repo
2023-05-01 16:27:11 +08:00
[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 <<'EOF' >$Dir_ZYppRepos/repo-source.repo
2023-05-01 16:27:11 +08:00
[repo-source]
name=Source Repository
enabled=0
autorefresh=1
baseurl=http://download.opensuse.org/source/distribution/leap/$releasever/repo/oss/
keeppackages=0
EOF
cat <<'EOF' >$Dir_ZYppRepos/repo-update-non-oss.repo
2023-05-01 16:27:11 +08:00
[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 <<'EOF' >$Dir_ZYppRepos/repo-update.repo
2023-05-01 16:27:11 +08:00
[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 <<'EOF' >$Dir_ZYppRepos/repo-debug.repo
2023-05-01 16:27:11 +08:00
[repo-debug]
name=openSUSE-Tumbleweed-Debug
enabled=0
autorefresh=1
baseurl=http://download.opensuse.org/debug/tumbleweed/repo/oss/
path=/
keeppackages=0
EOF
cat <<'EOF' >$Dir_ZYppRepos/repo-non-oss.repo
2023-05-01 16:27:11 +08:00
[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 <<'EOF' >$Dir_ZYppRepos/repo-openh264.repo
2023-05-01 16:27:11 +08:00
[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 <<'EOF' >$Dir_ZYppRepos/repo-oss.repo
2023-05-01 16:27:11 +08:00
[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 <<'EOF' >$Dir_ZYppRepos/repo-source.repo
2023-05-01 16:27:11 +08:00
[repo-source]
name=openSUSE-Tumbleweed-Source
enabled=0
autorefresh=1
baseurl=http://download.opensuse.org/source/tumbleweed/repo/oss/
path=/
keeppackages=0
EOF
cat <<'EOF' >$Dir_ZYppRepos/repo-update.repo
2023-05-01 16:27:11 +08:00
[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
}
2024-12-13 21:50:49 +08:00
## 生成 EPEL 附加软件包 repo 源文件
function gen_repo_files_EPEL() {
case "${1}" in
10)
cat <<'EOF' >$Dir_YumRepos/epel.repo
[epel]
name=Extra Packages for Enterprise Linux $releasever - $basearch
#baseurl=https://download.example/pub/epel/$releasever_major${releasever_minor:+.$releasever_minor}/Everything/$basearch/
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-$releasever_major${releasever_minor:+.$releasever_minor}&arch=$basearch
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever_major
gpgcheck=1
repo_gpgcheck=0
metadata_expire=24h
countme=1
enabled=1
[epel-debuginfo]
name=Extra Packages for Enterprise Linux $releasever - $basearch - Debug
#baseurl=https://download.example/pub/epel/$releasever_major${releasever_minor:+.$releasever_minor}/Everything/$basearch/debug/
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-$releasever_major${releasever_minor:+.$releasever_minor}&arch=$basearch
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever_major
gpgcheck=1
repo_gpgcheck=0
metadata_expire=24h
enabled=0
[epel-source]
name=Extra Packages for Enterprise Linux $releasever - $basearch - Source
#baseurl=https://download.example/pub/epel/$releasever_major${releasever_minor:+.$releasever_minor}/Everything/source/tree/
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-source-$releasever_major${releasever_minor:+.$releasever_minor}&arch=$basearch
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever_major
gpgcheck=1
repo_gpgcheck=0
metadata_expire=24h
enabled=0
EOF
cat <<'EOF' >$Dir_YumRepos/epel-testing.repo
[epel-testing]
name=Extra Packages for Enterprise Linux $releasever - Testing - $basearch
#baseurl=https://download.example/pub/epel/testing/$releasever_major${releasever_minor:+.$releasever_minor}/Everything/$basearch/
metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-epel$releasever_major${releasever_minor:+.$releasever_minor}&arch=$basearch
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever_major
gpgcheck=1
repo_gpgcheck=0
metadata_expire=24h
countme=1
enabled=0
[epel-testing-debuginfo]
name=Extra Packages for Enterprise Linux $releasever - Testing - $basearch - Debug
#baseurl=https://download.example/pub/epel/testing/$releasever_major${releasever_minor:+.$releasever_minor}/Everything/$basearch/debug/
metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-debug-epel$releasever_major${releasever_minor:+.$releasever_minor}&arch=$basearch
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever_major
gpgcheck=1
repo_gpgcheck=0
metadata_expire=24h
enabled=0
[epel-testing-source]
name=Extra Packages for Enterprise Linux $releasever - Testing - $basearch - Source
#baseurl=https://download.example/pub/epel/testing/$releasever_major${releasever_minor:+.$releasever_minor}/Everything/source/tree/
metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-source-epel$releasever_major${releasever_minor:+.$releasever_minor}&arch=$basearch
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever_major
gpgcheck=1
repo_gpgcheck=0
metadata_expire=24h
enabled=0
EOF
;;
9)
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/epel.repo
[epel]
name=Extra Packages for Enterprise Linux $releasever - $basearch
#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
#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
#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
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/epel-testing.repo
[epel-testing]
name=Extra Packages for Enterprise Linux $releasever - Testing - $basearch
#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
#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
#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
2024-07-26 19:05:33 +08:00
## 此仓库特殊,默认不启用
cat <<'EOF' >$Dir_YumRepos/epel-cisco-openh264.repo
2024-01-31 22:39:05 +08:00
[epel-cisco-openh264]
name=Extra Packages for Enterprise Linux $releasever openh264 (From Cisco) - $basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-cisco-openh264-$releasever&arch=$basearch
type=rpm
2024-07-26 19:05:33 +08:00
enabled=0
2024-01-31 22:39:05 +08:00
metadata_expire=14d
repo_gpgcheck=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
skip_if_unavailable=True
[epel-cisco-openh264-debuginfo]
name=Extra Packages for Enterprise Linux $releasever openh264 (From Cisco) - $basearch - Debug
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-cisco-openh264-debug-$releasever&arch=$basearch
type=rpm
2021-10-08 00:03:44 +08:00
enabled=0
2024-01-31 22:39:05 +08:00
metadata_expire=14d
repo_gpgcheck=0
2021-10-08 00:03:44 +08:00
gpgcheck=1
2024-01-31 22:39:05 +08:00
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
skip_if_unavailable=True
[epel-cisco-openh264-source]
name=Extra Packages for Enterprise Linux $releasever openh264 (From Cisco) - $basearch - Source
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-cisco-openh264-source-$releasever&arch=$basearch
type=rpm
enabled=0
metadata_expire=14d
repo_gpgcheck=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
skip_if_unavailable=True
EOF
;;
8)
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/epel.repo
2024-01-31 22:39:05 +08:00
[epel]
name=Extra Packages for Enterprise Linux 8 - $basearch
#baseurl=https://download.example/pub/epel/8/Everything/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-8&arch=$basearch&infra=$infra&content=$contentdir
enabled=1
gpgcheck=1
countme=1
2021-10-08 00:03:44 +08:00
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
2024-01-31 22:39:05 +08:00
[epel-debuginfo]
name=Extra Packages for Enterprise Linux 8 - $basearch - Debug
#baseurl=https://download.example/pub/epel/8/Everything/$basearch/debug
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-8&arch=$basearch&infra=$infra&content=$contentdir
2021-10-08 00:03:44 +08:00
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
gpgcheck=1
2024-01-31 22:39:05 +08:00
[epel-source]
name=Extra Packages for Enterprise Linux 8 - $basearch - Source
#baseurl=https://download.example/pub/epel/8/Everything/source/tree/
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-source-8&arch=$basearch&infra=$infra&content=$contentdir
2021-10-08 00:03:44 +08:00
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
gpgcheck=1
EOF
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/epel-testing.repo
2021-10-08 00:03:44 +08:00
[epel-testing]
2024-01-31 22:39:05 +08:00
name=Extra Packages for Enterprise Linux 8 - Testing - $basearch
#baseurl=https://download.example/pub/epel/testing/8/Everything/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-epel8&arch=$basearch&infra=$infra&content=$contentdir
2021-10-08 00:03:44 +08:00
enabled=0
gpgcheck=1
2024-01-31 22:39:05 +08:00
countme=1
2021-10-08 00:03:44 +08:00
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
[epel-testing-debuginfo]
2024-01-31 22:39:05 +08:00
name=Extra Packages for Enterprise Linux 8 - Testing - $basearch - Debug
#baseurl=https://download.example/pub/epel/testing/8/Everything/$basearch/debug
metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-debug-epel8&arch=$basearch&infra=$infra&content=$contentdir
2021-10-08 00:03:44 +08:00
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
gpgcheck=1
[epel-testing-source]
2024-01-31 22:39:05 +08:00
name=Extra Packages for Enterprise Linux 8 - Testing - $basearch - Source
#baseurl=https://download.example/pub/epel/testing/8/Everything/source/tree/
metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-source-epel8&arch=$basearch&infra=$infra&content=$contentdir
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
gpgcheck=1
EOF
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/epel-modular.repo
2024-01-31 22:39:05 +08:00
[epel-modular]
name=Extra Packages for Enterprise Linux Modular 8 - $basearch - RETIRED
#baseurl=https://download.example/pub/epel/8/Modular/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-modular-8&arch=$basearch&infra=$infra&content=$contentdir
enabled=0
gpgcheck=1
countme=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
[epel-modular-debuginfo]
name=Extra Packages for Enterprise Linux Modular 8 - $basearch - Debug - RETIRED
#baseurl=https://download.example/pub/epel/8/Modular/$basearch/debug
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-modular-debug-8&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 8 - $basearch - Source - RETIRED
#baseurl=https://download.example/pub/epel/8/Modular/source/tree/
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-modular-source-8&arch=$basearch&infra=$infra&content=$contentdir
2021-10-08 00:03:44 +08:00
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
gpgcheck=1
EOF
2024-07-26 19:05:33 +08:00
cat <<'EOF' >$Dir_YumRepos/epel-testing-modular.repo
2021-10-08 00:03:44 +08:00
[epel-testing-modular]
2024-01-31 22:39:05 +08:00
name=Extra Packages for Enterprise Linux Modular 8 - Testing - $basearch - RETIRED
#baseurl=https://download.example/pub/epel/testing/8/Modular/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-modular-epel8&arch=$basearch&infra=$infra&content=$contentdir
2021-10-08 00:03:44 +08:00
enabled=0
gpgcheck=1
2024-01-31 22:39:05 +08:00
countme=1
2021-10-08 00:03:44 +08:00
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
[epel-testing-modular-debuginfo]
2024-01-31 22:39:05 +08:00
name=Extra Packages for Enterprise Linux Modular 8 - Testing - $basearch - Debug - RETIRED
#baseurl=https://download.example/pub/epel/testing/8/Modular/$basearch/debug
metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-modular-debug-epel8&arch=$basearch&infra=$infra&content=$contentdir
2021-10-08 00:03:44 +08:00
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
gpgcheck=1
[epel-testing-modular-source]
2024-01-31 22:39:05 +08:00
name=Extra Packages for Enterprise Linux Modular 8 - Testing - $basearch - Source - RETIRED
#baseurl=https://download.example/pub/epel/testing/8/Modular/source/tree/
metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-modular-source-epel8&arch=$basearch&infra=$infra&content=$contentdir
2021-10-08 00:03:44 +08:00
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
gpgcheck=1
EOF
;;
7)
cat <<'EOF' >$Dir_YumRepos/epel.repo
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.example/pub/epel/7/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch&infra=$infra&content=$contentdir
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.example/pub/epel/7/$basearch/debug
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch&infra=$infra&content=$contentdir
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.example/pub/epel/7/source/tree/
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch&infra=$infra&content=$contentdir
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1
EOF
cat <<'EOF' >$Dir_YumRepos/epel-testing.repo
[epel-testing]
name=Extra Packages for Enterprise Linux 7 - Testing - $basearch
#baseurl=http://download.example/pub/epel/testing/7/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-epel7&arch=$basearch&infra=$infra&content=$contentdir
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.example/pub/epel/testing/7/$basearch/debug
metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-debug-epel7&arch=$basearch&infra=$infra&content=$contentdir
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.example/pub/epel/testing/7/source/tree/
metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-source-epel7&arch=$basearch&infra=$infra&content=$contentdir
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1
EOF
;;
2024-05-19 14:56:02 +08:00
esac
}
## 生成 EPEL 附加软件包 NEXT repo 源文件
function gen_repo_files_EPEL_NEXT() {
case "${1}" in
9)
cat <<'EOF' >$Dir_YumRepos/epel-next.repo
[epel-next]
name=Extra Packages for Enterprise Linux 9 - Next - $basearch
#baseurl=https://download.example/pub/epel/next/9/Everything/$basearch/
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-next-9&arch=$basearch&infra=$infra&content=$contentdir
enabled=1
gpgcheck=1
countme=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-9
[epel-next-debuginfo]
name=Extra Packages for Enterprise Linux 9 - Next - $basearch - Debug
#baseurl=https://download.example/pub/epel/next/9/Everything/$basearch/debug/
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-next-debug-9&arch=$basearch&infra=$infra&content=$contentdir
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-9
gpgcheck=1
[epel-next-source]
name=Extra Packages for Enterprise Linux 9 - Next - $basearch - Source
#baseurl=https://download.example/pub/epel/next/9/Everything/source/tree/
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-next-source-9&arch=$basearch&infra=$infra&content=$contentdir
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-9
gpgcheck=1
EOF
cat <<'EOF' >$Dir_YumRepos/epel-next-testing.repo
[epel-next-testing]
name=Extra Packages for Enterprise Linux 9 - Next - Testing - $basearch
#baseurl=https://download.example/pub/epel/testing/next/9/Everything/$basearch/
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-testing-next-9&arch=$basearch&infra=$infra&content=$contentdir
enabled=0
gpgcheck=1
countme=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-9
[epel-next-testing-debuginfo]
name=Extra Packages for Enterprise Linux 9 - Next - Testing - $basearch - Debug
#baseurl=https://download.example/pub/epel/testing/next/9/Everything/$basearch/debug/
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-testing-next-debug-9&arch=$basearch&infra=$infra&content=$contentdir
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-9
gpgcheck=1
[epel-next-testing-source]
name=Extra Packages for Enterprise Linux 9 - Next - Testing - $basearch - Source
#baseurl=https://download.example/pub/epel/testing/next/9/Everything/source/tree/
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-testing-next-source-9&arch=$basearch&infra=$infra&content=$contentdir
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-9
gpgcheck=1
EOF
;;
esac
}
2024-05-19 14:56:02 +08:00
##############################################################################
handle_command_options "$@"
main