语法格式化 #33

This commit is contained in:
SuperManito
2023-10-20 10:44:31 +08:00
parent cdb14b2fed
commit 5ef4d4e2d4

View File

@@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
## Author: SuperManito ## Author: SuperManito
## Modified: 2023-10-14 ## Modified: 2023-10-20
## License: MIT ## License: MIT
## GitHub: https://github.com/SuperManito/LinuxMirrors ## GitHub: https://github.com/SuperManito/LinuxMirrors
## Website: https://linuxmirrors.cn ## Website: https://linuxmirrors.cn
@@ -307,13 +307,11 @@ function EnvJudgment() {
SYSTEM_VERSION_CODENAME="${DEBIAN_CODENAME:-"$(lsb_release -cs)"}" SYSTEM_VERSION_CODENAME="${DEBIAN_CODENAME:-"$(lsb_release -cs)"}"
;; ;;
"${SYSTEM_REDHAT}") "${SYSTEM_REDHAT}")
SYSTEM_JUDGMENT="$(cat $File_RedHatRelease | awk -F ' ' '{printf$1}')" SYSTEM_JUDGMENT="$(awk '{printf $1}' $File_RedHatRelease)"
## Red Hat Enterprise Linux ## Red Hat Enterprise Linux
cat $File_RedHatRelease | grep -q "${SYSTEM_RHEL}" grep -q "${SYSTEM_RHEL}" $File_RedHatRelease && SYSTEM_JUDGMENT="${SYSTEM_RHEL}"
[ $? -eq 0 ] && SYSTEM_JUDGMENT="${SYSTEM_RHEL}"
## CentOS Stream ## CentOS Stream
cat $File_RedHatRelease | grep -q "${SYSTEM_CENTOS_STREAM}" grep -q "${SYSTEM_CENTOS_STREAM}" $File_RedHatRelease && SYSTEM_JUDGMENT="${SYSTEM_CENTOS_STREAM}"
[ $? -eq 0 ] && SYSTEM_JUDGMENT="${SYSTEM_CENTOS_STREAM}"
;; ;;
"${SYSTEM_OPENCLOUDOS}") "${SYSTEM_OPENCLOUDOS}")
SYSTEM_JUDGMENT="${SYSTEM_OPENCLOUDOS}" SYSTEM_JUDGMENT="${SYSTEM_OPENCLOUDOS}"
@@ -406,8 +404,9 @@ function EnvJudgment() {
esac esac
## 定义软件源分支名称 ## 定义软件源分支名称
if [[ -z "${SOURCE_BRANCH}" ]]; then if [[ -z "${SOURCE_BRANCH}" ]]; then
## 默认为系统名称小写 ## 默认为系统名称小写,替换空格
SOURCE_BRANCH="$(echo "${SYSTEM_JUDGMENT,,}" | sed "s/ /-/g")" SOURCE_BRANCH="${SYSTEM_JUDGMENT,,}"
SOURCE_BRANCH="${SOURCE_BRANCH// /-}"
## 处理特殊 ## 处理特殊
case "${SYSTEM_JUDGMENT}" in case "${SYSTEM_JUDGMENT}" in
"${SYSTEM_DEBIAN}") "${SYSTEM_DEBIAN}")
@@ -491,7 +490,8 @@ function ChooseMirrors() {
echo -e '' echo -e ''
local list_arr=() local list_arr=()
local list_arr_sum="$(eval echo \${#$1[@]})" local list_arr_sum
list_arr_sum="$(eval echo \${#$1[@]})"
for ((a = 0; a < $list_arr_sum; a++)); do for ((a = 0; a < $list_arr_sum; a++)); do
list_arr[$a]="$(eval echo \${$1[a]})" list_arr[$a]="$(eval echo \${$1[a]})"
done done
@@ -507,13 +507,13 @@ function ChooseMirrors() {
[[ $(echo "${tmp_mirror_name}" | grep -c "") -gt 0 ]] && let default_mirror_name_length+=$(echo "${tmp_mirror_name}" | grep -c "") [[ $(echo "${tmp_mirror_name}" | grep -c "") -gt 0 ]] && let default_mirror_name_length+=$(echo "${tmp_mirror_name}" | grep -c "")
[[ $(echo "${tmp_mirror_name}" | grep -c "") -gt 0 ]] && let default_mirror_name_length+=$(echo "${tmp_mirror_name}" | grep -c "") [[ $(echo "${tmp_mirror_name}" | grep -c "") -gt 0 ]] && let default_mirror_name_length+=$(echo "${tmp_mirror_name}" | grep -c "")
# 非一般字符长度 # 非一般字符长度
tmp_mirror_name_length=$(StringLength $(echo "${tmp_mirror_name}" | sed "s| ||g" | sed "s|[0-9a-zA-Z\.\=\:\_\(\)\'\"-\/\!·]||g;")) tmp_mirror_name_length=$(StringLength "$(echo "${tmp_mirror_name// /}" | sed "s|[0-9a-zA-Z\.\=\:\_\(\)\'\"-\/\!·]||g;")")
## 填充空格 ## 填充空格
tmp_spaces_nums=$(($(($default_mirror_name_length - ${tmp_mirror_name_length} - $(StringLength "${tmp_mirror_name}"))) / 2)) 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 for ((j = 1; j <= ${tmp_spaces_nums}; j++)); do
tmp_mirror_name="${tmp_mirror_name} " tmp_mirror_name="${tmp_mirror_name} "
done done
printf " ❖ %-$(($default_mirror_name_length + ${tmp_mirror_name_length}))s %4s\n" "${tmp_mirror_name}" "$arr_num)" printf " ❖ %-$((default_mirror_name_length + tmp_mirror_name_length))s %4s\n" "${tmp_mirror_name}" "$arr_num)"
done done
else else
for ((i = 0; i < ${#list_arr[@]}; i++)); do for ((i = 0; i < ${#list_arr[@]}; i++)); do
@@ -543,8 +543,9 @@ function ChooseMirrors() {
fi fi
done done
if [[ -z "${USE_INTRANET_SOURCE}" ]]; then if [[ -z "${USE_INTRANET_SOURCE}" ]]; then
local CHOICE=$(echo -e "\n${BOLD}└─ 默认使用软件源的公网地址,是否继续? [Y/n] ${PLAIN}") local CHOICE
read -p "${CHOICE}" INPUT CHOICE=$(echo -e "\n${BOLD}└─ 默认使用软件源的公网地址,是否继续? [Y/n] ${PLAIN}")
read -rp "${CHOICE}" INPUT
[[ -z "${INPUT}" ]] && INPUT=Y [[ -z "${INPUT}" ]] && INPUT=Y
case "${INPUT}" in case "${INPUT}" in
[Yy] | [Yy][Ee][Ss]) ;; [Yy] | [Yy][Ee][Ss]) ;;
@@ -563,13 +564,14 @@ function ChooseMirrors() {
function Title() { function Title() {
local system_name="${SYSTEM_PRETTY_NAME:-"${SYSTEM_NAME} ${SYSTEM_VERSION_NUMBER}"}" local system_name="${SYSTEM_PRETTY_NAME:-"${SYSTEM_NAME} ${SYSTEM_VERSION_NUMBER}"}"
local arch=""${DEVICE_ARCH}"" local arch="${DEVICE_ARCH}"
local date="$(date "+%Y-%m-%d %H:%M:%S")" local date_time time_zone
local timezone="$(timedatectl status 2>/dev/null | grep "Time zone" | awk -F ':' '{print$2}' | awk -F ' ' '{print$1}')" date_time="$(date "+%Y-%m-%d %H:%M:%S")"
time_zone="$(timedatectl status 2>/dev/null | grep "Time zone" | awk -F ':' '{print$2}' | awk -F ' ' '{print$1}')"
echo -e '' echo -e ''
echo -e " 运行环境 ${BLUE}${system_name} ${arch}${PLAIN}" echo -e " 运行环境 ${BLUE}${system_name} ${arch}${PLAIN}"
echo -e " 系统时间 ${BLUE}${date} ${timezone}${PLAIN}" echo -e " 系统时间 ${BLUE}${date_time} ${time_zone}${PLAIN}"
} }
Title Title
@@ -590,16 +592,18 @@ function ChooseMirrors() {
PrintMirrorsList "${mirror_list_name}" 31 PrintMirrorsList "${mirror_list_name}" 31
fi fi
local CHOICE=$(echo -e "\n${BOLD}└─ 请选择并输入你想使用的软件源 [ 1-$(eval echo \${#$mirror_list_name[@]}) ]${PLAIN}") local CHOICE
CHOICE=$(echo -e "\n${BOLD}└─ 请选择并输入你想使用的软件源 [ 1-$(eval echo \${#$mirror_list_name[@]}) ]${PLAIN}")
while true; do while true; do
read -p "${CHOICE}" INPUT read -rp "${CHOICE}" INPUT
case "${INPUT}" in case "${INPUT}" in
[1-9] | [1-9][0-9] | [1-9][0-9][0-9]) [1-9] | [1-9][0-9] | [1-9][0-9][0-9])
local tmp_source="$(eval echo \${${mirror_list_name}[$(($INPUT - 1))]})" local tmp_source
tmp_source="$(eval echo \${${mirror_list_name}[$((INPUT - 1))]})"
if [[ -z "${tmp_source}" ]]; then if [[ -z "${tmp_source}" ]]; then
echo -e "\n$WARN 请输入有效的数字序号!" echo -e "\n$WARN 请输入有效的数字序号!"
else else
SOURCE="$(eval echo \${${mirror_list_name}[$(($INPUT - 1))]} | awk -F '@' '{print$2}')" SOURCE="$(eval echo \${${mirror_list_name}[$((INPUT - 1))]} | awk -F '@' '{print$2}')"
# echo "${SOURCE}" # echo "${SOURCE}"
# exit # exit
break break
@@ -624,8 +628,9 @@ function ChooseWebProtocol() {
if [[ "${ONLY_HTTP}" == "True" ]]; then if [[ "${ONLY_HTTP}" == "True" ]]; then
WEB_PROTOCOL="http" WEB_PROTOCOL="http"
else else
local CHOICE=$(echo -e "\n${BOLD}└─ 软件源是否使用 HTTP 协议? [Y/n] ${PLAIN}") local CHOICE
read -p "${CHOICE}" INPUT CHOICE=$(echo -e "\n${BOLD}└─ 软件源是否使用 HTTP 协议? [Y/n] ${PLAIN}")
read -rp "${CHOICE}" INPUT
[[ -z "${INPUT}" ]] && INPUT=Y [[ -z "${INPUT}" ]] && INPUT=Y
case "${INPUT}" in case "${INPUT}" in
[Yy] | [Yy][Ee][Ss]) [Yy] | [Yy][Ee][Ss])
@@ -664,11 +669,13 @@ function ChooseInstallEPEL() {
"${SYSTEM_RHEL}" | "${SYSTEM_CENTOS}" | "${SYSTEM_CENTOS_STREAM}" | "${SYSTEM_ROCKY}" | "${SYSTEM_ALMALINUX}" | "${SYSTEM_OPENCLOUDOS}") "${SYSTEM_RHEL}" | "${SYSTEM_CENTOS}" | "${SYSTEM_CENTOS_STREAM}" | "${SYSTEM_ROCKY}" | "${SYSTEM_ALMALINUX}" | "${SYSTEM_OPENCLOUDOS}")
Check Check
if [ ${VERIFICATION_EPEL} -eq 0 ]; then if [ ${VERIFICATION_EPEL} -eq 0 ]; then
local CHOICE=$(echo -e "\n${BOLD}└─ 检测到系统已安装 EPEL 附加软件包,是否替换/覆盖软件源? [Y/n] ${PLAIN}") local CHOICE
CHOICE=$(echo -e "\n${BOLD}└─ 检测到系统已安装 EPEL 附加软件包,是否替换/覆盖软件源? [Y/n] ${PLAIN}")
else else
local CHOICE=$(echo -e "\n${BOLD}└─ 是否安装 EPEL 附加软件包? [Y/n] ${PLAIN}") local CHOICE
CHOICE=$(echo -e "\n${BOLD}└─ 是否安装 EPEL 附加软件包? [Y/n] ${PLAIN}")
fi fi
read -p "${CHOICE}" INPUT read -rp "${CHOICE}" INPUT
[[ -z "${INPUT}" ]] && INPUT=Y [[ -z "${INPUT}" ]] && INPUT=Y
case "${INPUT}" in case "${INPUT}" in
[Yy] | [Yy][Ee][Ss]) [Yy] | [Yy][Ee][Ss])
@@ -703,8 +710,9 @@ function CloseFirewall() {
if [[ "${CLOSE_FIREWALL}" == "true" ]]; then if [[ "${CLOSE_FIREWALL}" == "true" ]]; then
Main Main
elif [[ -z "${CLOSE_FIREWALL}" ]]; then elif [[ -z "${CLOSE_FIREWALL}" ]]; then
local CHOICE=$(echo -e "\n${BOLD}└─ 是否关闭防火墙和 SELinux ? [Y/n] ${PLAIN}") local CHOICE
read -p "${CHOICE}" INPUT CHOICE=$(echo -e "\n${BOLD}└─ 是否关闭防火墙和 SELinux ? [Y/n] ${PLAIN}")
read -rp "${CHOICE}" INPUT
[[ -z "${INPUT}" ]] && INPUT=Y [[ -z "${INPUT}" ]] && INPUT=Y
case "${INPUT}" in case "${INPUT}" in
[Yy] | [Yy][Ee][Ss]) [Yy] | [Yy][Ee][Ss])
@@ -727,17 +735,18 @@ function BackupOriginMirrors() {
local backup_file=$2 local backup_file=$2
local type="$3" local type="$3"
if [ -s $target_file ]; then if [ -s "$target_file" ]; then
if [ -s $backup_file ]; then if [ -s "$backup_file" ]; then
if [[ "${IGNORE_BACKUP_TIPS}" == "false" ]]; then if [[ "${IGNORE_BACKUP_TIPS}" == "false" ]]; then
local CHOICE_BACKUP1=$(echo -e "\n${BOLD}└─ 检测到系统中存在已备份的${type}源文件,是否跳过覆盖备份? [Y/n] ${PLAIN}") local CHOICE_BACKUP1
read -p "${CHOICE_BACKUP1}" INPUT CHOICE_BACKUP1=$(echo -e "\n${BOLD}└─ 检测到系统中存在已备份的${type}源文件,是否跳过覆盖备份? [Y/n] ${PLAIN}")
read -rp "${CHOICE_BACKUP1}" INPUT
[[ -z "${INPUT}" ]] && INPUT=Y [[ -z "${INPUT}" ]] && INPUT=Y
case "${INPUT}" in case "${INPUT}" in
[Yy] | [Yy][Ee][Ss]) ;; [Yy] | [Yy][Ee][Ss]) ;;
[Nn] | [Nn][Oo]) [Nn] | [Nn][Oo])
echo '' echo ''
cp -rvf $target_file $backup_file 2>&1 cp -rvf "$target_file" "$backup_file" 2>&1
BACKUPED="true" BACKUPED="true"
;; ;;
*) *)
@@ -747,13 +756,13 @@ function BackupOriginMirrors() {
fi fi
else else
echo '' echo ''
cp -rvf $target_file $backup_file 2>&1 cp -rvf "$target_file" "$backup_file" 2>&1
BACKUPED="true" BACKUPED="true"
echo -e "\n$COMPLETE 已备份原有${type}源文件" echo -e "\n$COMPLETE 已备份原有${type}源文件"
sleep 1s sleep 1s
fi fi
else else
[ ! -f $target_file ] && touch $target_file [ -f "$target_file" ] || touch "$target_file"
echo -e '' echo -e ''
fi fi
} }
@@ -763,21 +772,22 @@ function BackupOriginMirrors() {
local VERIFICATION_FILES=1 local VERIFICATION_FILES=1
local VERIFICATION_BACKUPFILES=1 local VERIFICATION_BACKUPFILES=1
[ -d $target_dir ] && ls $target_dir | grep '\.repo$' -q [ -d "$target_dir" ] && ls "$target_dir" | grep '\.repo$' -q
VERIFICATION_FILES=$? VERIFICATION_FILES=$?
[ -d $backup_dir ] && ls $backup_dir | grep '\.repo$' -q [ -d "$backup_dir" ] && ls "$backup_dir" | grep '\.repo$' -q
VERIFICATION_BACKUPFILES=$? VERIFICATION_BACKUPFILES=$?
if [ ${VERIFICATION_FILES} -eq 0 ]; then if [ ${VERIFICATION_FILES} -eq 0 ]; then
if [ -d $backup_dir ] && [ ${VERIFICATION_BACKUPFILES} -eq 0 ]; then if [ -d "$backup_dir" ] && [ ${VERIFICATION_BACKUPFILES} -eq 0 ]; then
if [[ "${IGNORE_BACKUP_TIPS}" == "false" ]]; then if [[ "${IGNORE_BACKUP_TIPS}" == "false" ]]; then
local CHOICE_BACKUP3=$(echo -e "\n${BOLD}└─ 检测到系统中存在已备份的 repo 源文件,是否跳过覆盖备份? [Y/n] ${PLAIN}") local CHOICE_BACKUP3
read -p "${CHOICE_BACKUP3}" INPUT CHOICE_BACKUP3=$(echo -e "\n${BOLD}└─ 检测到系统中存在已备份的 repo 源文件,是否跳过覆盖备份? [Y/n] ${PLAIN}")
read -rp "${CHOICE_BACKUP3}" INPUT
[[ -z "${INPUT}" ]] && INPUT=Y [[ -z "${INPUT}" ]] && INPUT=Y
case "${INPUT}" in case "${INPUT}" in
[Yy] | [Yy][Ee][Ss]) ;; [Yy] | [Yy][Ee][Ss]) ;;
[Nn] | [Nn][Oo]) [Nn] | [Nn][Oo])
echo '' echo ''
cp -rvf $target_dir/* $backup_dir 2>&1 cp -rvf "${target_dir}/*" "$backup_dir" 2>&1
BACKUPED="true" BACKUPED="true"
;; ;;
*) *)
@@ -786,15 +796,15 @@ function BackupOriginMirrors() {
esac esac
fi fi
else else
[ ! -d $backup_dir ] && mkdir -p $backup_dir [ ! -d "$backup_dir" ] && mkdir -p "$backup_dir"
echo '' echo ''
cp -rvf $target_dir/* $backup_dir 2>&1 cp -rvf "${target_dir}/*" "$backup_dir" 2>&1
BACKUPED="true" BACKUPED="true"
echo -e "\n$COMPLETE 已备份原有 repo 源文件" echo -e "\n$COMPLETE 已备份原有 repo 源文件"
sleep 1s sleep 1s
fi fi
else else
[ -d $target_dir ] || mkdir -p $target_dir [ -d "$target_dir" ] || mkdir -p "$target_dir"
fi fi
} }
@@ -843,7 +853,7 @@ function RemoveOriginMirrors() {
;; ;;
*) *)
if [ -f $Dir_YumRepos/epel.repo ]; then if [ -f $Dir_YumRepos/epel.repo ]; then
ls $Dir_YumRepos/ | egrep -v epel | xargs rm -rf ls $Dir_YumRepos/ | grep -Ev epel | xargs -0 rm -rf
else else
rm -rf $Dir_YumRepos/* rm -rf $Dir_YumRepos/*
fi fi
@@ -852,7 +862,7 @@ function RemoveOriginMirrors() {
;; ;;
"${SYSTEM_CENTOS}") "${SYSTEM_CENTOS}")
if [ -f $Dir_YumRepos/epel.repo ]; then if [ -f $Dir_YumRepos/epel.repo ]; then
ls $Dir_YumRepos/ | egrep -v epel | xargs rm -rf ls $Dir_YumRepos/ | grep -Ev epel | xargs -0 rm -rf
else else
rm -rf $Dir_YumRepos/* rm -rf $Dir_YumRepos/*
fi fi
@@ -910,9 +920,9 @@ function ChangeMirrors() {
local backup_file=$1 local backup_file=$1
local origin_file=$2 local origin_file=$2
if [[ -s $backup_file && -s $origin_file ]]; then if [[ -s $backup_file && -s $origin_file ]]; then
if [[ "$(cat $backup_file)" != "$(cat $origin_file)" ]]; then if [[ "$(cat "$backup_file")" != "$(cat "$origin_file")" ]]; then
echo -e "\n${BLUE}${backup_file}${PLAIN} -> ${BLUE}${origin_file}${PLAIN}" echo -e "\n${BLUE}${backup_file}${PLAIN} -> ${BLUE}${origin_file}${PLAIN}"
diff $backup_file $origin_file -d --color=always -I -B -E diff "$backup_file" "$origin_file" -d --color=always -I -B -E
fi fi
fi fi
} }
@@ -926,7 +936,7 @@ function ChangeMirrors() {
origin_file="$origin_dir/$item" origin_file="$origin_dir/$item"
if [[ "$(cat $backup_file)" != "$(cat $origin_file)" ]]; then if [[ "$(cat $backup_file)" != "$(cat $origin_file)" ]]; then
echo -e "\n${BLUE}${backup_file}${PLAIN} -> ${BLUE}${origin_file}${PLAIN}" echo -e "\n${BLUE}${backup_file}${PLAIN} -> ${BLUE}${origin_file}${PLAIN}"
diff $backup_file $origin_file -d --color=always -I -B -E diff "$backup_file" "$origin_file" -d --color=always -I -B -E
fi fi
done done
} }
@@ -971,7 +981,7 @@ function ChangeMirrors() {
;; ;;
esac esac
## 比较差异 ## 比较差异
if [[ "${PRINT_DIFF}" == "true" ]]; then if [[ "${PRINT_DIFF}" == true ]]; then
PrintDiff PrintDiff
fi fi
## 软件源同步/更新 ## 软件源同步/更新
@@ -997,7 +1007,7 @@ function ChangeMirrors() {
echo -e "请再次执行脚本并更换相同软件源后进行尝试,若仍然${SYNC_TXT}失败那么可能由以下原因导致" echo -e "请再次执行脚本并更换相同软件源后进行尝试,若仍然${SYNC_TXT}失败那么可能由以下原因导致"
echo -e "1. 网络问题:例如连接异常、网络间歇式中断、由地区影响的网络因素等" echo -e "1. 网络问题:例如连接异常、网络间歇式中断、由地区影响的网络因素等"
echo -e "2. 软件源问题:例如正在维护,或者出现罕见的文件同步出错导致软件源${SYNC_TXT}命令执行后返回错误状态,请前往镜像站对应路径验证" echo -e "2. 软件源问题:例如正在维护,或者出现罕见的文件同步出错导致软件源${SYNC_TXT}命令执行后返回错误状态,请前往镜像站对应路径验证"
echo -e "\n软件源地址:"${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH}"\n" echo -e "\n软件源地址:${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH}\n"
exit 1 exit 1
fi fi
} }
@@ -1035,8 +1045,9 @@ function UpdateSoftware() {
echo -e "\n$COMPLETE 清理完毕" echo -e "\n$COMPLETE 清理完毕"
} }
function MainInteraction() { function MainInteraction() {
local CHOICE=$(echo -e "\n${BOLD}└─ 是否跳过更新软件包? [Y/n] ${PLAIN}") local CHOICE
read -p "${CHOICE}" INPUT CHOICE=$(echo -e "\n${BOLD}└─ 是否跳过更新软件包? [Y/n] ${PLAIN}")
read -rp "${CHOICE}" INPUT
[[ -z "${INPUT}" ]] && INPUT=Y [[ -z "${INPUT}" ]] && INPUT=Y
case "${INPUT}" in case "${INPUT}" in
[Yy] | [Yy][Ee][Ss]) ;; [Yy] | [Yy][Ee][Ss]) ;;
@@ -1054,8 +1065,9 @@ function UpdateSoftware() {
esac esac
} }
function CleanCacheInteraction() { function CleanCacheInteraction() {
local CHOICE=$(echo -e "\n${BOLD}└─ 是否清理已下载的软件包缓存? [Y/n] ${PLAIN}") local CHOICE
read -p "${CHOICE}" INPUT CHOICE=$(echo -e "\n${BOLD}└─ 是否清理已下载的软件包缓存? [Y/n] ${PLAIN}")
read -rp "${CHOICE}" INPUT
[[ -z "${INPUT}" ]] && INPUT=Y [[ -z "${INPUT}" ]] && INPUT=Y
case "${INPUT}" in case "${INPUT}" in
[Yy] | [Yy][Ee][Ss]) [Yy] | [Yy][Ee][Ss])
@@ -1182,13 +1194,13 @@ function RedHatMirrors() {
## 安装/更换 EPEL (Extra Packages for Enterprise Linux) 附加软件包软件源 ## 安装/更换 EPEL (Extra Packages for Enterprise Linux) 附加软件包软件源
function EPELMirrors() { function EPELMirrors() {
## 安装 EPEL 软件包 ## 安装 EPEL 软件包
if [ ${VERIFICATION_EPEL} -ne 0 ]; then if [ "${VERIFICATION_EPEL}" -ne 0 ]; then
echo -e "\n${WORKING} 安装 epel-release 软件包...\n" echo -e "\n${WORKING} 安装 epel-release 软件包...\n"
yum install -y https://mirrors.cloud.tencent.com/epel/epel-release-latest-${SYSTEM_VERSION_NUMBER:0:1}.noarch.rpm yum install -y https://mirrors.cloud.tencent.com/epel/epel-release-latest-${SYSTEM_VERSION_NUMBER:0:1}.noarch.rpm
fi fi
## 删除原有 repo 源文件 ## 删除原有 repo 源文件
[ ${VERIFICATION_EPELFILES} -eq 0 ] && rm -rf $Dir_YumRepos/epel* [ "${VERIFICATION_EPELFILES}" -eq 0 ] && rm -rf $Dir_YumRepos/epel*
[ ${VERIFICATION_EPELBACKUPFILES} -eq 0 ] && rm -rf $Dir_YumReposBackup/epel* [ "${VERIFICATION_EPELBACKUPFILES}" -eq 0 ] && rm -rf $Dir_YumReposBackup/epel*
## 生成 repo 源文件 ## 生成 repo 源文件
GenRepoFiles_EPEL GenRepoFiles_EPEL
if [[ "${USE_OFFICIAL_SOURCE}" == "true" ]]; then if [[ "${USE_OFFICIAL_SOURCE}" == "true" ]]; then
@@ -1225,24 +1237,24 @@ function RedHatMirrors() {
"${SYSTEM_RHEL}") "${SYSTEM_RHEL}")
case ${SYSTEM_VERSION_NUMBER:0:1} in case ${SYSTEM_VERSION_NUMBER:0:1} in
9) 9)
GenRepoFiles_RockyLinux ${SYSTEM_VERSION_NUMBER:0:1} GenRepoFiles_RockyLinux "${SYSTEM_VERSION_NUMBER:0:1}"
;; ;;
*) *)
GenRepoFiles_CentOS ${SYSTEM_VERSION_NUMBER:0:1} GenRepoFiles_CentOS "${SYSTEM_VERSION_NUMBER:0:1}"
;; ;;
esac esac
;; ;;
"${SYSTEM_CENTOS}") "${SYSTEM_CENTOS}")
GenRepoFiles_CentOS ${SYSTEM_VERSION_NUMBER:0:1} GenRepoFiles_CentOS "${SYSTEM_VERSION_NUMBER:0:1}"
;; ;;
"${SYSTEM_CENTOS_STREAM}") "${SYSTEM_CENTOS_STREAM}")
GenRepoFiles_CentOSStream ${SYSTEM_VERSION_NUMBER:0:1} GenRepoFiles_CentOSStream "${SYSTEM_VERSION_NUMBER:0:1}"
;; ;;
"${SYSTEM_ROCKY}") "${SYSTEM_ROCKY}")
GenRepoFiles_RockyLinux ${SYSTEM_VERSION_NUMBER:0:1} GenRepoFiles_RockyLinux "${SYSTEM_VERSION_NUMBER:0:1}"
;; ;;
"${SYSTEM_ALMALINUX}") "${SYSTEM_ALMALINUX}")
GenRepoFiles_AlmaLinux ${SYSTEM_VERSION_NUMBER:0:1} GenRepoFiles_AlmaLinux "${SYSTEM_VERSION_NUMBER:0:1}"
;; ;;
"${SYSTEM_FEDORA}") "${SYSTEM_FEDORA}")
GenRepoFiles_Fedora GenRepoFiles_Fedora
@@ -1276,7 +1288,7 @@ function RedHatMirrors() {
sed -i 's|^mirrorlist=|#mirrorlist=|g' CentOS-* sed -i 's|^mirrorlist=|#mirrorlist=|g' CentOS-*
case ${SYSTEM_VERSION_NUMBER:0:1} in case ${SYSTEM_VERSION_NUMBER:0:1} in
8) 8)
sed -i 's|mirror.centos.org/$contentdir|mirror.centos.org/centos-vault|g' CentOS-* sed -i "s|mirror.centos.org/\$contentdir|mirror.centos.org/centos-vault|g" CentOS-*
sed -i "s/\$releasever/8.5.2111/g" CentOS-* sed -i "s/\$releasever/8.5.2111/g" CentOS-*
# 单独处理 CentOS-Linux-Sources.repo # 单独处理 CentOS-Linux-Sources.repo
sed -i "s|vault.centos.org/\$contentdir|${SOURCE_VAULT:-"${SOURCE}"}/${SOURCE_BRANCH_VAULT:-"centos-vault"}|g" CentOS-Linux-Sources.repo sed -i "s|vault.centos.org/\$contentdir|${SOURCE_VAULT:-"${SOURCE}"}/${SOURCE_BRANCH_VAULT:-"centos-vault"}|g" CentOS-Linux-Sources.repo
@@ -1299,7 +1311,7 @@ function RedHatMirrors() {
8) 8)
## CentOS 8 操作系统版本结束了生命周期EOLLinux 社区已不再维护该操作系统版本,最终版本为 8.5.2011 ## CentOS 8 操作系统版本结束了生命周期EOLLinux 社区已不再维护该操作系统版本,最终版本为 8.5.2011
# 原 centos 镜像中的 CentOS 8 相关内容已被官方移动,从 2022-02 开始切换至 centos-vault 源 # 原 centos 镜像中的 CentOS 8 相关内容已被官方移动,从 2022-02 开始切换至 centos-vault 源
sed -i 's|mirror.centos.org/$contentdir|mirror.centos.org/centos-vault|g' CentOS-* sed -i "s|mirror.centos.org/\$contentdir|mirror.centos.org/centos-vault|g" CentOS-*
sed -i "s/\$releasever/8.5.2111/g" CentOS-* sed -i "s/\$releasever/8.5.2111/g" CentOS-*
# 单独处理 CentOS-Linux-Sources.repo # 单独处理 CentOS-Linux-Sources.repo
sed -i "s|vault.centos.org/\$contentdir|${SOURCE_VAULT:-"${SOURCE}"}/${SOURCE_BRANCH_VAULT:-"centos-vault"}|g" CentOS-Linux-Sources.repo sed -i "s|vault.centos.org/\$contentdir|${SOURCE_VAULT:-"${SOURCE}"}/${SOURCE_BRANCH_VAULT:-"centos-vault"}|g" CentOS-Linux-Sources.repo
@@ -1405,7 +1417,7 @@ function RedHatMirrors() {
## 更换基于 OpenCloudOS 发行版的软件源 ## 更换基于 OpenCloudOS 发行版的软件源
function OpenCloudOSMirrors() { function OpenCloudOSMirrors() {
GenRepoFiles_OpenCloudOS ${SYSTEM_VERSION_NUMBER:0:1} GenRepoFiles_OpenCloudOS "${SYSTEM_VERSION_NUMBER:0:1}"
if [[ "${USE_OFFICIAL_SOURCE}" == "true" ]]; then if [[ "${USE_OFFICIAL_SOURCE}" == "true" ]]; then
return return
fi fi