mirror of
https://gitee.com/SuperManito/LinuxMirrors
synced 2025-11-04 00:10:27 +08:00
语法格式化 #33
This commit is contained in:
148
ChangeMirrors.sh
148
ChangeMirrors.sh
@@ -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 操作系统版本结束了生命周期(EOL),Linux 社区已不再维护该操作系统版本,最终版本为 8.5.2011
|
## CentOS 8 操作系统版本结束了生命周期(EOL),Linux 社区已不再维护该操作系统版本,最终版本为 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
|
||||||
|
|||||||
Reference in New Issue
Block a user