diff --git a/ChangeMirrors.sh b/ChangeMirrors.sh index 18d43c4..b85a596 100755 --- a/ChangeMirrors.sh +++ b/ChangeMirrors.sh @@ -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 } diff --git a/DockerInstallation.sh b/DockerInstallation.sh index e1b6cd0..b30fb78 100755 --- a/DockerInstallation.sh +++ b/DockerInstallation.sh @@ -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 diff --git a/README.md b/README.md index 2feeac8..0c19022 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@  Kali Linux - 2.0 ~ 2024 + all  Linux Mint diff --git a/docs/index.md b/docs/index.md index ae1d8b9..b35389a 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,5 +1,6 @@ --- -title: LinuxMirrors · 使换源更简单 +title: 脚本使换源更简单 +description: GNU/Linux 更换系统软件源脚本及 Docker 安装脚本 comments: true glightbox: false comments_description: 该评论区仅用于展示项目使用评价和经验分享,反馈问题或提出建议请前往社区 @@ -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" }
GNU/Linux 更换系统软件源脚本及 Docker 安装脚本
+
脚本使换源更简单
@@ -71,28 +73,28 @@ hide:
-| 系统名称 | 适配版本 | +| 操作系统 | 适配版本 | | --- | :---: | -| Debian | 8.0 ~ 13 | -| Ubuntu :material-information-outline:{ title="支持乌班图家族衍生操作系统,例如 优麒麟 Kubuntu
此外由于迭代速度较快并不直接支持所有非长期支持(LTS)的版本,具体详见使用文档中的高级用法" } | 14.04 ~ 24 | -| Kali Linux | 2.0 ~ 2024 | -| Linux Mint | 19.0 ~ 21 / LMDE 6 | -| Deepin | all | -| Zorin OS | all | -| Armbian | all | -| Proxmox | all | -| Red Hat Enterprise Linux :material-information-outline:{ title="使用 CentOS StreamCentOS 源" } | 7.0 ~ 9 | -| Fedora | 30 ~ 40 | -| CentOS | 7.0 ~ 8.5 / Stream 8 ~ 9 | -| Rocky Linux | 8 ~ 9 | -| AlmaLinux | 8 ~ 9 | -| OpenCloudOS | 8 ~ 9 | -| openEuler | 21.03 ~ 24 | -| Anolis OS | 23 | -| openSUSE | Leep 15 / Tumbleweed | -| Arch Linux | all | -| Alpine Linux | v3 / edge | -| Gentoo | all | +| Debian | _8.0 ~ 13_ | +| Ubuntu :material-information-outline:{ title="支持乌班图家族衍生操作系统,例如 优麒麟 Kubuntu
由于迭代速度较快并不直接支持所有非 LTS 的版本,具体详见使用文档中的高级用法" } | _14.04 ~ 24_ | +| Kali Linux | _all_ | +| Linux Mint | _19.0 ~ 21 / LMDE 6_ | +| Deepin | _all_ | +| Zorin OS | _all_ | +| Armbian | _all_ | +| Proxmox | _all_ | +| Red Hat Enterprise Linux :material-information-outline:{ title="使用 CentOS StreamCentOS 源" } | _7.0 ~ 9_ | +| Fedora | _30 ~ 40_ | +| CentOS | _7.0 ~ 8.5 / Stream 8 ~ 9_ | +| Rocky Linux | _8 ~ 9_ | +| AlmaLinux | _8 ~ 9_ | +| OpenCloudOS | _8 ~ 9_ | +| openEuler | _21.03 ~ 24_ | +| Anolis OS | _23_ | +| openSUSE | _Leep 15 / Tumbleweed_ | +| Arch Linux | _all_ | +| Alpine Linux | _v3 / edge_ | +| Gentoo | _all_ | diff --git a/docs/mirrors/index.md b/docs/mirrors/index.md index d29fdd3..792fc34 100644 --- a/docs/mirrors/index.md +++ b/docs/mirrors/index.md @@ -35,7 +35,7 @@ hide: :material-thumb-up-outline: 使用建议:速度上推荐 `中科大`、`字节跳动(火山引擎)`,地域兼容性上推荐 `阿里云`、`腾讯云`,海外或复杂网络环境下不建议使用 `清华(TUNA)` 等容易阻断的镜像站 -??? note "中国大陆教育网软件源列表" +??? note "中国大陆教育网(点击展开查看)" | 镜像站名称 | 镜像站地址 | | :- | :-: | diff --git a/docs/other/index.md b/docs/other/index.md index b60df84..6409500 100644 --- a/docs/other/index.md +++ b/docs/other/index.md @@ -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 Edition(Docker 社区版),用于下载并安装 Docker 相关软件包 `Docker Registry` 镜像仓库,用于控制下载镜像的默认来源存储仓库,又称镜像加速器,默认为官方的 Docker Hub 仓库 ### 命令选项 diff --git a/docs/use/index.md b/docs/use/index.md index 875fe4d..48c196d 100644 --- a/docs/use/index.md +++ b/docs/use/index.md @@ -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 "项目默认使用的系统分支名称(点击展开查看)" 项目脚本为了适配大的环境不会针对某一镜像站独特的镜像分支名称而单独适配 diff --git a/requirements.txt b/requirements.txt index 5b9d94f..aa598df 100644 --- a/requirements.txt +++ b/requirements.txt @@ -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 \ No newline at end of file