mirror of
				https://gitee.com/SuperManito/LinuxMirrors
				synced 2025-11-04 16:30:26 +08:00 
			
		
		
		
	新增适配 Red Hat Enterprise Linux 10 & AlmaLinux 10
This commit is contained in:
		
							
								
								
									
										379
									
								
								ChangeMirrors.sh
									
									
									
									
									
								
							
							
						
						
									
										379
									
								
								ChangeMirrors.sh
									
									
									
									
									
								
							@@ -1,6 +1,6 @@
 | 
				
			|||||||
#!/bin/bash
 | 
					#!/bin/bash
 | 
				
			||||||
## Author: SuperManito
 | 
					## Author: SuperManito
 | 
				
			||||||
## Modified: 2025-05-13
 | 
					## Modified: 2025-05-29
 | 
				
			||||||
## License: MIT
 | 
					## License: MIT
 | 
				
			||||||
## GitHub: https://github.com/SuperManito/LinuxMirrors
 | 
					## GitHub: https://github.com/SuperManito/LinuxMirrors
 | 
				
			||||||
## Website: https://linuxmirrors.cn
 | 
					## Website: https://linuxmirrors.cn
 | 
				
			||||||
@@ -798,7 +798,7 @@ function collect_system_info() {
 | 
				
			|||||||
        fi
 | 
					        fi
 | 
				
			||||||
        ;;
 | 
					        ;;
 | 
				
			||||||
    "${SYSTEM_RHEL}")
 | 
					    "${SYSTEM_RHEL}")
 | 
				
			||||||
        if [[ "${SYSTEM_VERSION_ID_MAJOR}" != [7-9] ]]; then
 | 
					        if [[ "${SYSTEM_VERSION_ID_MAJOR}" != [7-9] && "${SYSTEM_VERSION_ID_MAJOR}" != 10 ]]; then
 | 
				
			||||||
            is_supported="false"
 | 
					            is_supported="false"
 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
        ;;
 | 
					        ;;
 | 
				
			||||||
@@ -807,11 +807,16 @@ function collect_system_info() {
 | 
				
			|||||||
            is_supported="false"
 | 
					            is_supported="false"
 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
        ;;
 | 
					        ;;
 | 
				
			||||||
    "${SYSTEM_CENTOS_STREAM}" | "${SYSTEM_ROCKY}" | "${SYSTEM_ALMALINUX}")
 | 
					    "${SYSTEM_CENTOS_STREAM}" | "${SYSTEM_ALMALINUX}")
 | 
				
			||||||
        if [[ "${SYSTEM_VERSION_ID_MAJOR}" != [8-9] && "${SYSTEM_VERSION_ID_MAJOR}" != 10 ]]; then
 | 
					        if [[ "${SYSTEM_VERSION_ID_MAJOR}" != [8-9] && "${SYSTEM_VERSION_ID_MAJOR}" != 10 ]]; then
 | 
				
			||||||
            is_supported="false"
 | 
					            is_supported="false"
 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
        ;;
 | 
					        ;;
 | 
				
			||||||
 | 
					    "${SYSTEM_ROCKY}")
 | 
				
			||||||
 | 
					        if [[ "${SYSTEM_VERSION_ID_MAJOR}" != [8-9] ]]; then
 | 
				
			||||||
 | 
					            is_supported="false"
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					        ;;
 | 
				
			||||||
    "${SYSTEM_FEDORA}")
 | 
					    "${SYSTEM_FEDORA}")
 | 
				
			||||||
        if [[ "${SYSTEM_VERSION_ID}" != [3-4][0-9] ]]; then
 | 
					        if [[ "${SYSTEM_VERSION_ID}" != [3-4][0-9] ]]; then
 | 
				
			||||||
            is_supported="false"
 | 
					            is_supported="false"
 | 
				
			||||||
@@ -912,16 +917,16 @@ function collect_system_info() {
 | 
				
			|||||||
            ;;
 | 
					            ;;
 | 
				
			||||||
        "${SYSTEM_RHEL}")
 | 
					        "${SYSTEM_RHEL}")
 | 
				
			||||||
            case "${SYSTEM_VERSION_ID_MAJOR}" in
 | 
					            case "${SYSTEM_VERSION_ID_MAJOR}" in
 | 
				
			||||||
            9)
 | 
					            7 | 8)
 | 
				
			||||||
                SOURCE_BRANCH="centos-stream" # 使用 CentOS Stream 仓库
 | 
					 | 
				
			||||||
                ;;
 | 
					 | 
				
			||||||
            *)
 | 
					 | 
				
			||||||
                if [[ "${DEVICE_ARCH_RAW}" == "x86_64" ]]; then
 | 
					                if [[ "${DEVICE_ARCH_RAW}" == "x86_64" ]]; then
 | 
				
			||||||
                    SOURCE_BRANCH="centos-vault"
 | 
					                    SOURCE_BRANCH="centos-vault"
 | 
				
			||||||
                else
 | 
					                else
 | 
				
			||||||
                    SOURCE_BRANCH="centos-altarch"
 | 
					                    SOURCE_BRANCH="centos-altarch"
 | 
				
			||||||
                fi
 | 
					                fi
 | 
				
			||||||
                ;;
 | 
					                ;;
 | 
				
			||||||
 | 
					            *)
 | 
				
			||||||
 | 
					                SOURCE_BRANCH="centos-stream" # 使用 CentOS Stream 仓库
 | 
				
			||||||
 | 
					                ;;
 | 
				
			||||||
            esac
 | 
					            esac
 | 
				
			||||||
            ;;
 | 
					            ;;
 | 
				
			||||||
        "${SYSTEM_CENTOS}")
 | 
					        "${SYSTEM_CENTOS}")
 | 
				
			||||||
