This commit is contained in:
Super Manito
2024-11-02 03:29:54 +08:00
parent 9d494f51de
commit b345a25d10
8 changed files with 169 additions and 178 deletions

View File

@@ -1,6 +1,6 @@
#!/bin/bash
## Author: SuperManito
## Modified: 2024-10-31
## Modified: 2024-11-02
## License: MIT
## GitHub: https://github.com/SuperManito/LinuxMirrors
## Website: https://linuxmirrors.cn
@@ -928,8 +928,7 @@ function choose_mirrors() {
fi
done
if [[ -z "${USE_INTRANET_SOURCE}" ]]; then
local CHOICE
CHOICE=$(echo -e "\n${BOLD}└─ 默认使用软件源的公网地址,是否继续? [Y/n] ${PLAIN}")
local CHOICE=$(echo -e "\n${BOLD}└─ 默认使用软件源的公网地址,是否继续? [Y/n] ${PLAIN}")
read -rp "${CHOICE}" INPUT
[[ -z "${INPUT}" ]] && INPUT=Y
case "${INPUT}" in
@@ -977,8 +976,7 @@ function choose_mirrors() {
print_mirrors_list "${mirror_list_name}" 31
fi
local CHOICE
CHOICE=$(echo -e "\n${BOLD}└─ 请选择并输入你想使用的软件源 [ 1-$(eval echo \${#$mirror_list_name[@]}) ]${PLAIN}")
local CHOICE=$(echo -e "\n${BOLD}└─ 请选择并输入你想使用的软件源 [ 1-$(eval echo \${#$mirror_list_name[@]}) ]${PLAIN}")
while true; do
read -rp "${CHOICE}" INPUT
case "${INPUT}" in
@@ -1013,8 +1011,7 @@ function choose_protocol() {
if [[ "${ONLY_HTTP}" == "True" ]]; then
WEB_PROTOCOL="http"
else
local CHOICE
CHOICE=$(echo -e "\n${BOLD}└─ 软件源是否使用 HTTP 协议? [Y/n] ${PLAIN}")
local CHOICE=$(echo -e "\n${BOLD}└─ 软件源是否使用 HTTP 协议? [Y/n] ${PLAIN}")
read -rp "${CHOICE}" INPUT
[[ -z "${INPUT}" ]] && INPUT=Y
case "${INPUT}" in
@@ -1034,7 +1031,7 @@ function choose_protocol() {
WEB_PROTOCOL="${WEB_PROTOCOL,,}"
}
# 适用于部分红帽系统的 EPEL 附加软件包(安装/换源
# 选择安装/换源 EPEL 附加软件包(适用于部分红帽系统
function choose_install_epel_packages() {
function check_install_status() {
## 判断是否已安装 EPEL 软件包
@@ -1066,11 +1063,9 @@ function choose_install_epel_packages() {
## 选择是否安装 EPEL 附加软件包
if [[ -z "${INSTALL_EPEL}" ]]; then
if [ $VERIFICATION_EPEL -eq 0 ]; then
local CHOICE
CHOICE=$(echo -e "\n${BOLD}└─ 检测到系统已安装 EPEL 附加软件包,是否替换/覆盖软件源? [Y/n] ${PLAIN}")
local CHOICE=$(echo -e "\n${BOLD}└─ 检测到系统已安装 EPEL 附加软件包,是否替换/覆盖软件源? [Y/n] ${PLAIN}")
else
local CHOICE
CHOICE=$(echo -e "\n${BOLD}└─ 是否安装 EPEL 附加软件包? [Y/n] ${PLAIN}")
local CHOICE=$(echo -e "\n${BOLD}└─ 是否安装 EPEL 附加软件包? [Y/n] ${PLAIN}")
fi
read -rp "${CHOICE}" INPUT
[[ -z "${INPUT}" ]] && INPUT=Y
@@ -1096,8 +1091,7 @@ function close_firewall_service() {
fi
if [[ "$(systemctl is-active firewalld)" == "active" ]]; then
if [[ -z "${CLOSE_FIREWALL}" ]]; then
local CHOICE
CHOICE=$(echo -e "\n${BOLD}└─ 是否关闭防火墙和 SELinux ? [Y/n] ${PLAIN}")
local CHOICE=$(echo -e "\n${BOLD}└─ 是否关闭防火墙和 SELinux ? [Y/n] ${PLAIN}")
read -rp "${CHOICE}" INPUT
[[ -z "${INPUT}" ]] && INPUT=Y
case "${INPUT}" in
@@ -1135,8 +1129,7 @@ function backup_original_mirrors() {
if [[ "${IGNORE_BACKUP_TIPS}" != "false" ]]; then
return
fi
local CHOICE_BACKUP
CHOICE_BACKUP=$(echo -e "\n${BOLD}└─ 检测到系统中存在已备份的 ${type} 源文件,是否跳过覆盖备份? [Y/n] ${PLAIN}")
local CHOICE_BACKUP=$(echo -e "\n${BOLD}└─ 检测到系统中存在已备份的 ${type} 源文件,是否跳过覆盖备份? [Y/n] ${PLAIN}")
read -rp "${CHOICE_BACKUP}" INPUT
[[ -z "${INPUT}" ]] && INPUT=Y
case "${INPUT}" in
@@ -1174,8 +1167,7 @@ function backup_original_mirrors() {
if [[ "${IGNORE_BACKUP_TIPS}" != "false" ]]; then
return
fi
local CHOICE_BACKUP
CHOICE_BACKUP=$(echo -e "\n${BOLD}└─ 检测到系统中存在已备份的 repo 源文件,是否跳过覆盖备份? [Y/n] ${PLAIN}")
local CHOICE_BACKUP=$(echo -e "\n${BOLD}└─ 检测到系统中存在已备份的 repo 源文件,是否跳过覆盖备份? [Y/n] ${PLAIN}")
read -rp "${CHOICE_BACKUP}" INPUT
[[ -z "${INPUT}" ]] && INPUT=Y
case "${INPUT}" in
@@ -1499,10 +1491,13 @@ function change_mirrors_main() {
echo -e "\n$SUCCESS 软件源更换完毕"
else
echo -e "\n$FAIL 软件源更换完毕,但${SYNC_MIRROR_TEXT}失败\n"
echo -e "请再次执行脚本并更换相同软件源后进行尝试,若仍然${SYNC_MIRROR_TEXT}失败那么可能由以下原因导致"
echo -e "1. 网络问题:例如连接异常、由地区影响的网络间歇式中断"
echo -e "2. 软件源问题:建议更换其它镜像站进行尝试,少数情况下软件源若处于同步中状态则可能会出现文件同步错误问题"
echo -e "\n软件源地址:${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH}\n"
echo -e "请再次执行脚本并更换相同软件源后进行尝试,若仍然${SYNC_MIRROR_TEXT}失败那么可能由以下原因导致\n"
echo -e "1. 网络连通性问题:例如连接异常、由地区影响的网络间歇式中断、禁止外部访问等\n"
echo -e "2. 目标软件源异常:请手动前往软件源(镜像站)地址进行验证:${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH}\n"
echo -e " 若报错内容是提示某个文件不存在那么有可能是软件源的问题,多常见于正在同步中的软件源"
echo -e " 若报错内容是目录path不存在也有可能是目标软件源不存在当前系统镜像仓库即不支持当前系统"
echo -e " 建议更换其它镜像站进行尝试,少数情况下软件源若处于同步中状态则可能会出现文件同步错误问题\n"
echo -e "3. 原有软件源报错:请先排除系统原有的其它软件源报错,因为脚本不会干预这些无关的软件源仓库,解决后重新运行脚本即可\n"
exit 1
fi
}
@@ -1513,8 +1508,7 @@ function upgrade_software() {
## 交互确认
if [[ -z "${CLEAN_CACHE}" ]]; then
CLEAN_CACHE="false"
local CHOICE
CHOICE=$(echo -e "\n${BOLD}└─ 是否清理已下载的软件包缓存? [Y/n] ${PLAIN}")
local CHOICE=$(echo -e "\n${BOLD}└─ 是否清理已下载的软件包缓存? [Y/n] ${PLAIN}")
read -rp "${CHOICE}" INPUT
[[ -z "${INPUT}" ]] && INPUT=Y
case "${INPUT}" in
@@ -1565,8 +1559,7 @@ function upgrade_software() {
## 交互确认
if [[ -z "${UPGRADE_SOFTWARE}" ]]; then
UPGRADE_SOFTWARE="false"
local CHOICE
CHOICE=$(echo -e "\n${BOLD}└─ 是否跳过更新软件包? [Y/n] ${PLAIN}")
local CHOICE=$(echo -e "\n${BOLD}└─ 是否跳过更新软件包? [Y/n] ${PLAIN}")
read -rp "${CHOICE}" INPUT
[[ -z "${INPUT}" ]] && INPUT=Y
case "${INPUT}" in
@@ -1984,7 +1977,6 @@ function change_mirrors_openEuler() {
gen_repo_files_openEuler
## 使用官方源
if [[ "${USE_OFFICIAL_SOURCE}" == "true" ]]; then
change_mirrors_or_install_EPEL # EPEL 附加软件包
return
fi
@@ -1996,8 +1988,6 @@ function change_mirrors_openEuler() {
-e "s|openEuler-version|openEuler-${version_name}|g" \
-i \
openEuler.repo
change_mirrors_or_install_EPEL # EPEL 附加软件包
}
## 更换 Anolis OS 发行版软件源
@@ -2006,7 +1996,6 @@ function change_mirrors_AnolisOS() {
gen_repo_files_AnolisOS "${SYSTEM_VERSION_NUMBER}"
## 使用官方源
if [[ "${USE_OFFICIAL_SOURCE}" == "true" ]]; then
change_mirrors_or_install_EPEL # EPEL 附加软件包
return
fi
@@ -2021,8 +2010,6 @@ function change_mirrors_AnolisOS() {
AnolisOS-Source.repo
;;
esac
change_mirrors_or_install_EPEL # EPEL 附加软件包
}
## 更换 openSUSE 发行版软件源
@@ -5650,64 +5637,64 @@ 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.fedoraproject.org/pub/epel/7/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
# 7)
# cat <<'EOF' >$Dir_YumRepos/epel.repo
# [epel]
# name=Extra Packages for Enterprise Linux 7 - $basearch
# #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
# metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
# failovermethod=priority
# enabled=1
# gpgcheck=1
# gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch/debug
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1
# [epel-debuginfo]
# name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
# #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch/debug
# metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch
# failovermethod=priority
# enabled=0
# gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
# gpgcheck=1
[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
#baseurl=http://download.fedoraproject.org/pub/epel/7/SRPMS
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1
EOF
cat <<'EOF' >$Dir_YumRepos/epel-testing.repo
[epel-testing]
name=Extra Packages for Enterprise Linux 7 - Testing - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/testing/7/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-epel7&arch=$basearch
failovermethod=priority
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
# [epel-source]
# name=Extra Packages for Enterprise Linux 7 - $basearch - Source
# #baseurl=http://download.fedoraproject.org/pub/epel/7/SRPMS
# metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch
# failovermethod=priority
# enabled=0
# gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
# gpgcheck=1
# EOF
# cat <<'EOF' >$Dir_YumRepos/epel-testing.repo
# [epel-testing]
# name=Extra Packages for Enterprise Linux 7 - Testing - $basearch
# #baseurl=http://download.fedoraproject.org/pub/epel/testing/7/$basearch
# metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-epel7&arch=$basearch
# failovermethod=priority
# enabled=0
# gpgcheck=1
# gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
[epel-testing-debuginfo]
name=Extra Packages for Enterprise Linux 7 - Testing - $basearch - Debug
#baseurl=http://download.fedoraproject.org/pub/epel/testing/7/$basearch/debug
metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-debug-epel7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1
# [epel-testing-debuginfo]
# name=Extra Packages for Enterprise Linux 7 - Testing - $basearch - Debug
# #baseurl=http://download.fedoraproject.org/pub/epel/testing/7/$basearch/debug
# metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-debug-epel7&arch=$basearch
# failovermethod=priority
# enabled=0
# gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
# gpgcheck=1
[epel-testing-source]
name=Extra Packages for Enterprise Linux 7 - Testing - $basearch - Source
#baseurl=http://download.fedoraproject.org/pub/epel/testing/7/SRPMS
metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-source-epel7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1
EOF
;;
# [epel-testing-source]
# name=Extra Packages for Enterprise Linux 7 - Testing - $basearch - Source
# #baseurl=http://download.fedoraproject.org/pub/epel/testing/7/SRPMS
# metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-source-epel7&arch=$basearch
# failovermethod=priority
# enabled=0
# gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
# gpgcheck=1
# EOF
# ;;
esac
}

View File

@@ -1,6 +1,6 @@
#!/bin/bash
## Author: SuperManito
## Modified: 2024-10-31
## Modified: 2024-11-02
## License: MIT
## GitHub: https://github.com/SuperManito/LinuxMirrors
## Website: https://linuxmirrors.cn
@@ -236,14 +236,16 @@ function run_start() {
## 运行结束
function run_end() {
echo -e "\n ------ 脚本执行结束 ------"
echo -e ' \033[0;1;35;95m┌─\033[0;1;31;91m──\033[0;1;33;93m──\033[0;1;32;92m──\033[0;1;36;96m──\033[0;1;34;94m──\033[0;1;35;95m──\033[0;1;31;91m──\033[0;1;33;93m──\033[0;1;32;92m──\033[0;1;36;96m──\033[0;1;34;94m──\033[0;1;35;95m──\033[0;1;31;91m──\033[0;1;33;93m──\033[0;1;32;92m──\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[0;1;36;96m▌\033[0m \033[0;1;31;91m▗\033[0;1;33;93m▐\033[0m \033[0;1;34;94m│\033[0m'
echo -e ' \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[0;1;35;95m▀▖\033[0;1;31;91m▞▀\033[0;1;33;93m▖▙\033[0;1;32;92m▀▖\033[0;1;36;96m▌▘\033[0;1;34;94m▌▝\033[0;1;35;95m▀▖\033[0;1;31;91m▛▀\033[0;1;33;93m▖▄\033[0;1;32;92m▜▀\033[0m \033[0;1;36;96m▞\033[0;1;34;94m▀▖\033[0;1;35;95m│\033[0m'
echo -e ' \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[0;1;31;91m▄▘\033[0;1;33;93m▀\033[0m \033[0;1;32;92m▌\033[0m \033[0;1;34;94m▌\033[0m \033[0;1;35;95m▌▞\033[0;1;31;91m▀▌\033[0;1;33;93m▌\033[0m \033[0;1;32;92m▌▐\033[0;1;36;96m▐\033[0m \033[0;1;34;94m▖▌\033[0m \033[0;1;35;95m▌\033[0;1;31;91m│\033[0m'
echo -e ' \033[0;1;36;96m│\033[0;1;34;94m▀\033[0m \033[0;1;35;95m▝▀\033[0;1;31;91m▘▌\033[0m \033[0;1;32;92m▝▀\033[0;1;36;96m▘▘\033[0m \033[0;1;35;95m▘\033[0m \033[0;1;31;91m▘▝\033[0;1;33;93m▀\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[0;1;31;91m▀\033[0m \033[0;1;33;93m│\033[0m'
echo -e ' \033[0;1;34;94m└─\033[0;1;35;95m──\033[0;1;31;91m──\033[0;1;33;93m──\033[0;1;32;92m──\033[0;1;36;96m──\033[0;1;34;94m──\033[0;1;35;95m──\033[0;1;31;91m──\033[0;1;33;93m──\033[0;1;32;92m──\033[0;1;36;96m──\033[0;1;34;94m──\033[0;1;35;95m──\033[0;1;31;91m──\033[0;1;33;93m──\033[0;1;32;92m┘\033[0m'
echo -e " \033[1;34mPowered by linuxmirrors.cn\033[0m\n"
echo -e "\n---------- 脚本执行结束 ----------"
echo -e "\n\033[1;34mPowered by https://linuxmirrors.cn\033[0m\n"
# echo -e "\n ------ 脚本执行结束 ------"
# echo -e ' \033[0;1;35;95m┌─\033[0;1;31;91m──\033[0;1;33;93m──\033[0;1;32;92m──\033[0;1;36;96m──\033[0;1;34;94m──\033[0;1;35;95m──\033[0;1;31;91m──\033[0;1;33;93m──\033[0;1;32;92m──\033[0;1;36;96m──\033[0;1;34;94m──\033[0;1;35;95m──\033[0;1;31;91m──\033[0;1;33;93m──\033[0;1;32;92m──\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[0;1;36;96m▌\033[0m \033[0;1;31;91m\033[0;1;33;93m▐\033[0m \033[0;1;34;94m│\033[0m'
# echo -e ' \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[0;1;35;95m▀▖\033[0;1;31;91m▞▀\033[0;1;33;93m▖▙\033[0;1;32;92m▀▖\033[0;1;36;96m▌▘\033[0;1;34;94m▌▝\033[0;1;35;95m▀\033[0;1;31;91m▛▀\033[0;1;33;93m▖▄\033[0;1;32;92m▜▀\033[0m \033[0;1;36;96m▞\033[0;1;34;94m▀\033[0;1;35;95m│\033[0m'
# echo -e ' \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[0;1;31;91m▄▘\033[0;1;33;93m▛▀\033[0m \033[0;1;32;92m\033[0m \033[0;1;34;94m▌\033[0m \033[0;1;35;95m▌▞\033[0;1;31;91m▀▌\033[0;1;33;93m▌\033[0m \033[0;1;32;92m▌▐\033[0;1;36;96m\033[0m \033[0;1;34;94m▖▌\033[0m \033[0;1;35;95m▌\033[0;1;31;91m│\033[0m'
# echo -e ' \033[0;1;36;96m│▝\033[0;1;34;94m▀\033[0m \033[0;1;35;95m▝▀\033[0;1;31;91m▘▌\033[0m \033[0;1;32;92m▝▀\033[0;1;36;96m▘▘\033[0m \033[0;1;35;95m▘\033[0m \033[0;1;31;91m▘▝\033[0;1;33;93m▀▘\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[0;1;31;91m▀\033[0m \033[0;1;33;93m│\033[0m'
# echo -e ' \033[0;1;34;94m└─\033[0;1;35;95m──\033[0;1;31;91m──\033[0;1;33;93m──\033[0;1;32;92m──\033[0;1;36;96m──\033[0;1;34;94m──\033[0;1;35;95m──\033[0;1;31;91m──\033[0;1;33;93m──\033[0;1;32;92m──\033[0;1;36;96m──\033[0;1;34;94m──\033[0;1;35;95m──\033[0;1;31;91m──\033[0;1;33;93m──\033[0;1;32;92m┘\033[0m'
# echo -e " \033[1;34mPowered by linuxmirrors.cn\033[0m\n"
}
## 报错退出
@@ -552,6 +554,7 @@ function close_firewall_service() {
## 安装环境包
function install_dependency_packages() {
local package_manager
## 删除原有源
case "${SYSTEM_FACTIONS}" in
"${SYSTEM_DEBIAN}")
@@ -565,24 +568,24 @@ function install_dependency_packages() {
echo -e "\n$WORKING 开始${SYNC_MIRROR_TEXT}...\n"
case "${SYSTEM_FACTIONS}" in
"${SYSTEM_DEBIAN}")
apt-get update
package_manager="apt-get"
$package_manager update
;;
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_ANOLISOS}")
local package_manager="$(get_package_manager)"
package_manager="$(get_package_manager)"
$package_manager makecache
;;
esac
VERIFICATION_SOURCESYNC=$?
if [ ${VERIFICATION_SOURCESYNC} -ne 0 ]; then
output_error "${SYNC_MIRROR_TEXT}出错,请先确保软件包管理工具可用!"
output_error "${SYNC_MIRROR_TEXT}出错,请先解决系统原有软件源错误以确保 ${BLUE}${package_manager}${PLAIN} 软件包管理工具可用!"
fi
echo -e "\n$COMPLETE ${SYNC_MIRROR_TEXT}结束\n"
case "${SYSTEM_FACTIONS}" in
"${SYSTEM_DEBIAN}")
apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common
$package_manager install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common
;;
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}")
local package_manager="$(get_package_manager)"
# 注:红帽 8 版本才发布了 dnf 包管理工具,为了兼容性而优先选择安装 dnf-utils
case ${SYSTEM_VERSION_NUMBER:0:1} in
7)
@@ -882,13 +885,12 @@ function check_version() {
case "${SYSTEM_FACTIONS}" in
"${SYSTEM_DEBIAN}")
echo -e "\n检查源文件cat $Dir_DebianExtendSource/docker.list"
echo -e '请尝试手动执行安装命令: apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin\n'
echo ''
echo -e '请尝试手动执行安装命令apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin\n'
;;
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_ANOLISOS}")
local package_manager="$(get_package_manager)"
echo -e "\n检查源文件cat $Dir_YumRepos/docker.repo"
echo -e '请尝试手动执行安装命令: $package_manager install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin\n'
echo -e "请尝试手动执行安装命令:$package_manager install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin\n"
;;
esac
exit 1

View File

@@ -28,7 +28,7 @@
</tr>
<tr>
<td><a href="https://www.kali.org" target="_blank"><img src="./docs/assets/images/icon/kali-linux.svg" width="16" height="16" style="vertical-align: -0.15em"></a>&nbsp;Kali Linux</td>
<td align="center">2.0 ~ 2024</td>
<td align="center">all</td>
</tr>
<tr>
<td><a href="https://linuxmint.com" target="_blank"><img src="./docs/assets/images/icon/linux-mint.ico" width="16" height="16" style="vertical-align: -0.15em"></a>&nbsp;Linux Mint</td>

View File

@@ -1,5 +1,6 @@
---
title: LinuxMirrors · 使换源更简单
title: 脚本使换源更简单
description: GNU/Linux 更换系统软件源脚本及 Docker 安装脚本
comments: true
glightbox: false
comments_description: 该评论区仅用于展示项目使用评价和经验分享,反馈问题或提出建议请前往<a href="/community">社区</a>
@@ -14,6 +15,7 @@ hide:
![](assets/images/brand/light/2.png#only-light){ width="300" }
![](assets/images/brand/dark/2.png#only-dark){ width="300" }
<figcaption>GNU/Linux 更换系统软件源脚本及 Docker 安装脚本</figcaption>
<figcaption>脚本使换源更简单</figcaption>
</figure>
<div class="grid" markdown>
@@ -71,28 +73,28 @@ hide:
</div>
| 系统名称 | 适配版本 |
| 操作系统 | 适配版本 |
| --- | :---: |
| <a href="https://www.debian.org" target="_blank"><img src="/assets/images/icon/debian.svg" width="16" height="16" style="vertical-align: -0.35em"></a> Debian | 8.0 ~ 13 |
| <a href="https://cn.ubuntu.com" target="_blank"><img src="/assets/images/icon/ubuntu.svg" width="16" height="16" style="vertical-align: -0.1em"></a> Ubuntu :material-information-outline:{ title="支持乌班图家族衍生操作系统,例如 <code>优麒麟</code> <code>Kubuntu</code><br/>此外由于迭代速度较快并不直接支持所有非长期支持(LTS)的版本,具体详见使用文档中的高级用法" } | 14.04 ~ 24 |
| <a href="https://www.kali.org" target="_blank"><img src="/assets/images/icon/kali-linux.svg" width="16" height="16"></a> Kali Linux | 2.0 ~ 2024 |
| <a href="https://linuxmint.com" target="_blank"><img src="/assets/images/icon/linux-mint.ico" width="16" height="16" style="vertical-align: -0.2em"></a> Linux Mint | 19.0 ~ 21 / LMDE 6 |
| <a href="https://www.deepin.org" target="_blank"><img src="/assets/images/icon/deepin.png" width="16" height="16" style="vertical-align: -0.25em"></a> Deepin | all |
| <a href="https://zorin.com/os" target="_blank"><img src="/assets/images/icon/zorin-os.png" width="16" height="16" style="vertical-align: -0.15em"></a> Zorin OS | all |
| <a href="https://www.armbian.com" target="_blank"><img src="/assets/images/icon/armbian.png" width="16" height="16" style="vertical-align: -0.2em"></a> Armbian | all |
| <a href="https://www.proxmox.com" target="_blank"><img src="/assets/images/icon/proxmox.svg" width="16" height="16" style="vertical-align: -0.2em"></a> Proxmox | all |
| <a href="https://access.redhat.com/products/red-hat-enterprise-linux" target="_blank"><img src="/assets/images/icon/redhat.svg" width="16" height="16" style="vertical-align: -0.1em"></a> Red Hat Enterprise Linux :material-information-outline:{ title="使用 <code>CentOS Stream</code><code>CentOS</code> 源" } | 7.0 ~ 9 |
| <a href="https://fedoraproject.org/zh-Hans" target="_blank"><img src="/assets/images/icon/fedora.ico" width="16" height="16" style="vertical-align: -0.2em"></a> Fedora | 30 ~ 40 |
| <a href="https://www.centos.org" target="_blank"><img src="/assets/images/icon/centos.svg" width="16" height="16" style="vertical-align: -0.2em"></a> CentOS | 7.0 ~ 8.5 / Stream 8 ~ 9 |
| <a href="https://rockylinux.org" target="_blank"><img src="/assets/images/icon/rocky-linux.svg" width="16" height="16" style="vertical-align: -0.25em"></a> Rocky Linux | 8 ~ 9 |
| <a href="https://almalinux.org/zh-hans" target="_blank"><img src="/assets/images/icon/almalinux.svg" width="16" height="16" style="vertical-align: -0.15em"></a> AlmaLinux | 8 ~ 9 |
| <a href="https://www.opencloudos.org" target="_blank"><img src="/assets/images/icon/opencloudos.png" width="16" height="16" style="vertical-align: -0.25em"></a> OpenCloudOS | 8 ~ 9 |
| <a href="https://www.openeuler.org/zh" target="_blank"><img src="/assets/images/icon/openeuler.ico" width="16" height="16" style="vertical-align: -0.2em"></a> openEuler | 21.03 ~ 24 |
| <a href="https://openanolis.cn" target="_blank"><img src="/assets/images/icon/anolis.png" width="16" height="16" style="vertical-align: -0.1em"></a> Anolis OS | 23 |
| <a href="https://www.opensuse.org" target="_blank"><img src="/assets/images/icon/opensuse.svg" width="16" height="16"></a> openSUSE | Leep 15 / Tumbleweed |
| <a href="https://archlinux.org" target="_blank"><img src="/assets/images/icon/arch-linux.ico" width="16" height="16" style="vertical-align: -0.15em"></a> Arch Linux | all |
| <a href="https://www.alpinelinux.org" target="_blank"><img src="/assets/images/icon/alpine.png" width="16" height="16" style="vertical-align: -0.15em"></a> Alpine Linux | v3 / edge |
| <a href="https://www.gentoo.org" target="_blank"><img src="/assets/images/icon/gentoo.svg" width="16" height="16" style="vertical-align: -0.2em"></a> Gentoo | all |
| <a href="https://www.debian.org" target="_blank"><img src="/assets/images/icon/debian.svg" width="16" height="16" style="vertical-align: -0.35em"></a> Debian | _8.0 ~ 13_ |
| <a href="https://cn.ubuntu.com" target="_blank"><img src="/assets/images/icon/ubuntu.svg" width="16" height="16" style="vertical-align: -0.1em"></a> Ubuntu :material-information-outline:{ title="支持乌班图家族衍生操作系统,例如 <code>优麒麟</code> <code>Kubuntu</code><br/>由于迭代速度较快并不直接支持所有非 LTS 的版本,具体详见使用文档中的高级用法" } | _14.04 ~ 24_ |
| <a href="https://www.kali.org" target="_blank"><img src="/assets/images/icon/kali-linux.svg" width="16" height="16"></a> Kali Linux | _all_ |
| <a href="https://linuxmint.com" target="_blank"><img src="/assets/images/icon/linux-mint.ico" width="16" height="16" style="vertical-align: -0.2em"></a> Linux Mint | _19.0 ~ 21 / LMDE 6_ |
| <a href="https://www.deepin.org" target="_blank"><img src="/assets/images/icon/deepin.png" width="16" height="16" style="vertical-align: -0.25em"></a> Deepin | _all_ |
| <a href="https://zorin.com/os" target="_blank"><img src="/assets/images/icon/zorin-os.png" width="16" height="16" style="vertical-align: -0.15em"></a> Zorin OS | _all_ |
| <a href="https://www.armbian.com" target="_blank"><img src="/assets/images/icon/armbian.png" width="16" height="16" style="vertical-align: -0.2em"></a> Armbian | _all_ |
| <a href="https://www.proxmox.com" target="_blank"><img src="/assets/images/icon/proxmox.svg" width="16" height="16" style="vertical-align: -0.2em"></a> Proxmox | _all_ |
| <a href="https://access.redhat.com/products/red-hat-enterprise-linux" target="_blank"><img src="/assets/images/icon/redhat.svg" width="16" height="16" style="vertical-align: -0.1em"></a> Red Hat Enterprise Linux :material-information-outline:{ title="使用 <code>CentOS Stream</code><code>CentOS</code> 源" } | _7.0 ~ 9_ |
| <a href="https://fedoraproject.org/zh-Hans" target="_blank"><img src="/assets/images/icon/fedora.ico" width="16" height="16" style="vertical-align: -0.2em"></a> Fedora | _30 ~ 40_ |
| <a href="https://www.centos.org" target="_blank"><img src="/assets/images/icon/centos.svg" width="16" height="16" style="vertical-align: -0.2em"></a> CentOS | _7.0 ~ 8.5 / Stream 8 ~ 9_ |
| <a href="https://rockylinux.org" target="_blank"><img src="/assets/images/icon/rocky-linux.svg" width="16" height="16" style="vertical-align: -0.25em"></a> Rocky Linux | _8 ~ 9_ |
| <a href="https://almalinux.org/zh-hans" target="_blank"><img src="/assets/images/icon/almalinux.svg" width="16" height="16" style="vertical-align: -0.15em"></a> AlmaLinux | _8 ~ 9_ |
| <a href="https://www.opencloudos.org" target="_blank"><img src="/assets/images/icon/opencloudos.png" width="16" height="16" style="vertical-align: -0.25em"></a> OpenCloudOS | _8 ~ 9_ |
| <a href="https://www.openeuler.org/zh" target="_blank"><img src="/assets/images/icon/openeuler.ico" width="16" height="16" style="vertical-align: -0.2em"></a> openEuler | _21.03 ~ 24_ |
| <a href="https://openanolis.cn" target="_blank"><img src="/assets/images/icon/anolis.png" width="16" height="16" style="vertical-align: -0.1em"></a> Anolis OS | _23_ |
| <a href="https://www.opensuse.org" target="_blank"><img src="/assets/images/icon/opensuse.svg" width="16" height="16"></a> openSUSE | _Leep 15 / Tumbleweed_ |
| <a href="https://archlinux.org" target="_blank"><img src="/assets/images/icon/arch-linux.ico" width="16" height="16" style="vertical-align: -0.15em"></a> Arch Linux | _all_ |
| <a href="https://www.alpinelinux.org" target="_blank"><img src="/assets/images/icon/alpine.png" width="16" height="16" style="vertical-align: -0.15em"></a> Alpine Linux | _v3 / edge_ |
| <a href="https://www.gentoo.org" target="_blank"><img src="/assets/images/icon/gentoo.svg" width="16" height="16" style="vertical-align: -0.2em"></a> Gentoo | _all_ |
</div>

View File

@@ -35,7 +35,7 @@ hide:
:material-thumb-up-outline: 使用建议:速度上推荐 `中科大``字节跳动(火山引擎)`,地域兼容性上推荐 `阿里云``腾讯云`,海外或复杂网络环境下不建议使用 `清华(TUNA)` 等容易阻断的镜像站
??? note "中国大陆教育网软件源列表"
??? note "中国大陆教育网(点击展开查看)"
| 镜像站名称 | 镜像站地址 |
| :- | :-: |

View File

@@ -69,7 +69,7 @@ bash <(curl -sSL https://linuxmirrors.cn/docker.sh)
脚本集成安装 [`Docker Engine`](https://docs.docker.com/engine) 和 [`Docker Compose`](https://docs.docker.com/compose),可选择安装版本、下载软件源、镜像加速器,支持海内外服务器环境和 `arm` 架构处理器环境使用
`Docker CE` 软件仓库,全称 Docker Community Edition (Docker 社区版),用于下载并安装 Docker 相关软件包
`Docker CE` 软件仓库,全称 Docker Community EditionDocker 社区版,用于下载并安装 Docker 相关软件包
`Docker Registry` 镜像仓库,用于控制下载镜像的默认来源存储仓库,又称镜像加速器,默认为官方的 Docker Hub 仓库
### 命令选项

View File

@@ -8,51 +8,41 @@ hide:
## 一键执行命令
=== ":octicons-globe-16: CDN推荐"
=== ":material-home-city: 中国大陆"
!!! quote ""
=== ":material-home: 中国大陆(默认"
=== ":octicons-globe-16: CDN推荐"
``` bash
bash <(curl -sSL https://linuxmirrors.cn/main.sh)
```
=== ":material-school: 中国大陆教育网"
``` bash
bash <(curl -sSL https://linuxmirrors.cn/main.sh) --edu # (1)!
```
1. 通过 `--edu` 命令选项来使用中国大陆教育单位软件源
=== ":octicons-globe-16: 海外地区"
``` bash
bash <(curl -sSL https://linuxmirrors.cn/main.sh) --abroad # (1)!
```
2. 通过 `--abroad` 命令选项来使用海外软件源
=== ":simple-github: GitHub"
!!! quote ""
=== ":material-home: 中国大陆(默认)"
=== ":simple-github: GitHub"
``` bash
bash <(curl -sSL https://raw.githubusercontent.com/SuperManito/LinuxMirrors/main/ChangeMirrors.sh)
```
=== ":material-school: 中国大陆教育网"
=== ":simple-gitee: Gitee"
``` bash
bash <(curl -sSL https://raw.githubusercontent.com/SuperManito/LinuxMirrors/main/ChangeMirrors.sh) --edu # (1)!
bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/ChangeMirrors.sh)
```
1. 通过 `--edu` 命令选项来使用中国大陆教育单位软件源
=== ":material-earth: 境外以及海外地区"
=== ":octicons-globe-16: 海外地区"
!!! quote ""
=== ":octicons-globe-16: CDN推荐"
``` bash
bash <(curl -sSL https://linuxmirrors.cn/main.sh) --abroad # (1)!
```
1. 通过 `--abroad` 命令选项来使用海外软件源
=== ":simple-github: GitHub"
``` bash
bash <(curl -sSL https://raw.githubusercontent.com/SuperManito/LinuxMirrors/main/ChangeMirrors.sh) --abroad # (1)!
@@ -60,33 +50,43 @@ hide:
2. 通过 `--abroad` 命令选项来使用海外软件源
=== ":simple-gitee: Gitee"
!!! quote ""
=== ":material-home: 中国大陆(默认)"
``` bash
bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/ChangeMirrors.sh)
```
=== ":material-school: 中国大陆教育网"
``` bash
bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/ChangeMirrors.sh) --edu # (1)!
```
1. 通过 `--edu` 命令选项来使用中国大陆教育单位软件源
=== ":octicons-globe-16: 海外地区"
=== ":simple-gitee: Gitee"
``` bash
bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/ChangeMirrors.sh) --abroad # (1)!
```
1. 通过 `--abroad` 命令选项来使用海外软件源
3. 通过 `--abroad` 命令选项来使用海外软件源
选项卡分别代表获取脚本途径和脚本内置软件源类型,请在使用前检查目标镜像站是否支持您所使用的操作系统,可以在[软件源列表](/mirrors)中查看具体有哪些软件源。
=== ":material-library: 中国大陆教育网"
!!! quote ""
=== ":octicons-globe-16: CDN推荐"
``` bash
bash <(curl -sSL https://linuxmirrors.cn/main.sh) --edu # (1)!
```
1. 通过 `--edu` 命令选项来使用中国大陆教育单位软件源
=== ":simple-github: GitHub"
``` bash
bash <(curl -sSL https://raw.githubusercontent.com/SuperManito/LinuxMirrors/main/ChangeMirrors.sh) --edu # (1)!
```
1. 通过 `--edu` 命令选项来使用中国大陆教育单位软件源
=== ":simple-gitee: Gitee"
``` bash
bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/ChangeMirrors.sh) --edu # (1)!
```
2. 通过 `--edu` 命令选项来使用中国大陆教育单位软件源
选项卡分别代表脚本内置软件源类型和获取脚本途径,请在使用前检查目标镜像站是否支持您所使用的操作系统,可以在[软件源列表](/mirrors)中查看具体有哪些软件源。
- ### 注意事项
@@ -322,7 +322,7 @@ hide:
主要使用场景:目标镜像站有对应的系统镜像但是不符合本项目脚本关于软件源分支设置的默认规则
??? note "项目默认使用的系统分支名称"
??? note "项目默认使用的系统分支名称(点击展开查看)"
项目脚本为了适配大的环境不会针对某一镜像站独特的镜像分支名称而单独适配

View File

@@ -1,3 +1,3 @@
mkdocs-material==9.5.42
mkdocs-material==9.5.43
mkdocs-glightbox==0.4.0
mkdocs-exclude-search==0.6.6