@@ -1491,16 +1496,16 @@ function remove_original_mirrors() {
 | 
				
			|||||||
            case "${SYSTEM_JUDGMENT}" in
 | 
					            case "${SYSTEM_JUDGMENT}" in
 | 
				
			||||||
            "${SYSTEM_RHEL}")
 | 
					            "${SYSTEM_RHEL}")
 | 
				
			||||||
                case "${SYSTEM_VERSION_ID_MAJOR}" in
 | 
					                case "${SYSTEM_VERSION_ID_MAJOR}" in
 | 
				
			||||||
                9)
 | 
					                7 | 8)
 | 
				
			||||||
                    rm -rf $Dir_YumRepos/centos.repo $Dir_YumRepos/centos-addons.repo
 | 
					 | 
				
			||||||
                    ;;
 | 
					 | 
				
			||||||
                *)
 | 
					 | 
				
			||||||
                    if [ -f "${Dir_YumRepos}/epel.repo" ]; then
 | 
					                    if [ -f "${Dir_YumRepos}/epel.repo" ]; then
 | 
				
			||||||
                        ls $Dir_YumRepos/ | grep -Ev epel | xargs rm -rf
 | 
					                        ls $Dir_YumRepos/ | grep -Ev epel | xargs rm -rf
 | 
				
			||||||
                    else
 | 
					                    else
 | 
				
			||||||
                        rm -rf $Dir_YumRepos/*
 | 
					                        rm -rf $Dir_YumRepos/*
 | 
				
			||||||
                    fi
 | 
					                    fi
 | 
				
			||||||
                    ;;
 | 
					                    ;;
 | 
				
			||||||
 | 
					                *)
 | 
				
			||||||
 | 
					                    rm -rf $Dir_YumRepos/centos.repo $Dir_YumRepos/centos-addons.repo
 | 
				
			||||||
 | 
					                    ;;
 | 
				
			||||||
                esac
 | 
					                esac
 | 
				
			||||||
                ;;
 | 
					                ;;
 | 
				
			||||||
            "${SYSTEM_CENTOS}")
 | 
					            "${SYSTEM_CENTOS}")
 | 
				
			||||||
@@ -2173,11 +2178,11 @@ function change_mirrors_RedHat() {
 | 
				
			|||||||
    case "${SYSTEM_JUDGMENT}" in
 | 
					    case "${SYSTEM_JUDGMENT}" in
 | 
				
			||||||
    "${SYSTEM_RHEL}")
 | 
					    "${SYSTEM_RHEL}")
 | 
				
			||||||
        case "${SYSTEM_VERSION_ID_MAJOR}" in
 | 
					        case "${SYSTEM_VERSION_ID_MAJOR}" in
 | 
				
			||||||
        9 | 10)
 | 
					        7 | 8)
 | 
				
			||||||
            gen_repo_files_CentOSStream "${SYSTEM_VERSION_ID_MAJOR}"
 | 
					            gen_repo_files_CentOS "${SYSTEM_VERSION_ID_MAJOR}"
 | 
				
			||||||
            ;;
 | 
					            ;;
 | 
				
			||||||
        *)
 | 
					        *)
 | 
				
			||||||
            gen_repo_files_CentOS "${SYSTEM_VERSION_ID_MAJOR}"
 | 
					            gen_repo_files_CentOSStream "${SYSTEM_VERSION_ID_MAJOR}"
 | 
				
			||||||
            ;;
 | 
					            ;;
 | 
				
			||||||
        esac
 | 
					        esac
 | 
				
			||||||
        ;;
 | 
					        ;;
 | 
				
			||||||
@@ -2222,20 +2227,7 @@ function change_mirrors_RedHat() {
 | 
				
			|||||||
    case "${SYSTEM_JUDGMENT}" in
 | 
					    case "${SYSTEM_JUDGMENT}" in
 | 
				
			||||||
    "${SYSTEM_RHEL}")
 | 
					    "${SYSTEM_RHEL}")
 | 
				
			||||||
        case "${SYSTEM_VERSION_ID_MAJOR}" in
 | 
					        case "${SYSTEM_VERSION_ID_MAJOR}" in
 | 
				
			||||||
        9)
 | 
					        7 | 8)
 | 
				
			||||||
            sed -e "s|^#baseurl=https|baseurl=${WEB_PROTOCOL}|g" \
 | 
					 | 
				
			||||||
                -e "s|^metalink=|#metalink=|g" \
 | 
					 | 
				
			||||||
                -e "s|mirror.stream.centos.org|${SOURCE}/${SOURCE_BRANCH}|g" \
 | 
					 | 
				
			||||||
                -i \
 | 
					 | 
				
			||||||
                centos.repo \
 | 
					 | 
				
			||||||
                centos-addons.repo
 | 
					 | 
				
			||||||
            # 禁用 GPG 签名检查
 | 
					 | 
				
			||||||
            sed -e "s|gpgcheck=1|gpgcheck=0|g" \
 | 
					 | 
				
			||||||
                -i \
 | 
					 | 
				
			||||||
                centos.repo \
 | 
					 | 
				
			||||||
                centos-addons.repo
 | 
					 | 
				
			||||||
            ;;
 | 
					 | 
				
			||||||
        *)
 | 
					 | 
				
			||||||
            sed -e "s|^#baseurl=http|baseurl=${WEB_PROTOCOL}|g" \
 | 
					            sed -e "s|^#baseurl=http|baseurl=${WEB_PROTOCOL}|g" \
 | 
				
			||||||
                -e "s|^mirrorlist=|#mirrorlist=|g" \
 | 
					                -e "s|^mirrorlist=|#mirrorlist=|g" \
 | 
				
			||||||
                -i \
 | 
					                -i \
 | 
				
			||||||
@@ -2265,6 +2257,19 @@ function change_mirrors_RedHat() {
 | 
				
			|||||||
                -i \
 | 
					                -i \
 | 
				
			||||||
                CentOS-*
 | 
					                CentOS-*
 | 
				
			||||||
            ;;
 | 
					            ;;
 | 
				
			||||||
 | 
					        *)
 | 
				
			||||||
 | 
					            sed -e "s|^#baseurl=https|baseurl=${WEB_PROTOCOL}|g" \
 | 
				
			||||||
 | 
					                -e "s|^metalink=|#metalink=|g" \
 | 
				
			||||||
 | 
					                -e "s|mirror.stream.centos.org|${SOURCE}/${SOURCE_BRANCH}|g" \
 | 
				
			||||||
 | 
					                -i \
 | 
				
			||||||
 | 
					                centos.repo \
 | 
				
			||||||
 | 
					                centos-addons.repo
 | 
				
			||||||
 | 
					            # 禁用 GPG 签名检查
 | 
				
			||||||
 | 
					            sed -e "s|gpgcheck=1|gpgcheck=0|g" \
 | 
				
			||||||
 | 
					                -i \
 | 
				
			||||||
 | 
					                centos.repo \
 | 
				
			||||||
 | 
					                centos-addons.repo
 | 
				
			||||||
 | 
					            ;;
 | 
				
			||||||
        esac
 | 
					        esac
 | 
				
			||||||
        ;;
 | 
					        ;;
 | 
				
			||||||
    "${SYSTEM_CENTOS}")
 | 
					    "${SYSTEM_CENTOS}")
 | 
				
			||||||
@@ -2347,13 +2352,39 @@ function change_mirrors_RedHat() {
 | 
				
			|||||||
        ;;
 | 
					        ;;
 | 
				
			||||||
    "${SYSTEM_ALMALINUX}")
 | 
					    "${SYSTEM_ALMALINUX}")
 | 
				
			||||||
        case "${SYSTEM_VERSION_ID_MAJOR}" in
 | 
					        case "${SYSTEM_VERSION_ID_MAJOR}" in
 | 
				
			||||||
 | 
					        10)
 | 
				
			||||||
 | 
					            sed -e "s|^# baseurl=https|baseurl=${WEB_PROTOCOL}|g" \
 | 
				
			||||||
 | 
					                -e "s|^mirrorlist=|#mirrorlist=|g" \
 | 
				
			||||||
 | 
					                -e "s|vault.almalinux.org|${SOURCE}/${SOURCE_BRANCH}|g" \
 | 
				
			||||||
 | 
					                -i \
 | 
				
			||||||
 | 
					                almalinux-appstream.repo \
 | 
				
			||||||
 | 
					                almalinux-baseos.repo \
 | 
				
			||||||
 | 
					                almalinux-crb.repo \
 | 
				
			||||||
 | 
					                almalinux-extras.repo \
 | 
				
			||||||
 | 
					                almalinux-highavailability.repo \
 | 
				
			||||||
 | 
					                almalinux-nfv.repo \
 | 
				
			||||||
 | 
					                almalinux-rt.repo \
 | 
				
			||||||
 | 
					                almalinux-saphana.repo \
 | 
				
			||||||
 | 
					                almalinux-sap.repo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            ;;
 | 
				
			||||||
        9)
 | 
					        9)
 | 
				
			||||||
            sed -e "s|^# baseurl=http|baseurl=${WEB_PROTOCOL}|g" \
 | 
					            sed -e "s|^# baseurl=http|baseurl=${WEB_PROTOCOL}|g" \
 | 
				
			||||||
                -e "s|^mirrorlist=|#mirrorlist=|g" \
 | 
					                -e "s|^mirrorlist=|#mirrorlist=|g" \
 | 
				
			||||||
                -e "s|repo.almalinux.org/vault|${SOURCE_VAULT:-"${SOURCE}"}/${SOURCE_VAULT_BRANCH:-almalinux-vault}|g" \
 | 
					                -e "s|repo.almalinux.org/vault|${SOURCE_VAULT:-"${SOURCE}"}/${SOURCE_VAULT_BRANCH:-almalinux-vault}|g" \
 | 
				
			||||||
                -e "s|repo.almalinux.org/almalinux|${SOURCE}/${SOURCE_BRANCH}|g" \
 | 
					                -e "s|repo.almalinux.org/almalinux|${SOURCE}/${SOURCE_BRANCH}|g" \
 | 
				
			||||||
                -i \
 | 
					                -i \
 | 
				
			||||||
                almalinux-*
 | 
					                almalinux-appstream.repo \
 | 
				
			||||||
 | 
					                almalinux-baseos.repo \
 | 
				
			||||||
 | 
					                almalinux-crb.repo \
 | 
				
			||||||
 | 
					                almalinux-extras.repo \
 | 
				
			||||||
 | 
					                almalinux-highavailability.repo \
 | 
				
			||||||
 | 
					                almalinux-nfv.repo \
 | 
				
			||||||
 | 
					                almalinux-plus.repo \
 | 
				
			||||||
 | 
					                almalinux-resilientstorage.repo \
 | 
				
			||||||
 | 
					                almalinux-rt.repo \
 | 
				
			||||||
 | 
					                almalinux-sap.repo \
 | 
				
			||||||
 | 
					                almalinux-saphana.repo
 | 
				
			||||||
            ;;
 | 
					            ;;
 | 
				
			||||||
        8)
 | 
					        8)
 | 
				
			||||||
            sed -e "s|^mirrorlist=|#mirrorlist=|g" \
 | 
					            sed -e "s|^mirrorlist=|#mirrorlist=|g" \
 | 
				
			||||||
@@ -4567,6 +4598,296 @@ EOF
 | 
				
			|||||||
## 生成 AlmaLinux repo 源文件
 | 
					## 生成 AlmaLinux repo 源文件
 | 
				
			||||||
function gen_repo_files_AlmaLinux() {
 | 
					function gen_repo_files_AlmaLinux() {
 | 
				
			||||||
    case "$1" in
 | 
					    case "$1" in
 | 
				
			||||||
 | 
					    10)
 | 
				
			||||||
 | 
					        cat <<'EOF' >$Dir_YumRepos/almalinux-appstream.repo
 | 
				
			||||||
 | 
					[appstream]
 | 
				
			||||||
 | 
					name=AlmaLinux $releasever - AppStream
 | 
				
			||||||
 | 
					mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/appstream
 | 
				
			||||||
 | 
					# baseurl=https://repo.almalinux.org/almalinux/$releasever/AppStream/$basearch/os/
 | 
				
			||||||
 | 
					enabled=1
 | 
				
			||||||
 | 
					gpgcheck=1
 | 
				
			||||||
 | 
					countme=1
 | 
				
			||||||
 | 
					gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-10
 | 
				
			||||||
 | 
					metadata_expire=86400
 | 
				
			||||||
 | 
					enabled_metadata=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[appstream-debuginfo]
 | 
				
			||||||
 | 
					name=AlmaLinux $releasever - AppStream - Debug
 | 
				
			||||||
 | 
					mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/appstream-debug
 | 
				
			||||||
 | 
					# baseurl=https://vault.almalinux.org/$releasever/AppStream/debug/$basearch/
 | 
				
			||||||
 | 
					enabled=0
 | 
				
			||||||
 | 
					gpgcheck=1
 | 
				
			||||||
 | 
					gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-10
 | 
				
			||||||
 | 
					metadata_expire=86400
 | 
				
			||||||
 | 
					enabled_metadata=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[appstream-source]
 | 
				
			||||||
 | 
					name=AlmaLinux $releasever - AppStream - Source
 | 
				
			||||||
 | 
					mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/appstream-source
 | 
				
			||||||
 | 
					# baseurl=https://vault.almalinux.org/$releasever/AppStream/Source/
 | 
				
			||||||
 | 
					enabled=0
 | 
				
			||||||
 | 
					gpgcheck=1
 | 
				
			||||||
 | 
					gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-10
 | 
				
			||||||
 | 
					metadata_expire=86400
 | 
				
			||||||
 | 
					enabled_metadata=0
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					        cat <<'EOF' >$Dir_YumRepos/almalinux-baseos.repo
 | 
				
			||||||
 | 
					[baseos]
 | 
				
			||||||
 | 
					name=AlmaLinux $releasever - BaseOS
 | 
				
			||||||
 | 
					mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/baseos
 | 
				
			||||||
 | 
					# baseurl=https://repo.almalinux.org/almalinux/$releasever/BaseOS/$basearch/os/
 | 
				
			||||||
 | 
					enabled=1
 | 
				
			||||||
 | 
					gpgcheck=1
 | 
				
			||||||
 | 
					countme=1
 | 
				
			||||||
 | 
					gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-10
 | 
				
			||||||
 | 
					metadata_expire=86400
 | 
				
			||||||
 | 
					enabled_metadata=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[baseos-debuginfo]
 | 
				
			||||||
 | 
					name=AlmaLinux $releasever - BaseOS - Debug
 | 
				
			||||||
 | 
					mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/baseos-debug
 | 
				
			||||||
 | 
					# baseurl=https://vault.almalinux.org/$releasever/BaseOS/debug/$basearch/
 | 
				
			||||||
 | 
					enabled=0
 | 
				
			||||||
 | 
					gpgcheck=1
 | 
				
			||||||
 | 
					gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-10
 | 
				
			||||||
 | 
					metadata_expire=86400
 | 
				
			||||||
 | 
					enabled_metadata=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[baseos-source]
 | 
				
			||||||
 | 
					name=AlmaLinux $releasever - BaseOS - Source
 | 
				
			||||||
 | 
					mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/baseos-source
 | 
				
			||||||
 | 
					# baseurl=https://vault.almalinux.org/$releasever/BaseOS/Source/
 | 
				
			||||||
 | 
					enabled=0
 | 
				
			||||||
 | 
					gpgcheck=1
 | 
				
			||||||
 | 
					gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-10
 | 
				
			||||||
 | 
					metadata_expire=86400
 | 
				
			||||||
 | 
					enabled_metadata=0
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					        cat <<'EOF' >$Dir_YumRepos/almalinux-crb.repo
 | 
				
			||||||
 | 
					[crb]
 | 
				
			||||||
 | 
					name=AlmaLinux $releasever - CRB
 | 
				
			||||||
 | 
					mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/crb
 | 
				
			||||||
 | 
					# baseurl=https://repo.almalinux.org/almalinux/$releasever/CRB/$basearch/os/
 | 
				
			||||||
 | 
					enabled=0
 | 
				
			||||||
 | 
					gpgcheck=1
 | 
				
			||||||
 | 
					countme=1
 | 
				
			||||||
 | 
					gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-10
 | 
				
			||||||
 | 
					metadata_expire=86400
 | 
				
			||||||
 | 
					enabled_metadata=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[crb-debuginfo]
 | 
				
			||||||
 | 
					name=AlmaLinux $releasever - CRB - Debug
 | 
				
			||||||
 | 
					mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/crb-debug
 | 
				
			||||||
 | 
					# baseurl=https://vault.almalinux.org/$releasever/CRB/debug/$basearch/
 | 
				
			||||||
 | 
					enabled=0
 | 
				
			||||||
 | 
					gpgcheck=1
 | 
				
			||||||
 | 
					gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-10
 | 
				
			||||||
 | 
					metadata_expire=86400
 | 
				
			||||||
 | 
					enabled_metadata=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[crb-source]
 | 
				
			||||||
 | 
					name=AlmaLinux $releasever - CRB - Source
 | 
				
			||||||
 | 
					mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/crb-source
 | 
				
			||||||
 | 
					# baseurl=https://vault.almalinux.org/$releasever/CRB/Source/
 | 
				
			||||||
 | 
					enabled=0
 | 
				
			||||||
 | 
					gpgcheck=1
 | 
				
			||||||
 | 
					gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-10
 | 
				
			||||||
 | 
					metadata_expire=86400
 | 
				
			||||||
 | 
					enabled_metadata=0
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					        cat <<'EOF' >$Dir_YumRepos/almalinux-extras.repo
 | 
				
			||||||
 | 
					[extras]
 | 
				
			||||||
 | 
					name=AlmaLinux $releasever - Extras
 | 
				
			||||||
 | 
					mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/extras
 | 
				
			||||||
 | 
					# baseurl=https://repo.almalinux.org/almalinux/$releasever/extras/$basearch/os/
 | 
				
			||||||
 | 
					enabled=1
 | 
				
			||||||
 | 
					gpgcheck=1
 | 
				
			||||||
 | 
					countme=1
 | 
				
			||||||
 | 
					gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-10
 | 
				
			||||||
 | 
					metadata_expire=86400
 | 
				
			||||||
 | 
					enabled_metadata=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[extras-debuginfo]
 | 
				
			||||||
 | 
					name=AlmaLinux $releasever - Extras - Debug
 | 
				
			||||||
 | 
					mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/extras-debug
 | 
				
			||||||
 | 
					# baseurl=https://vault.almalinux.org/$releasever/extras/debug/$basearch/
 | 
				
			||||||
 | 
					enabled=0
 | 
				
			||||||
 | 
					gpgcheck=1
 | 
				
			||||||
 | 
					gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-10
 | 
				
			||||||
 | 
					metadata_expire=86400
 | 
				
			||||||
 | 
					enabled_metadata=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[extras-source]
 | 
				
			||||||
 | 
					name=AlmaLinux $releasever - Extras - Source
 | 
				
			||||||
 | 
					mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/extras-source
 | 
				
			||||||
 | 
					# baseurl=https://vault.almalinux.org/$releasever/extras/Source/
 | 
				
			||||||
 | 
					enabled=0
 | 
				
			||||||
 | 
					gpgcheck=1
 | 
				
			||||||
 | 
					gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-10
 | 
				
			||||||
 | 
					metadata_expire=86400
 | 
				
			||||||
 | 
					enabled_metadata=0
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					        cat <<'EOF' >$Dir_YumRepos/almalinux-highavailability.repo
 | 
				
			||||||
 | 
					[highavailability]
 | 
				
			||||||
 | 
					name=AlmaLinux $releasever - HighAvailability
 | 
				
			||||||
 | 
					mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/highavailability
 | 
				
			||||||
 | 
					# baseurl=https://repo.almalinux.org/almalinux/$releasever/HighAvailability/$basearch/os/
 | 
				
			||||||
 | 
					enabled=0
 | 
				
			||||||
 | 
					gpgcheck=1
 | 
				
			||||||
 | 
					countme=1
 | 
				
			||||||
 | 
					gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-10
 | 
				
			||||||
 | 
					metadata_expire=86400
 | 
				
			||||||
 | 
					enabled_metadata=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[highavailability-debuginfo]
 | 
				
			||||||
 | 
					name=AlmaLinux $releasever - HighAvailability - Debug
 | 
				
			||||||
 | 
					mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/highavailability-debug
 | 
				
			||||||
 | 
					# baseurl=https://vault.almalinux.org/$releasever/HighAvailability/debug/$basearch/
 | 
				
			||||||
 | 
					enabled=0
 | 
				
			||||||
 | 
					gpgcheck=1
 | 
				
			||||||
 | 
					gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-10
 | 
				
			||||||
 | 
					metadata_expire=86400
 | 
				
			||||||
 | 
					enabled_metadata=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[highavailability-source]
 | 
				
			||||||
 | 
					name=AlmaLinux $releasever - HighAvailability - Source
 | 
				
			||||||
 | 
					mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/highavailability-source
 | 
				
			||||||
 | 
					# baseurl=https://vault.almalinux.org/$releasever/HighAvailability/Source/
 | 
				
			||||||
 | 
					enabled=0
 | 
				
			||||||
 | 
					gpgcheck=1
 | 
				
			||||||
 | 
					gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-10
 | 
				
			||||||
 | 
					metadata_expire=86400
 | 
				
			||||||
 | 
					enabled_metadata=0
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					        cat <<'EOF' >$Dir_YumRepos/almalinux-nfv.repo
 | 
				
			||||||
 | 
					[nfv]
 | 
				
			||||||
 | 
					name=AlmaLinux $releasever - NFV
 | 
				
			||||||
 | 
					mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/nfv
 | 
				
			||||||
 | 
					# baseurl=https://repo.almalinux.org/almalinux/$releasever/NFV/$basearch/os/
 | 
				
			||||||
 | 
					enabled=0
 | 
				
			||||||
 | 
					gpgcheck=1
 | 
				
			||||||
 | 
					countme=1
 | 
				
			||||||
 | 
					gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-10
 | 
				
			||||||
 | 
					metadata_expire=86400
 | 
				
			||||||
 | 
					enabled_metadata=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[nfv-debuginfo]
 | 
				
			||||||
 | 
					name=AlmaLinux $releasever - NFV - Debug
 | 
				
			||||||
 | 
					mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/nfv-debug
 | 
				
			||||||
 | 
					# baseurl=https://vault.almalinux.org/$releasever/NFV/debug/$basearch/
 | 
				
			||||||
 | 
					enabled=0
 | 
				
			||||||
 | 
					gpgcheck=1
 | 
				
			||||||
 | 
					gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-10
 | 
				
			||||||
 | 
					metadata_expire=86400
 | 
				
			||||||
 | 
					enabled_metadata=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[nfv-source]
 | 
				
			||||||
 | 
					name=AlmaLinux $releasever - NFV - Source
 | 
				
			||||||
 | 
					mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/nfv-source
 | 
				
			||||||
 | 
					# baseurl=https://vault.almalinux.org/$releasever/NFV/Source/
 | 
				
			||||||
 | 
					enabled=0
 | 
				
			||||||
 | 
					gpgcheck=1
 | 
				
			||||||
 | 
					gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-10
 | 
				
			||||||
 | 
					metadata_expire=86400
 | 
				
			||||||
 | 
					enabled_metadata=0
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					        cat <<'EOF' >$Dir_YumRepos/almalinux-rt.repo
 | 
				
			||||||
 | 
					[rt]
 | 
				
			||||||
 | 
					name=AlmaLinux $releasever - RT
 | 
				
			||||||
 | 
					mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/rt
 | 
				
			||||||
 | 
					# baseurl=https://repo.almalinux.org/almalinux/$releasever/RT/$basearch/os/
 | 
				
			||||||
 | 
					enabled=0
 | 
				
			||||||
 | 
					gpgcheck=1
 | 
				
			||||||
 | 
					countme=1
 | 
				
			||||||
 | 
					gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-10
 | 
				
			||||||
 | 
					metadata_expire=86400
 | 
				
			||||||
 | 
					enabled_metadata=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[rt-debuginfo]
 | 
				
			||||||
 | 
					name=AlmaLinux $releasever - RT - Debug
 | 
				
			||||||
 | 
					mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/rt-debug
 | 
				
			||||||
 | 
					# baseurl=https://vault.almalinux.org/$releasever/RT/debug/$basearch/
 | 
				
			||||||
 | 
					enabled=0
 | 
				
			||||||
 | 
					gpgcheck=1
 | 
				
			||||||
 | 
					gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-10
 | 
				
			||||||
 | 
					metadata_expire=86400
 | 
				
			||||||
 | 
					enabled_metadata=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[rt-source]
 | 
				
			||||||
 | 
					name=AlmaLinux $releasever - RT - Source
 | 
				
			||||||
 | 
					mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/rt-source
 | 
				
			||||||
 | 
					# baseurl=https://vault.almalinux.org/$releasever/RT/Source/
 | 
				
			||||||
 | 
					enabled=0
 | 
				
			||||||
 | 
					gpgcheck=1
 | 
				
			||||||
 | 
					gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-10
 | 
				
			||||||
 | 
					metadata_expire=86400
 | 
				
			||||||
 | 
					enabled_metadata=0
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					        cat <<'EOF' >$Dir_YumRepos/almalinux-saphana.repo
 | 
				
			||||||
 | 
					[saphana]
 | 
				
			||||||
 | 
					name=AlmaLinux $releasever - SAPHANA
 | 
				
			||||||
 | 
					mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/saphana
 | 
				
			||||||
 | 
					# baseurl=https://repo.almalinux.org/almalinux/$releasever/SAPHANA/$basearch/os/
 | 
				
			||||||
 | 
					enabled=0
 | 
				
			||||||
 | 
					gpgcheck=1
 | 
				
			||||||
 | 
					countme=1
 | 
				
			||||||
 | 
					gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-10
 | 
				
			||||||
 | 
					metadata_expire=86400
 | 
				
			||||||
 | 
					enabled_metadata=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[saphana-debuginfo]
 | 
				
			||||||
 | 
					name=AlmaLinux $releasever - SAPHANA - Debug
 | 
				
			||||||
 | 
					mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/saphana-debug
 | 
				
			||||||
 | 
					# baseurl=https://vault.almalinux.org/$releasever/SAPHANA/debug/$basearch/
 | 
				
			||||||
 | 
					enabled=0
 | 
				
			||||||
 | 
					gpgcheck=1
 | 
				
			||||||
 | 
					gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-10
 | 
				
			||||||
 | 
					metadata_expire=86400
 | 
				
			||||||
 | 
					enabled_metadata=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[saphana-source]
 | 
				
			||||||
 | 
					name=AlmaLinux $releasever - SAPHANA - Source
 | 
				
			||||||
 | 
					mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/saphana-source
 | 
				
			||||||
 | 
					# baseurl=https://vault.almalinux.org/$releasever/SAPHANA/Source/
 | 
				
			||||||
 | 
					enabled=0
 | 
				
			||||||
 | 
					gpgcheck=1
 | 
				
			||||||
 | 
					gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-10
 | 
				
			||||||
 | 
					metadata_expire=86400
 | 
				
			||||||
 | 
					enabled_metadata=0
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					        cat <<'EOF' >$Dir_YumRepos/almalinux-sap.repo
 | 
				
			||||||
 | 
					[sap]
 | 
				
			||||||
 | 
					name=AlmaLinux $releasever - SAP
 | 
				
			||||||
 | 
					mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/sap
 | 
				
			||||||
 | 
					# baseurl=https://repo.almalinux.org/almalinux/$releasever/SAP/$basearch/os/
 | 
				
			||||||
 | 
					enabled=0
 | 
				
			||||||
 | 
					gpgcheck=1
 | 
				
			||||||
 | 
					countme=1
 | 
				
			||||||
 | 
					gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-10
 | 
				
			||||||
 | 
					metadata_expire=86400
 | 
				
			||||||
 | 
					enabled_metadata=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sap-debuginfo]
 | 
				
			||||||
 | 
					name=AlmaLinux $releasever - SAP - Debug
 | 
				
			||||||
 | 
					mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/sap-debug
 | 
				
			||||||
 | 
					# baseurl=https://vault.almalinux.org/$releasever/SAP/debug/$basearch/
 | 
				
			||||||
 | 
					enabled=0
 | 
				
			||||||
 | 
					gpgcheck=1
 | 
				
			||||||
 | 
					gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-10
 | 
				
			||||||
 | 
					metadata_expire=86400
 | 
				
			||||||
 | 
					enabled_metadata=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sap-source]
 | 
				
			||||||
 | 
					name=AlmaLinux $releasever - SAP - Source
 | 
				
			||||||
 | 
					mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/sap-source
 | 
				
			||||||
 | 
					# baseurl=https://vault.almalinux.org/$releasever/SAP/Source/
 | 
				
			||||||
 | 
					enabled=0
 | 
				
			||||||
 | 
					gpgcheck=1
 | 
				
			||||||
 | 
					gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-10
 | 
				
			||||||
 | 
					metadata_expire=86400
 | 
				
			||||||
 | 
					enabled_metadata=0
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					        ;;
 | 
				
			||||||
    9)
 | 
					    9)
 | 
				
			||||||
        cat <<'EOF' >$Dir_YumRepos/almalinux-appstream.repo
 | 
					        cat <<'EOF' >$Dir_YumRepos/almalinux-appstream.repo
 | 
				
			||||||
[appstream]
 | 
					[appstream]
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
#!/bin/bash
 | 
					#!/bin/bash
 | 
				
			||||||
## Author: SuperManito
 | 
					## Author: SuperManito
 | 
				
			||||||
## Modified: 2025-05-19
 | 
					## Modified: 2025-05-29
 | 
				
			||||||
## License: MIT
 | 
					## License: MIT
 | 
				
			||||||
## GitHub: https://github.com/SuperManito/LinuxMirrors
 | 
					## GitHub: https://github.com/SuperManito/LinuxMirrors
 | 
				
			||||||
## Website: https://linuxmirrors.cn
 | 
					## Website: https://linuxmirrors.cn
 | 
				
			||||||
@@ -446,6 +446,10 @@ function collect_system_info() {
 | 
				
			|||||||
        fi
 | 
					        fi
 | 
				
			||||||
        ;;
 | 
					        ;;
 | 
				
			||||||
    "${SYSTEM_REDHAT}")
 | 
					    "${SYSTEM_REDHAT}")
 | 
				
			||||||
 | 
					        # 拦截最新的红帽 10 版本
 | 
				
			||||||
 | 
					        if [[ "${SYSTEM_VERSION_ID_MAJOR}" == 10 ]]; then
 | 
				
			||||||
 | 
					            output_error "暂不支持当前操作系统,请等待官方适配 10 版本!"
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
        SYSTEM_JUDGMENT="$(awk '{printf $1}' $File_RedHatRelease)"
 | 
					        SYSTEM_JUDGMENT="$(awk '{printf $1}' $File_RedHatRelease)"
 | 
				
			||||||
        # 拦截 Anolis OS 8.8 以下版本,不支持从 Docker 官方仓库安装
 | 
					        # 拦截 Anolis OS 8.8 以下版本,不支持从 Docker 官方仓库安装
 | 
				
			||||||
        if [[ "${SYSTEM_JUDGMENT}" == "${SYSTEM_ANOLISOS}" ]]; then
 | 
					        if [[ "${SYSTEM_JUDGMENT}" == "${SYSTEM_ANOLISOS}" ]]; then
 | 
				
			||||||
@@ -506,9 +510,6 @@ function collect_system_info() {
 | 
				
			|||||||
            "${SYSTEM_UBUNTU}" | "${SYSTEM_ZORIN}")
 | 
					            "${SYSTEM_UBUNTU}" | "${SYSTEM_ZORIN}")
 | 
				
			||||||
                SOURCE_BRANCH="ubuntu"
 | 
					                SOURCE_BRANCH="ubuntu"
 | 
				
			||||||
                ;;
 | 
					                ;;
 | 
				
			||||||
            "${SYSTEM_RHEL}")
 | 
					 | 
				
			||||||
                SOURCE_BRANCH="rhel"
 | 
					 | 
				
			||||||
                ;;
 | 
					 | 
				
			||||||
            "${SYSTEM_RASPBERRY_PI_OS}")
 | 
					            "${SYSTEM_RASPBERRY_PI_OS}")
 | 
				
			||||||
                case "${DEVICE_ARCH_RAW}" in
 | 
					                case "${DEVICE_ARCH_RAW}" in
 | 
				
			||||||
                x86_64 | aarch64)
 | 
					                x86_64 | aarch64)
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										12
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								README.md
									
									
									
									
									
								
							@@ -63,7 +63,7 @@
 | 
				
			|||||||
    </tr>
 | 
					    </tr>
 | 
				
			||||||
    <tr>
 | 
					    <tr>
 | 
				
			||||||
        <td><a href="https://access.redhat.com/products/red-hat-enterprise-linux" target="_blank"><sub><img src="docs/assets/images/icon/redhat.svg" width="16" height="16"></sub></a> Red Hat Enterprise Linux</td>
 | 
					        <td><a href="https://access.redhat.com/products/red-hat-enterprise-linux" target="_blank"><sub><img src="docs/assets/images/icon/redhat.svg" width="16" height="16"></sub></a> Red Hat Enterprise Linux</td>
 | 
				
			||||||
        <td align="center">7 ~ 9</td>
 | 
					        <td align="center">7 ~ 10</td>
 | 
				
			||||||
    </tr>
 | 
					    </tr>
 | 
				
			||||||
    <tr>
 | 
					    <tr>
 | 
				
			||||||
        <td><a href="https://fedoraproject.org/zh-Hans" target="_blank"><sub><img src="docs/assets/images/icon/fedora.ico" width="16" height="16"></sub></a> Fedora</td>
 | 
					        <td><a href="https://fedoraproject.org/zh-Hans" target="_blank"><sub><img src="docs/assets/images/icon/fedora.ico" width="16" height="16"></sub></a> Fedora</td>
 | 
				
			||||||
@@ -79,7 +79,7 @@
 | 
				
			|||||||
    </tr>
 | 
					    </tr>
 | 
				
			||||||
    <tr>
 | 
					    <tr>
 | 
				
			||||||
        <td><a href="https://almalinux.org/zh-hans" target="_blank"><sub><img src="docs/assets/images/icon/almalinux.svg" width="16" height="16"></sub></a> AlmaLinux</td>
 | 
					        <td><a href="https://almalinux.org/zh-hans" target="_blank"><sub><img src="docs/assets/images/icon/almalinux.svg" width="16" height="16"></sub></a> AlmaLinux</td>
 | 
				
			||||||
        <td align="center">8 ~ 9</td>
 | 
					        <td align="center">8 ~ 10</td>
 | 
				
			||||||
    </tr>
 | 
					    </tr>
 | 
				
			||||||
    <tr>
 | 
					    <tr>
 | 
				
			||||||
        <td><a href="https://www.openeuler.org/zh" target="_blank"><sub><img src="docs/assets/images/icon/openeuler.ico" width="16" height="16"></sub></a> openEuler(开源欧拉)</td>
 | 
					        <td><a href="https://www.openeuler.org/zh" target="_blank"><sub><img src="docs/assets/images/icon/openeuler.ico" width="16" height="16"></sub></a> openEuler(开源欧拉)</td>
 | 
				
			||||||
@@ -132,19 +132,19 @@
 | 
				
			|||||||
### GNU/Linux 更换系统软件源
 | 
					### GNU/Linux 更换系统软件源
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```bash
 | 
					```bash
 | 
				
			||||||
bash <(curl -sSL https://raw.githubusercontent.com/SuperManito/LinuxMirrors/main/ChangeMirrors.sh)
 | 
					bash <(curl -sSL https://linuxmirrors.cn/main.sh)
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Docker 安装与换源
 | 
					### Docker 安装与换源
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```bash
 | 
					```bash
 | 
				
			||||||
bash <(curl -sSL https://raw.githubusercontent.com/SuperManito/LinuxMirrors/main/DockerInstallation.sh)
 | 
					bash <(curl -sSL https://linuxmirrors.cn/docker.sh)
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 更换 Docker 镜像加速器
 | 
					### Docker 更换镜像加速器
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```bash
 | 
					```bash
 | 
				
			||||||
bash <(curl -sSL https://raw.githubusercontent.com/SuperManito/LinuxMirrors/main/DockerInstallation.sh) --only-registry
 | 
					bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --only-registry
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
> 项目官方网站集成了 AI 聊天与搜索,更多使用方法详见 [**linuxmirrors.cn**](https://linuxmirrors.cn/use)
 | 
					> 项目官方网站集成了 AI 聊天与搜索,更多使用方法详见 [**linuxmirrors.cn**](https://linuxmirrors.cn/use)
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										284
									
								
								docs/index.md
									
									
									
									
									
								
							
							
						
						
									
										284
									
								
								docs/index.md
									
									
									
									
									
								
							@@ -1,142 +1,142 @@
 | 
				
			|||||||
---
 | 
					---
 | 
				
			||||||
title: 一键脚本使换源更简单
 | 
					title: 一键脚本使换源更简单
 | 
				
			||||||
description: GNU/Linux 更换系统软件源脚本及 Docker 安装与换源脚本
 | 
					description: GNU/Linux 更换系统软件源脚本及 Docker 安装与换源脚本
 | 
				
			||||||
comments: true
 | 
					comments: true
 | 
				
			||||||
glightbox: false
 | 
					glightbox: false
 | 
				
			||||||
comments_description: 该评论区仅用于展示项目使用评价和经验分享,反馈问题或提出建议请前往<a href="/community">社区</a>
 | 
					comments_description: 该评论区仅用于展示项目使用评价和经验分享,反馈问题或提出建议请前往<a href="/community">社区</a>
 | 
				
			||||||
hide:
 | 
					hide:
 | 
				
			||||||
  - navigation
 | 
					  - navigation
 | 
				
			||||||
  - toc
 | 
					  - toc
 | 
				
			||||||
  - feedback
 | 
					  - feedback
 | 
				
			||||||
  - footer
 | 
					  - footer
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<div class="grid" markdown>
 | 
					<div class="grid" markdown>
 | 
				
			||||||
<figure style="margin: 0 auto" markdown>
 | 
					<figure style="margin: 0 auto" markdown>
 | 
				
			||||||
  <div class="hero">
 | 
					  <div class="hero">
 | 
				
			||||||
    <span class="hero-background">
 | 
					    <span class="hero-background">
 | 
				
			||||||
    </span>
 | 
					    </span>
 | 
				
			||||||
  </div>
 | 
					  </div>
 | 
				
			||||||
  <img src="/assets/images/brand/light/2.png#only-light" alt="LinuxMirrors" style="width: 300px" />
 | 
					  <img src="/assets/images/brand/light/2.png#only-light" alt="LinuxMirrors" style="width: 300px" />
 | 
				
			||||||
  <img src="/assets/images/brand/dark/2.png#only-dark" alt="LinuxMirrors" style="width: 300px" />
 | 
					  <img src="/assets/images/brand/dark/2.png#only-dark" alt="LinuxMirrors" style="width: 300px" />
 | 
				
			||||||
  <figcaption>GNU/Linux 更换系统软件源脚本及 Docker 安装与换源脚本</figcaption>
 | 
					  <figcaption>GNU/Linux 更换系统软件源脚本及 Docker 安装与换源脚本</figcaption>
 | 
				
			||||||
  <figcaption>一键脚本使换源更简单</figcaption>
 | 
					  <figcaption>一键脚本使换源更简单</figcaption>
 | 
				
			||||||
</figure>
 | 
					</figure>
 | 
				
			||||||
<figure class="home-cmd no-select" style="margin: 0; display: flex; flex-direction: column; justify-content: center" markdown>
 | 
					<figure class="home-cmd no-select" style="margin: 0; display: flex; flex-direction: column; justify-content: center" markdown>
 | 
				
			||||||
=== "GNU/Linux"
 | 
					=== "GNU/Linux"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <img src="/assets/images/brand/command/linux-light.png#only-light" style="width: 560px; box-shadow: var(--md-shadow-z2)" alt="command-linux" />
 | 
					    <img src="/assets/images/brand/command/linux-light.png#only-light" style="width: 560px; box-shadow: var(--md-shadow-z2)" alt="command-linux" />
 | 
				
			||||||
    <img src="/assets/images/brand/command/linux-dark.png#only-dark" style="width: 560px; box-shadow: var(--md-shadow-z2)" alt="command-linux" />
 | 
					    <img src="/assets/images/brand/command/linux-dark.png#only-dark" style="width: 560px; box-shadow: var(--md-shadow-z2)" alt="command-linux" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <button class="md-clipboard" data-clipboard-text="bash <(curl -sSL https://linuxmirrors.cn/main.sh)" title="复制"></button>
 | 
					    <button class="md-clipboard" data-clipboard-text="bash <(curl -sSL https://linuxmirrors.cn/main.sh)" title="复制"></button>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
=== "Docker"
 | 
					=== "Docker"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <img src="/assets/images/brand/command/docker-light.png#only-light" style="width: 560px; box-shadow: var(--md-shadow-z2)" alt="command-docker" />
 | 
					    <img src="/assets/images/brand/command/docker-light.png#only-light" style="width: 560px; box-shadow: var(--md-shadow-z2)" alt="command-docker" />
 | 
				
			||||||
    <img src="/assets/images/brand/command/docker-dark.png#only-dark" style="width: 560px; box-shadow: var(--md-shadow-z2)" alt="command-docker" />
 | 
					    <img src="/assets/images/brand/command/docker-dark.png#only-dark" style="width: 560px; box-shadow: var(--md-shadow-z2)" alt="command-docker" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <button class="md-clipboard" data-clipboard-text="bash <(curl -sSL https://linuxmirrors.cn/docker.sh)" title="复制"></button>
 | 
					    <button class="md-clipboard" data-clipboard-text="bash <(curl -sSL https://linuxmirrors.cn/docker.sh)" title="复制"></button>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
</figure>
 | 
					</figure>
 | 
				
			||||||
</div>
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<div class="grid" markdown>
 | 
					<div class="grid" markdown>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<div class="grid cards" style="height: fit-content" markdown>
 | 
					<div class="grid cards" style="height: fit-content" markdown>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-   :material-thumb-up-outline:{ .lg .middle } __轻松使用__
 | 
					-   :material-thumb-up-outline:{ .lg .middle } __轻松使用__
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ---
 | 
					    ---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    只需要一行命令就能直接运行,零技术门槛,无需安装任何依赖  
 | 
					    只需要一行命令就能直接运行,零技术门槛,无需安装任何依赖  
 | 
				
			||||||
    文档集成了 AI 搜索与聊天,提供各种场景的解决方案
 | 
					    文档集成了 AI 搜索与聊天,提供各种场景的解决方案
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-   :material-vector-polyline:{ .lg .middle } __系统支持广泛__
 | 
					-   :material-vector-polyline:{ .lg .middle } __系统支持广泛__
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ---
 | 
					    ---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    已适配高达 `23+` 操作系统,涵盖各类版本,精准识别系统类型  
 | 
					    已适配高达 `23+` 操作系统,涵盖各类版本,精准识别系统类型  
 | 
				
			||||||
    脚本兼容性高,不支持的系统会有相应提示并无操作跳出
 | 
					    脚本兼容性高,不支持的系统会有相应提示并无操作跳出
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-   :material-vector-triangle:{ .lg .middle } __多元软件源适配__
 | 
					-   :material-vector-triangle:{ .lg .middle } __多元软件源适配__
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ---
 | 
					    ---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    深入考察了国内镜像站的系统适配情况,专为中国宝宝打造  
 | 
					    深入考察了国内镜像站的系统适配情况,专为中国宝宝打造  
 | 
				
			||||||
    还提供全网搜集的国内教育网和海外镜像站供用户选择
 | 
					    还提供全网搜集的国内教育网和海外镜像站供用户选择
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-   :material-rocket-launch-outline:{ .lg .middle } __快,且高效__
 | 
					-   :material-rocket-launch-outline:{ .lg .middle } __快,且高效__
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ---
 | 
					    ---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    最快仅需 10 秒即可完成软件源的更换,高效运维,节省大量时间成本  
 | 
					    最快仅需 10 秒即可完成软件源的更换,高效运维,节省大量时间成本  
 | 
				
			||||||
    项目经过数年的迭代与优化,脚本运行稳定性能卓越,场景判断完善
 | 
					    项目经过数年的迭代与优化,脚本运行稳定性能卓越,场景判断完善
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-   :octicons-globe-24:{ .lg .middle } __全球网络,调用无忧__
 | 
					-   :octicons-globe-24:{ .lg .middle } __全球网络,调用无忧__
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ---
 | 
					    ---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    本网站提供全球边缘网络加速,不惧各种网络环境,国内轻松访问  
 | 
					    本网站提供全球边缘网络加速,不惧各种网络环境,国内轻松访问  
 | 
				
			||||||
    同时提供了多个备用地址以确保项目脚本始终可用,真正做到使用无忧
 | 
					    同时提供了多个备用地址以确保项目脚本始终可用,真正做到使用无忧
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-   :material-arm-flex-outline:{ .lg .middle } __功能强大,无以伦比__
 | 
					-   :material-arm-flex-outline:{ .lg .middle } __功能强大,无以伦比__
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ---
 | 
					    ---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    脚本通过方向键交互逐步引导用户选择软件源配置,使换源更简单  
 | 
					    脚本通过方向键交互逐步引导用户选择软件源配置,使换源更简单  
 | 
				
			||||||
    此外脚本提供了丰富的命令选项,可实现各种自定义需求
 | 
					    此外脚本提供了丰富的命令选项,可实现各种自定义需求
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-   :material-pencil-ruler-outline:{ .lg .middle } __高度可定制__
 | 
					-   :material-pencil-ruler-outline:{ .lg .middle } __高度可定制__
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ---
 | 
					    ---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    脚本命令选项遵循正式应用程序规范设计,能够满足各种高级需求  
 | 
					    脚本命令选项遵循正式应用程序规范设计,能够满足各种高级需求  
 | 
				
			||||||
    代码结构清晰,易于阅读和修改,支持克隆后定制
 | 
					    代码结构清晰,易于阅读和修改,支持克隆后定制
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-   :material-scale-balance:{ .lg .middle } __自由,开源__
 | 
					-   :material-scale-balance:{ .lg .middle } __自由,开源__
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ---
 | 
					    ---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    项目已设立 MIT 开源许可协议,脚本代码完全开源且免费使用  
 | 
					    项目已设立 MIT 开源许可协议,脚本代码完全开源且免费使用  
 | 
				
			||||||
    请尊重作者的知识成果,传播时请在显著位置标注来源或项目地址
 | 
					    请尊重作者的知识成果,传播时请在显著位置标注来源或项目地址
 | 
				
			||||||
 | 
					
 | 
				
			||||||
</div>
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<div style="text-align: center" markdown>
 | 
					<div style="text-align: center" markdown>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 操作系统 | 适配版本 |
 | 
					| 操作系统 | 适配版本 |
 | 
				
			||||||
| --- | :---: |
 | 
					| --- | :---: |
 | 
				
			||||||
| <a href="https://www.debian.org" title="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~13_ |
 | 
					| <a href="https://www.debian.org" title="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~13_ |
 | 
				
			||||||
| <a href="https://cn.ubuntu.com" title="https://cn.ubuntu.com" target="_blank"><img src="/assets/images/icon/ubuntu.svg" width="16" height="16" style="vertical-align: -0.15em"></a> Ubuntu :material-information-outline:{ title="支持乌班图家族衍生操作系统,例如 <code>优麒麟</code> <code>Kubuntu</code> 等<br/>由于迭代速度较快并不直接支持所有非 LTS 的版本,具体详见文档" } | _14~25_ |
 | 
					| <a href="https://cn.ubuntu.com" title="https://cn.ubuntu.com" target="_blank"><img src="/assets/images/icon/ubuntu.svg" width="16" height="16" style="vertical-align: -0.15em"></a> Ubuntu :material-information-outline:{ title="支持乌班图家族衍生操作系统,例如 <code>优麒麟</code> <code>Kubuntu</code> 等<br/>由于迭代速度较快并不直接支持所有非 LTS 的版本,具体详见文档" } | _14~25_ |
 | 
				
			||||||
| <a href="https://www.kali.org" title="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://www.kali.org" title="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" title="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~22 / LMDE 6_ |
 | 
					| <a href="https://linuxmint.com" title="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~22 / LMDE 6_ |
 | 
				
			||||||
| <a href="https://www.deepin.org" title="https://www.deepin.org" target="_blank"><img src="/assets/images/icon/deepin.png" width="16" height="16" style="vertical-align: -0.2em"></a> Deepin(深度) | _all_ |
 | 
					| <a href="https://www.deepin.org" title="https://www.deepin.org" target="_blank"><img src="/assets/images/icon/deepin.png" width="16" height="16" style="vertical-align: -0.2em"></a> Deepin(深度) | _all_ |
 | 
				
			||||||
| <a href="https://zorin.com/os" title="https://zorin.com/os" target="_blank"><img src="/assets/images/icon/zorin-os.png" width="16" height="16" style="vertical-align: -0.1em"></a> Zorin OS | _all_ |
 | 
					| <a href="https://zorin.com/os" title="https://zorin.com/os" target="_blank"><img src="/assets/images/icon/zorin-os.png" width="16" height="16" style="vertical-align: -0.1em"></a> Zorin OS | _all_ |
 | 
				
			||||||
| <a href="https://www.armbian.com" title="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.armbian.com" title="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" title="https://www.proxmox.com" target="_blank"><img src="/assets/images/icon/proxmox.svg" width="16" height="16" style="vertical-align: -0.2em"></a> Proxmox VE | _all_ |
 | 
					| <a href="https://www.proxmox.com" title="https://www.proxmox.com" target="_blank"><img src="/assets/images/icon/proxmox.svg" width="16" height="16" style="vertical-align: -0.2em"></a> Proxmox VE | _all_ |
 | 
				
			||||||
| <a href="https://www.raspberrypi.com" title="https://www.raspberrypi.com" target="_blank"><img src="/assets/images/icon/raspberry-pi.png" width="16" height="16" style="vertical-align: -0.2em"></a> Raspberry Pi OS | _all_ |
 | 
					| <a href="https://www.raspberrypi.com" title="https://www.raspberrypi.com" target="_blank"><img src="/assets/images/icon/raspberry-pi.png" width="16" height="16" style="vertical-align: -0.2em"></a> Raspberry Pi OS | _all_ |
 | 
				
			||||||
| <a href="https://access.redhat.com/products/red-hat-enterprise-linux" title="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~9_ |
 | 
					| <a href="https://access.redhat.com/products/red-hat-enterprise-linux" title="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~10_ |
 | 
				
			||||||
| <a href="https://fedoraproject.org/zh-Hans" title="https://fedoraproject.org/zh-Hans" target="_blank"><img src="/assets/images/icon/fedora.ico" width="16" height="16" style="vertical-align: -0.15em"></a> Fedora | _30~42_ |
 | 
					| <a href="https://fedoraproject.org/zh-Hans" title="https://fedoraproject.org/zh-Hans" target="_blank"><img src="/assets/images/icon/fedora.ico" width="16" height="16" style="vertical-align: -0.15em"></a> Fedora | _30~42_ |
 | 
				
			||||||
| <a href="https://www.centos.org" title="https://www.centos.org" target="_blank"><img src="/assets/images/icon/centos.svg" width="16" height="16" style="vertical-align: -0.1em"></a> CentOS | _7~8 / Stream 8~10_ |
 | 
					| <a href="https://www.centos.org" title="https://www.centos.org" target="_blank"><img src="/assets/images/icon/centos.svg" width="16" height="16" style="vertical-align: -0.1em"></a> CentOS | _7~8 / Stream 8~10_ |
 | 
				
			||||||
| <a href="https://rockylinux.org" title="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://rockylinux.org" title="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" title="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://almalinux.org/zh-hans" title="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~10_ |
 | 
				
			||||||
| <a href="https://www.openeuler.org/zh" title="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~25_ |
 | 
					| <a href="https://www.openeuler.org/zh" title="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~25_ |
 | 
				
			||||||
| <a href="https://www.opencloudos.org" title="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.6~9 / Stream 23_ |
 | 
					| <a href="https://www.opencloudos.org" title="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.6~9 / Stream 23_ |
 | 
				
			||||||
| <a href="https://www.openkylin.top" title="https://www.openkylin.top" target="_blank"><img src="/assets/images/icon/openkylin.ico" width="16" height="16" style="vertical-align: -0.25em"></a> openKylin(开放麒麟) | _all_ |
 | 
					| <a href="https://www.openkylin.top" title="https://www.openkylin.top" target="_blank"><img src="/assets/images/icon/openkylin.ico" width="16" height="16" style="vertical-align: -0.25em"></a> openKylin(开放麒麟) | _all_ |
 | 
				
			||||||
| <a href="https://openanolis.cn" title="https://openanolis.cn" target="_blank"><img src="/assets/images/icon/anolis.png" width="16" height="16" style="vertical-align: -0.1em"></a> Anolis OS(龙蜥) | _8 / 23_ |
 | 
					| <a href="https://openanolis.cn" title="https://openanolis.cn" target="_blank"><img src="/assets/images/icon/anolis.png" width="16" height="16" style="vertical-align: -0.1em"></a> Anolis OS(龙蜥) | _8 / 23_ |
 | 
				
			||||||
| <a href="https://www.opensuse.org" title="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://www.opensuse.org" title="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" title="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://archlinux.org" title="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" title="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.alpinelinux.org" title="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" title="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.gentoo.org" title="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://nixos.org" title="https://nixos.org" target="_blank"><img src="/assets/images/icon/nixos.svg" width="16" height="16" style="vertical-align: -0.15em"></a> NixOS | _19~24_ |
 | 
					| <a href="https://nixos.org" title="https://nixos.org" target="_blank"><img src="/assets/images/icon/nixos.svg" width="16" height="16" style="vertical-align: -0.15em"></a> NixOS | _19~24_ |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
</div>
 | 
					</div>
 | 
				
			||||||
</div>
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<div style="text-align: center; padding: 1rem 0" markdown>
 | 
					<div style="text-align: center; padding: 1rem 0" markdown>
 | 
				
			||||||
[开 始 使 用](use/index.md){ .md-button .md-button--primary }   [查看软件源列表](mirrors/index.md){ .md-button }
 | 
					[开 始 使 用](use/index.md){ .md-button .md-button--primary }   [查看软件源列表](mirrors/index.md){ .md-button }
 | 
				
			||||||
</div>
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
--8<-- "docs/sponsor/main.html"
 | 
					--8<-- "docs/sponsor/main.html"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,8 +5,6 @@ hide:
 | 
				
			|||||||
  - footer
 | 
					  - footer
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
> _如果觉得这个项目不错对您有所帮助的话,请点击仓库右上角的 Star 并分享给更多的朋友_ :octicons-heart-fill-24:{ .heart }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
!!! tip inline end "本项目已被众多流行项目使用,广受社区用户好评"
 | 
					!!! tip inline end "本项目已被众多流行项目使用,广受社区用户好评"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## :simple-docker:{style="color: #1d63ed"} Docker 安装与换源脚本
 | 
					## :simple-docker:{style="color: #1d63ed"} Docker 安装与换源脚本
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,454 +1,464 @@
 | 
				
			|||||||
:root {
 | 
					:root {
 | 
				
			||||||
    --md-text-font: system-ui, -apple-system, 'Roboto', 'PingFang SC', 'Microsoft YaHei', 'Hiragino Sans GB', 'Segoe UI', Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
 | 
					    --md-text-font: system-ui, -apple-system, 'Roboto', 'PingFang SC', 'Microsoft YaHei', 'Hiragino Sans GB', 'Segoe UI', Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
 | 
				
			||||||
    --md-code-font: 'SF Mono';
 | 
					    --md-code-font: 'SF Mono';
 | 
				
			||||||
    --md-primary-fg-color--light: hsl(0, 0%, 100%, 0.33);
 | 
					    --md-primary-fg-color--light: hsl(0, 0%, 100%, 0.33);
 | 
				
			||||||
    --md-default-bg-color--light: #fff;
 | 
					    --md-default-bg-color--light: #fff;
 | 
				
			||||||
    --md-default-bg-color--dark: hsla(var(--md-hue), 15%, 14%, 1);
 | 
					    --md-default-bg-color--dark: hsla(var(--md-hue), 15%, 14%, 1);
 | 
				
			||||||
    --view-transition-z-index-foreground: 999;
 | 
					    --view-transition-z-index-foreground: 999;
 | 
				
			||||||
    --view-transition-z-index-background: 1;
 | 
					    --view-transition-z-index-background: 1;
 | 
				
			||||||
    --hero-background-image: linear-gradient(90deg, rgb(104 104 104) 50%, rgb(104 104 104) 50%);
 | 
					    --hero-background-image: linear-gradient(90deg, rgb(104 104 104) 50%, rgb(104 104 104) 50%);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[data-md-color-scheme='slate'] {
 | 
					[data-md-color-scheme='slate'] {
 | 
				
			||||||
    --hero-background-image: linear-gradient(90deg, rgb(114 114 114) 50%, rgb(114 114 114) 50%);
 | 
					    --hero-background-image: linear-gradient(90deg, rgb(114 114 114) 50%, rgb(114 114 114) 50%);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[data-md-color-primary=white] {
 | 
					[data-md-color-primary=white] {
 | 
				
			||||||
    --md-typeset-a-color: #2080f0;
 | 
					    --md-typeset-a-color: #2080f0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[data-md-color-scheme='slate'][data-md-color-primary=black] {
 | 
					[data-md-color-scheme='slate'][data-md-color-primary=black] {
 | 
				
			||||||
    --md-typeset-a-color: #2080f0;
 | 
					    --md-typeset-a-color: #2080f0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* logo */
 | 
					/* logo */
 | 
				
			||||||
[data-md-color-scheme="default"] .md-logo img {
 | 
					[data-md-color-scheme="default"] .md-logo img {
 | 
				
			||||||
    content: url(/assets/images/brand/svg/logo-light.svg);
 | 
					    content: url(/assets/images/brand/svg/logo-light.svg);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[data-md-color-scheme="slate"] .md-logo img {
 | 
					[data-md-color-scheme="slate"] .md-logo img {
 | 
				
			||||||
    content: url(/assets/images/brand/svg/logo-dark.svg);
 | 
					    content: url(/assets/images/brand/svg/logo-dark.svg);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* 字体 */
 | 
					/* 字体 */
 | 
				
			||||||
@font-face {
 | 
					@font-face {
 | 
				
			||||||
    font-family: 'SF Mono';
 | 
					    font-family: 'SF Mono';
 | 
				
			||||||
    src: url('./fonts/SF-Mono-Regular.otf');
 | 
					    src: url('./fonts/SF-Mono-Regular.otf');
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* 告诫 */
 | 
					/* 告诫 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.md-typeset .admonition,
 | 
					.md-typeset .admonition,
 | 
				
			||||||
.md-typeset details {
 | 
					.md-typeset details {
 | 
				
			||||||
    border-width: 0;
 | 
					    border-width: 0;
 | 
				
			||||||
    border-left-width: 4px;
 | 
					    border-left-width: 4px;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.md-typeset .admonition.quote,
 | 
					.md-typeset .admonition.quote,
 | 
				
			||||||
.md-typeset details.quote {
 | 
					.md-typeset details.quote {
 | 
				
			||||||
    border-width: .075rem !important;
 | 
					    border-width: .075rem !important;
 | 
				
			||||||
    border-color: var(--md-default-fg-color--lightest) !important;
 | 
					    border-color: var(--md-default-fg-color--lightest) !important;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[data-md-color-scheme='slate'] .md-typeset .admonition,
 | 
					[data-md-color-scheme='slate'] .md-typeset .admonition,
 | 
				
			||||||
[data-md-color-scheme='slate'] .md-typeset details {
 | 
					[data-md-color-scheme='slate'] .md-typeset details {
 | 
				
			||||||
    box-shadow: var(--md-shadow-z2) !important;
 | 
					    box-shadow: var(--md-shadow-z2) !important;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[data-md-color-scheme='slate'] .md-typeset .admonition.quote,
 | 
					[data-md-color-scheme='slate'] .md-typeset .admonition.quote,
 | 
				
			||||||
[data-md-color-scheme='slate'] .md-typeset details.quote {
 | 
					[data-md-color-scheme='slate'] .md-typeset details.quote {
 | 
				
			||||||
    border-color: var(--md-default-fg-color--lightest) !important;
 | 
					    border-color: var(--md-default-fg-color--lightest) !important;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.md-typeset .admonition.tip,
 | 
					.md-typeset .admonition.tip,
 | 
				
			||||||
.md-typeset details.tip {
 | 
					.md-typeset details.tip {
 | 
				
			||||||
    border-color: #03b803;
 | 
					    border-color: #03b803;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.md-typeset .tip>.admonition-title:before,
 | 
					.md-typeset .tip>.admonition-title:before,
 | 
				
			||||||
.md-typeset .tip>summary:before {
 | 
					.md-typeset .tip>summary:before {
 | 
				
			||||||
    background-color: #03b803;
 | 
					    background-color: #03b803;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.md-typeset .tip>.admonition-title,
 | 
					.md-typeset .tip>.admonition-title,
 | 
				
			||||||
.md-typeset .tip>summary {
 | 
					.md-typeset .tip>summary {
 | 
				
			||||||
    background-color: #0094001a;
 | 
					    background-color: #0094001a;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.md-typeset .admonition.tip:focus-within,
 | 
					.md-typeset .admonition.tip:focus-within,
 | 
				
			||||||
.md-typeset details.tip:focus-within {
 | 
					.md-typeset details.tip:focus-within {
 | 
				
			||||||
    box-shadow: 0 0 0 .2rem #0094000a;
 | 
					    box-shadow: 0 0 0 .2rem #0094000a;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[data-md-color-scheme="slate"] .md-typeset .admonition.quote,
 | 
					[data-md-color-scheme="slate"] .md-typeset .admonition.quote,
 | 
				
			||||||
.md-typeset details.quote {
 | 
					.md-typeset details.quote {
 | 
				
			||||||
    border-color: hsla(225deg, 15%, 90%, 0.24);
 | 
					    border-color: hsla(225deg, 15%, 90%, 0.24);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* 着陆页 */
 | 
					/* 着陆页 */
 | 
				
			||||||
.home-cmd pre>code {
 | 
					.home-cmd pre>code {
 | 
				
			||||||
    padding-right: 3em;
 | 
					    padding-right: 3em;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.home-cmd .md-clipboard {
 | 
					.home-cmd .md-clipboard {
 | 
				
			||||||
    top: calc(100% - 60px);
 | 
					    top: calc(100% - 60px);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@media screen and (max-width: 768px) {
 | 
					@media screen and (max-width: 768px) {
 | 
				
			||||||
    .home-cmd .md-clipboard {
 | 
					    .home-cmd .md-clipboard {
 | 
				
			||||||
        top: calc(100% - 50px);
 | 
					        top: calc(100% - 50px);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* 主题覆盖 */
 | 
					/* 主题覆盖 */
 | 
				
			||||||
.no-select img {
 | 
					.no-select img {
 | 
				
			||||||
    user-select: none;
 | 
					    user-select: none;
 | 
				
			||||||
    -webkit-user-select: none;
 | 
					    -webkit-user-select: none;
 | 
				
			||||||
    -webkit-user-drag: none;
 | 
					    -webkit-user-drag: none;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.md-header {
 | 
					.md-header {
 | 
				
			||||||
    background-color: hsla(240, 9%, 75%, 0.33);
 | 
					    background-color: hsla(240, 9%, 75%, 0.33);
 | 
				
			||||||
    -webkit-backdrop-filter: blur(8px);
 | 
					    -webkit-backdrop-filter: blur(8px);
 | 
				
			||||||
    backdrop-filter: blur(8px);
 | 
					    backdrop-filter: blur(8px);
 | 
				
			||||||
    z-index: 999 !important;
 | 
					    z-index: 999 !important;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[data-md-color-scheme='slate'] .md-header {
 | 
					[data-md-color-scheme='slate'] .md-header {
 | 
				
			||||||
    background-color: hsla(var(--md-hue), 15%, 9%, 0.33);
 | 
					    background-color: hsla(var(--md-hue), 15%, 9%, 0.33);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.md-tabs {
 | 
					.md-tabs {
 | 
				
			||||||
    background-color: hsla(240, 9%, 75%, 0.33);
 | 
					    background-color: hsla(240, 9%, 75%, 0.33);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[data-md-color-scheme='slate'] .md-tabs {
 | 
					[data-md-color-scheme='slate'] .md-tabs {
 | 
				
			||||||
    background-color: hsla(var(--md-hue), 15%, 9%, 0.33);
 | 
					    background-color: hsla(var(--md-hue), 15%, 9%, 0.33);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@media screen and (max-width: 768px) {
 | 
					.md-banner {
 | 
				
			||||||
    .md-typeset .admonition .tabbed-set {
 | 
					    font-style: italic;
 | 
				
			||||||
        width: calc(100vw - 3rem - 2px);
 | 
					    color: var(--md-default-fg-color--light);
 | 
				
			||||||
    }
 | 
					    background-color: hsla(240, 9%, 75%, 0.53);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
    .md-typeset .admonition .tabbed-labels {
 | 
					
 | 
				
			||||||
        width: calc(100vw - 3rem - 1.2rem);
 | 
					[data-md-color-scheme='slate'] .md-banner {
 | 
				
			||||||
        padding-left: .6rem;
 | 
					    background-color: hsla(var(--md-hue), 15%, 9%, 0.83);
 | 
				
			||||||
    }
 | 
					}
 | 
				
			||||||
}
 | 
					
 | 
				
			||||||
 | 
					@media screen and (max-width: 768px) {
 | 
				
			||||||
.md-tabs__link {
 | 
					    .md-typeset .admonition .tabbed-set {
 | 
				
			||||||
    font-size: 0.8rem !important;
 | 
					        width: calc(100vw - 3rem - 2px);
 | 
				
			||||||
    font-weight: 600 !important;
 | 
					    }
 | 
				
			||||||
}
 | 
					
 | 
				
			||||||
 | 
					    .md-typeset .admonition .tabbed-labels {
 | 
				
			||||||
.md-typeset {
 | 
					        width: calc(100vw - 3rem - 1.2rem);
 | 
				
			||||||
    font-size: 16px;
 | 
					        padding-left: .6rem;
 | 
				
			||||||
}
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
.md-typeset .emojione,
 | 
					
 | 
				
			||||||
.md-typeset .gemoji,
 | 
					.md-tabs__link {
 | 
				
			||||||
.md-typeset .twemoji {
 | 
					    font-size: 0.8rem !important;
 | 
				
			||||||
    height: 100%;
 | 
					    font-weight: 600 !important;
 | 
				
			||||||
    vertical-align: -0.2em !important;
 | 
					}
 | 
				
			||||||
}
 | 
					
 | 
				
			||||||
 | 
					.md-typeset {
 | 
				
			||||||
.md-typeset .middle {
 | 
					    font-size: 16px;
 | 
				
			||||||
    vertical-align: -0.35em !important;
 | 
					}
 | 
				
			||||||
}
 | 
					
 | 
				
			||||||
 | 
					.md-typeset .emojione,
 | 
				
			||||||
/* HERO */
 | 
					.md-typeset .gemoji,
 | 
				
			||||||
.hero {
 | 
					.md-typeset .twemoji {
 | 
				
			||||||
    width: 390px;
 | 
					    height: 100%;
 | 
				
			||||||
    max-width: 100vw;
 | 
					    vertical-align: -0.2em !important;
 | 
				
			||||||
    height: 160px;
 | 
					}
 | 
				
			||||||
    position: absolute;
 | 
					
 | 
				
			||||||
    margin: 0 auto;
 | 
					.md-typeset .middle {
 | 
				
			||||||
}
 | 
					    vertical-align: -0.35em !important;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
.hero-background {
 | 
					
 | 
				
			||||||
    top: 50%;
 | 
					/* HERO */
 | 
				
			||||||
    width: 50%;
 | 
					.hero {
 | 
				
			||||||
    height: 80px;
 | 
					    width: 390px;
 | 
				
			||||||
    position: absolute;
 | 
					    max-width: 100vw;
 | 
				
			||||||
    background-image: var(--hero-background-image);
 | 
					    height: 160px;
 | 
				
			||||||
    filter: blur(68px);
 | 
					    position: absolute;
 | 
				
			||||||
    transform: translate(-50%, -50%);
 | 
					    margin: 0 auto;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@media screen and (max-width: 768px) {
 | 
					.hero-background {
 | 
				
			||||||
    .hero {
 | 
					    top: 50%;
 | 
				
			||||||
        width: calc(100% - .8rem - 40px);
 | 
					    width: 50%;
 | 
				
			||||||
    }
 | 
					    height: 80px;
 | 
				
			||||||
}
 | 
					    position: absolute;
 | 
				
			||||||
 | 
					    background-image: var(--hero-background-image);
 | 
				
			||||||
/* 赞助组件 */
 | 
					    filter: blur(68px);
 | 
				
			||||||
.sponsor {
 | 
					    transform: translate(-50%, -50%);
 | 
				
			||||||
    padding-top: 1rem;
 | 
					}
 | 
				
			||||||
    margin-top: 0;
 | 
					
 | 
				
			||||||
    border-top: none;
 | 
					@media screen and (max-width: 768px) {
 | 
				
			||||||
}
 | 
					    .hero {
 | 
				
			||||||
 | 
					        width: calc(100% - .8rem - 40px);
 | 
				
			||||||
.sponsor-title {
 | 
					    }
 | 
				
			||||||
    font-size: 1.2rem;
 | 
					}
 | 
				
			||||||
    font-weight: 550;
 | 
					
 | 
				
			||||||
    font-feature-settings: "kern", "liga";
 | 
					/* 赞助组件 */
 | 
				
			||||||
    color: #444;
 | 
					.sponsor {
 | 
				
			||||||
    font-family: var(--md-text-font-family);
 | 
					    padding-top: 1rem;
 | 
				
			||||||
}
 | 
					    margin-top: 0;
 | 
				
			||||||
 | 
					    border-top: none;
 | 
				
			||||||
[data-md-color-scheme="slate"] .sponsor-title {
 | 
					}
 | 
				
			||||||
    color: #ddd;
 | 
					
 | 
				
			||||||
}
 | 
					.sponsor-title {
 | 
				
			||||||
 | 
					    font-size: 1.2rem;
 | 
				
			||||||
.sponsor-title-toc {
 | 
					    font-weight: 550;
 | 
				
			||||||
    font-weight: 550;
 | 
					    font-feature-settings: "kern", "liga";
 | 
				
			||||||
    font-feature-settings: "kern", "liga";
 | 
					    color: #444;
 | 
				
			||||||
    color: hsl(225deg 0% 46.48% / 56%);
 | 
					    font-family: var(--md-text-font-family);
 | 
				
			||||||
    font-family: var(--md-text-font-family);
 | 
					}
 | 
				
			||||||
}
 | 
					
 | 
				
			||||||
 | 
					[data-md-color-scheme="slate"] .sponsor-title {
 | 
				
			||||||
[data-md-color-scheme="slate"] .sponsor-title-toc {
 | 
					    color: #ddd;
 | 
				
			||||||
    color: hsl(225deg 5.64% 68.32% / 56%);
 | 
					}
 | 
				
			||||||
}
 | 
					
 | 
				
			||||||
 | 
					.sponsor-title-toc {
 | 
				
			||||||
.sponsor-toc {
 | 
					    font-weight: 550;
 | 
				
			||||||
    margin-top: 24px !important;
 | 
					    font-feature-settings: "kern", "liga";
 | 
				
			||||||
    border-top: 1px solid var(--md-default-fg-color--lightest) !important;
 | 
					    color: hsl(225deg 0% 46.48% / 56%);
 | 
				
			||||||
}
 | 
					    font-family: var(--md-text-font-family);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
.sponsor .sponsor-label {
 | 
					
 | 
				
			||||||
    font-size: 0.8rem;
 | 
					[data-md-color-scheme="slate"] .sponsor-title-toc {
 | 
				
			||||||
    text-align: center;
 | 
					    color: hsl(225deg 5.64% 68.32% / 56%);
 | 
				
			||||||
    margin-bottom: 0.2rem;
 | 
					}
 | 
				
			||||||
    color: var(--md-default-fg-color);
 | 
					
 | 
				
			||||||
}
 | 
					.sponsor-toc {
 | 
				
			||||||
 | 
					    margin-top: 24px !important;
 | 
				
			||||||
.sponsor .sponsor-wrapper {
 | 
					    border-top: 1px solid var(--md-default-fg-color--lightest) !important;
 | 
				
			||||||
    width: 100%;
 | 
					}
 | 
				
			||||||
    padding: 0.5rem 0;
 | 
					
 | 
				
			||||||
}
 | 
					.sponsor .sponsor-label {
 | 
				
			||||||
 | 
					    font-size: 0.8rem;
 | 
				
			||||||
.sponsor .sponsor-item {
 | 
					    text-align: center;
 | 
				
			||||||
    display: flex;
 | 
					    margin-bottom: 0.2rem;
 | 
				
			||||||
    align-items: center;
 | 
					    color: var(--md-default-fg-color);
 | 
				
			||||||
    justify-content: center;
 | 
					}
 | 
				
			||||||
    width: 100%;
 | 
					
 | 
				
			||||||
    text-align: center;
 | 
					.sponsor .sponsor-wrapper {
 | 
				
			||||||
    padding: 1rem;
 | 
					    width: 100%;
 | 
				
			||||||
    border-radius: 6px;
 | 
					    padding: 0.5rem 0;
 | 
				
			||||||
    height: 80px;
 | 
					}
 | 
				
			||||||
    max-height: 80px;
 | 
					
 | 
				
			||||||
    transition: background-color 0.2s, filter 0.3s ease-in-out, opacity 0.3s ease-in-out !important;
 | 
					.sponsor .sponsor-item {
 | 
				
			||||||
}
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
.sponsor .sponsor-item:hover {
 | 
					    justify-content: center;
 | 
				
			||||||
    background-color: rgba(0, 0, 0, 0.03);
 | 
					    width: 100%;
 | 
				
			||||||
}
 | 
					    text-align: center;
 | 
				
			||||||
 | 
					    padding: 1rem;
 | 
				
			||||||
[data-md-color-scheme="slate"] .sponsor .sponsor-item:hover {
 | 
					    border-radius: 6px;
 | 
				
			||||||
    background-color: rgba(240, 241, 244, 0.024);
 | 
					    height: 80px;
 | 
				
			||||||
}
 | 
					    max-height: 80px;
 | 
				
			||||||
 | 
					    transition: background-color 0.2s, filter 0.3s ease-in-out, opacity 0.3s ease-in-out !important;
 | 
				
			||||||
.sponsor .sponsor-item img {
 | 
					}
 | 
				
			||||||
    max-width: 100%;
 | 
					
 | 
				
			||||||
    height: auto;
 | 
					.sponsor .sponsor-item:hover {
 | 
				
			||||||
    vertical-align: middle;
 | 
					    background-color: rgba(0, 0, 0, 0.03);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.sponsor-item-toc {
 | 
					[data-md-color-scheme="slate"] .sponsor .sponsor-item:hover {
 | 
				
			||||||
    margin: 0;
 | 
					    background-color: rgba(240, 241, 244, 0.024);
 | 
				
			||||||
    padding: 14px !important;
 | 
					}
 | 
				
			||||||
    height: 62px !important;
 | 
					
 | 
				
			||||||
    border-radius: 4px !important;
 | 
					.sponsor .sponsor-item img {
 | 
				
			||||||
    box-sizing: border-box;
 | 
					    max-width: 100%;
 | 
				
			||||||
    flex: 0 0 calc(50% - 2px) !important;
 | 
					    height: auto;
 | 
				
			||||||
    background-color: var(--md-code-bg-color);
 | 
					    vertical-align: middle;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.sponsor-item-toc:hover {
 | 
					.sponsor-item-toc {
 | 
				
			||||||
    background-color: rgba(0, 0, 0, 0.08) !important;
 | 
					    margin: 0;
 | 
				
			||||||
}
 | 
					    padding: 14px !important;
 | 
				
			||||||
 | 
					    height: 62px !important;
 | 
				
			||||||
[data-md-color-scheme="slate"] .sponsor-item-toc:hover {
 | 
					    border-radius: 4px !important;
 | 
				
			||||||
    background-color: rgba(240, 241, 244, 0.1) !important;
 | 
					    box-sizing: border-box;
 | 
				
			||||||
}
 | 
					    flex: 0 0 calc(50% - 2px) !important;
 | 
				
			||||||
 | 
					    background-color: var(--md-code-bg-color);
 | 
				
			||||||
.sponsor-item-toc-full-row {
 | 
					}
 | 
				
			||||||
    flex: 0 0 100% !important;
 | 
					
 | 
				
			||||||
}
 | 
					.sponsor-item-toc:hover {
 | 
				
			||||||
 | 
					    background-color: rgba(0, 0, 0, 0.08) !important;
 | 
				
			||||||
.sponsor-item-toc-full-row img {
 | 
					}
 | 
				
			||||||
    width: 50% !important;
 | 
					
 | 
				
			||||||
}
 | 
					[data-md-color-scheme="slate"] .sponsor-item-toc:hover {
 | 
				
			||||||
 | 
					    background-color: rgba(240, 241, 244, 0.1) !important;
 | 
				
			||||||
.sponsor-item-toc img {
 | 
					}
 | 
				
			||||||
    width: 100%;
 | 
					
 | 
				
			||||||
    object-fit: contain;
 | 
					.sponsor-item-toc-full-row {
 | 
				
			||||||
    filter: grayscale(1) invert(0.6);
 | 
					    flex: 0 0 100% !important;
 | 
				
			||||||
    opacity: 0.7;
 | 
					}
 | 
				
			||||||
}
 | 
					
 | 
				
			||||||
 | 
					.sponsor-item-toc-full-row img {
 | 
				
			||||||
[data-md-color-scheme="slate"] .sponsor-item-toc img {
 | 
					    width: 50% !important;
 | 
				
			||||||
    filter: brightness(1.3) grayscale(1);
 | 
					}
 | 
				
			||||||
    opacity: 0.75;
 | 
					
 | 
				
			||||||
}
 | 
					.sponsor-item-toc img {
 | 
				
			||||||
 | 
					    width: 100%;
 | 
				
			||||||
.sponsor-item-toc:hover img {
 | 
					    object-fit: contain;
 | 
				
			||||||
    filter: grayscale(0%) !important;
 | 
					    filter: grayscale(1) invert(0.6);
 | 
				
			||||||
    opacity: 1;
 | 
					    opacity: 0.7;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.sponsor-flex-wrapper {
 | 
					[data-md-color-scheme="slate"] .sponsor-item-toc img {
 | 
				
			||||||
    display: flex;
 | 
					    filter: brightness(1.3) grayscale(1);
 | 
				
			||||||
    flex-wrap: wrap;
 | 
					    opacity: 0.75;
 | 
				
			||||||
    gap: 1rem;
 | 
					}
 | 
				
			||||||
    justify-content: center;
 | 
					
 | 
				
			||||||
}
 | 
					.sponsor-item-toc:hover img {
 | 
				
			||||||
 | 
					    filter: grayscale(0%) !important;
 | 
				
			||||||
.sponsor-flex-wrapper-toc {
 | 
					    opacity: 1;
 | 
				
			||||||
    display: flex !important;
 | 
					}
 | 
				
			||||||
    flex-direction: row !important;
 | 
					
 | 
				
			||||||
    flex-wrap: wrap !important;
 | 
					.sponsor-flex-wrapper {
 | 
				
			||||||
    gap: 4px !important;
 | 
					    display: flex;
 | 
				
			||||||
    padding: 0;
 | 
					    flex-wrap: wrap;
 | 
				
			||||||
    width: 100%;
 | 
					    gap: 1rem;
 | 
				
			||||||
}
 | 
					    justify-content: center;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
.sponsor-item-flex {
 | 
					
 | 
				
			||||||
    flex: 0 1 calc(33.33% - 1rem);
 | 
					.sponsor-flex-wrapper-toc {
 | 
				
			||||||
    min-width: 200px;
 | 
					    display: flex !important;
 | 
				
			||||||
    max-width: 300px;
 | 
					    flex-direction: row !important;
 | 
				
			||||||
}
 | 
					    flex-wrap: wrap !important;
 | 
				
			||||||
 | 
					    gap: 4px !important;
 | 
				
			||||||
.sponsor-item-flex img {
 | 
					    padding: 0;
 | 
				
			||||||
    width: 60% !important;
 | 
					    width: 100%;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@media screen and (max-width: 480px) {
 | 
					.sponsor-item-flex {
 | 
				
			||||||
    .sponsor-flex-wrapper {
 | 
					    flex: 0 1 calc(33.33% - 1rem);
 | 
				
			||||||
        gap: 24px;
 | 
					    min-width: 200px;
 | 
				
			||||||
    }
 | 
					    max-width: 300px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
    .sponsor-title {
 | 
					
 | 
				
			||||||
        font-size: .8rem;
 | 
					.sponsor-item-flex img {
 | 
				
			||||||
    }
 | 
					    width: 60% !important;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
    .sponsor .sponsor-item {
 | 
					
 | 
				
			||||||
        height: 40px;
 | 
					@media screen and (max-width: 480px) {
 | 
				
			||||||
        padding: 2px;
 | 
					    .sponsor-flex-wrapper {
 | 
				
			||||||
    }
 | 
					        gap: 24px;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    .sponsor-toc {
 | 
					
 | 
				
			||||||
        display: none;
 | 
					    .sponsor-title {
 | 
				
			||||||
    }
 | 
					        font-size: .8rem;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    .sponsor-item-flex {
 | 
					
 | 
				
			||||||
        flex: 0 1 calc(33.33% - 1rem);
 | 
					    .sponsor .sponsor-item {
 | 
				
			||||||
        min-width: 100px;
 | 
					        height: 40px;
 | 
				
			||||||
        max-width: calc(33.33% - 1rem);
 | 
					        padding: 2px;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    .sponsor-item-flex img {
 | 
					    .sponsor-toc {
 | 
				
			||||||
        transform: scale(1.4);
 | 
					        display: none;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					
 | 
				
			||||||
 | 
					    .sponsor-item-flex {
 | 
				
			||||||
/* 图标动画 */
 | 
					        flex: 0 1 calc(33.33% - 1rem);
 | 
				
			||||||
.heart {
 | 
					        min-width: 100px;
 | 
				
			||||||
    animation: heart 1000ms infinite;
 | 
					        max-width: calc(33.33% - 1rem);
 | 
				
			||||||
}
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@keyframes heart {
 | 
					    .sponsor-item-flex img {
 | 
				
			||||||
 | 
					        transform: scale(1.4);
 | 
				
			||||||
    0%,
 | 
					    }
 | 
				
			||||||
    40%,
 | 
					}
 | 
				
			||||||
    80%,
 | 
					
 | 
				
			||||||
    100% {
 | 
					/* 图标动画 */
 | 
				
			||||||
        transform: scale(1);
 | 
					.heart {
 | 
				
			||||||
    }
 | 
					    animation: heart 1000ms infinite;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
    20%,
 | 
					
 | 
				
			||||||
    60% {
 | 
					@keyframes heart {
 | 
				
			||||||
        transform: scale(1.15);
 | 
					
 | 
				
			||||||
    }
 | 
					    0%,
 | 
				
			||||||
}
 | 
					    40%,
 | 
				
			||||||
 | 
					    80%,
 | 
				
			||||||
/* TDesign 组件相关 */
 | 
					    100% {
 | 
				
			||||||
.t-tag .t-icon {
 | 
					        transform: scale(1);
 | 
				
			||||||
    margin-right: 0 !important;
 | 
					    }
 | 
				
			||||||
}
 | 
					
 | 
				
			||||||
 | 
					    20%,
 | 
				
			||||||
[theme-mode="dark"] .t-table {
 | 
					    60% {
 | 
				
			||||||
    --td-bg-color-container: hsla(var(--md-hue), 15%, 14%, 1) !important;
 | 
					        transform: scale(1.15);
 | 
				
			||||||
    --td-component-border: hsla(225deg, 15%, 95%, 0.12) !important;
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[theme-mode="dark"] .t-tag {
 | 
					/* TDesign 组件相关 */
 | 
				
			||||||
    --td-warning-color-light: #cf6e2d48 !important;
 | 
					.t-tag .t-icon {
 | 
				
			||||||
}
 | 
					    margin-right: 0 !important;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
.t-table--hoverable tbody tr:hover {
 | 
					
 | 
				
			||||||
    background-color: rgba(0, 0, 0, 0.016) !important;
 | 
					[theme-mode="dark"] .t-table {
 | 
				
			||||||
}
 | 
					    --td-bg-color-container: hsla(var(--md-hue), 15%, 14%, 1) !important;
 | 
				
			||||||
 | 
					    --td-component-border: hsla(225deg, 15%, 95%, 0.12) !important;
 | 
				
			||||||
[theme-mode="dark"] .t-table--hoverable tbody tr:hover {
 | 
					}
 | 
				
			||||||
    background-color: rgba(240, 241, 244, 0.016) !important;
 | 
					
 | 
				
			||||||
}
 | 
					[theme-mode="dark"] .t-tag {
 | 
				
			||||||
 | 
					    --td-warning-color-light: #cf6e2d48 !important;
 | 
				
			||||||
.t-table--column-fixed .t-table__cell--fixed-left {
 | 
					}
 | 
				
			||||||
    z-index: 4;
 | 
					
 | 
				
			||||||
}
 | 
					.t-table--hoverable tbody tr:hover {
 | 
				
			||||||
 | 
					    background-color: rgba(0, 0, 0, 0.016) !important;
 | 
				
			||||||
/* termynal 插件 */
 | 
					}
 | 
				
			||||||
.termy {
 | 
					
 | 
				
			||||||
    padding: 65px 25px 35px !important;
 | 
					[theme-mode="dark"] .t-table--hoverable tbody tr:hover {
 | 
				
			||||||
}
 | 
					    background-color: rgba(240, 241, 244, 0.016) !important;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
[data-termynal] {
 | 
					
 | 
				
			||||||
    color: #000 !important;
 | 
					.t-table--column-fixed .t-table__cell--fixed-left {
 | 
				
			||||||
    background: #f7f7f7 !important;
 | 
					    z-index: 4;
 | 
				
			||||||
    box-shadow: var(--md-shadow-z2);
 | 
					}
 | 
				
			||||||
    font-size: 14px !important;
 | 
					
 | 
				
			||||||
}
 | 
					/* termynal 插件 */
 | 
				
			||||||
 | 
					.termy {
 | 
				
			||||||
[data-md-color-scheme="slate"] [data-termynal] {
 | 
					    padding: 65px 25px 35px !important;
 | 
				
			||||||
    color: #eeeeee !important;
 | 
					}
 | 
				
			||||||
    background: #21252c !important;
 | 
					
 | 
				
			||||||
    box-shadow: var(--md-shadow-z2);
 | 
					[data-termynal] {
 | 
				
			||||||
}
 | 
					    color: #000 !important;
 | 
				
			||||||
 | 
					    background: #f7f7f7 !important;
 | 
				
			||||||
button[data-terminal-control] {
 | 
					    box-shadow: var(--md-shadow-z2);
 | 
				
			||||||
    color: var(--md-typeset-a-color) !important;
 | 
					    font-size: 14px !important;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[data-termynal]:after {
 | 
					[data-md-color-scheme="slate"] [data-termynal] {
 | 
				
			||||||
    color: #585858 !important;
 | 
					    color: #eeeeee !important;
 | 
				
			||||||
}
 | 
					    background: #21252c !important;
 | 
				
			||||||
 | 
					    box-shadow: var(--md-shadow-z2);
 | 
				
			||||||
[data-md-color-scheme="slate"] [data-termynal]:after {
 | 
					}
 | 
				
			||||||
    color: #a2a2a2 !important;
 | 
					
 | 
				
			||||||
}
 | 
					button[data-terminal-control] {
 | 
				
			||||||
 | 
					    color: var(--md-typeset-a-color) !important;
 | 
				
			||||||
/* 切换主题动画 */
 | 
					}
 | 
				
			||||||
::view-transition-old(root),
 | 
					
 | 
				
			||||||
::view-transition-new(root) {
 | 
					[data-termynal]:after {
 | 
				
			||||||
    animation: none;
 | 
					    color: #585858 !important;
 | 
				
			||||||
    mix-blend-mode: normal;
 | 
					}
 | 
				
			||||||
}
 | 
					
 | 
				
			||||||
 | 
					[data-md-color-scheme="slate"] [data-termynal]:after {
 | 
				
			||||||
.dark::view-transition-old(root) {
 | 
					    color: #a2a2a2 !important;
 | 
				
			||||||
    z-index: var(--view-transition-z-index-foreground);
 | 
					}
 | 
				
			||||||
}
 | 
					
 | 
				
			||||||
 | 
					/* 切换主题动画 */
 | 
				
			||||||
.dark::view-transition-new(root) {
 | 
					::view-transition-old(root),
 | 
				
			||||||
    z-index: var(--view-transition-z-index-background);
 | 
					::view-transition-new(root) {
 | 
				
			||||||
}
 | 
					    animation: none;
 | 
				
			||||||
 | 
					    mix-blend-mode: normal;
 | 
				
			||||||
::view-transition-old(root) {
 | 
					}
 | 
				
			||||||
    z-index: var(--view-transition-z-index-background)
 | 
					
 | 
				
			||||||
}
 | 
					.dark::view-transition-old(root) {
 | 
				
			||||||
 | 
					    z-index: var(--view-transition-z-index-foreground);
 | 
				
			||||||
::view-transition-new(root) {
 | 
					}
 | 
				
			||||||
    z-index: var(--view-transition-z-index-foreground);
 | 
					
 | 
				
			||||||
 | 
					.dark::view-transition-new(root) {
 | 
				
			||||||
 | 
					    z-index: var(--view-transition-z-index-background);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					::view-transition-old(root) {
 | 
				
			||||||
 | 
					    z-index: var(--view-transition-z-index-background)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					::view-transition-new(root) {
 | 
				
			||||||
 | 
					    z-index: var(--view-transition-z-index-foreground);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
							
								
								
									
										4
									
								
								docs/theme/main.html
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								docs/theme/main.html
									
									
									
									
										vendored
									
									
								
							@@ -5,3 +5,7 @@
 | 
				
			|||||||
  <script nomodule src="https://cdn.jsdelivr.net/npm/@orama/wc-components@latest/dist/cjs/orama-ui.cjs.js"></script>
 | 
					  <script nomodule src="https://cdn.jsdelivr.net/npm/@orama/wc-components@latest/dist/cjs/orama-ui.cjs.js"></script>
 | 
				
			||||||
  {{ super() }}
 | 
					  {{ super() }}
 | 
				
			||||||
{% endblock %}
 | 
					{% endblock %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% block announce %}
 | 
				
			||||||
 | 
					  <span style="font-size: .6rem !important;">如果觉得这个项目不错对您有所帮助的话,请点击仓库右上角的 Star 并分享给更多的朋友</span>  <span class="twemoji heart" style="font-size: .6rem;"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 20.408c-.492.308-.903.546-1.192.709q-.23.129-.463.252h-.002a.75.75 0 0 1-.686 0 17 17 0 0 1-.465-.252 31 31 0 0 1-4.803-3.34C3.8 15.572 1 12.331 1 8.513 1 5.052 3.829 2.5 6.736 2.5 9.03 2.5 10.881 3.726 12 5.605 13.12 3.726 14.97 2.5 17.264 2.5 20.17 2.5 23 5.052 23 8.514c0 3.818-2.801 7.06-5.389 9.262A31 31 0 0 1 14 20.408"></path></svg></span>
 | 
				
			||||||
 | 
					{% endblock %}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								docs/theme/partials/toc.html
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								docs/theme/partials/toc.html
									
									
									
									
										vendored
									
									
								
							@@ -46,7 +46,7 @@
 | 
				
			|||||||
        </a>
 | 
					        </a>
 | 
				
			||||||
        <a class="sponsor-item sponsor-item-toc" target="_blank" href="https://www.runxinyun.com" title="润信云 - 国内挂机宝海外云服务器低至9.9元/月" style="justify-content: space-between;">
 | 
					        <a class="sponsor-item sponsor-item-toc" target="_blank" href="https://www.runxinyun.com" title="润信云 - 国内挂机宝海外云服务器低至9.9元/月" style="justify-content: space-between;">
 | 
				
			||||||
          <img src="/assets/images/sponsor/runxinyun.png" alt="润信云" style="width: 34% !important" />
 | 
					          <img src="/assets/images/sponsor/runxinyun.png" alt="润信云" style="width: 34% !important" />
 | 
				
			||||||
          <span class="sponsor-title-toc" style="padding-left: 0px; font-size: 20px; ">润信云</span>
 | 
					          <span class="sponsor-title-toc" style="padding-left: 0px; font-size: .8rem;">润信云</span>
 | 
				
			||||||
        </a>
 | 
					        </a>
 | 
				
			||||||
        <a class="sponsor-item sponsor-item-toc" target="_blank" href="https://www.xinniaoyun.com" title="新鸟云 - 2核2G云主机特价15元/月">
 | 
					        <a class="sponsor-item sponsor-item-toc" target="_blank" href="https://www.xinniaoyun.com" title="新鸟云 - 2核2G云主机特价15元/月">
 | 
				
			||||||
          <img src="/assets/images/sponsor/xinniaoyun.png#only-light" alt="新鸟云" style="filter: grayscale(1) invert(0.5)" />
 | 
					          <img src="/assets/images/sponsor/xinniaoyun.png#only-light" alt="新鸟云" style="filter: grayscale(1) invert(0.5)" />
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										1456
									
								
								docs/use/index.md
									
									
									
									
									
								
							
							
						
						
									
										1456
									
								
								docs/use/index.md
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Reference in New Issue
	
	Block a user