#!/bin/bash # 设置错误时立即退出 set -e # 颜色定义 RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' # No Color # 日志函数 log_info() { echo -e "${GREEN}[INFO]${NC} $1" } log_warn() { echo -e "${YELLOW}[WARN]${NC} $1" } log_error() { echo -e "${RED}[ERROR]${NC} $1" } # 备份源文件 backup_sources() { log_info "备份源文件..." cp /etc/apt/sources.list /etc/apt/sources.list.backup } # 配置阿里云镜像源 configure_aliyun_mirror() { log_info "配置阿里云镜像源..." # 创建sources.list文件 cat > /etc/apt/sources.list << EOF # 阿里云镜像源 deb http://mirrors.aliyun.com/debian/ bullseye main non-free contrib deb http://mirrors.aliyun.com/debian-security/ bullseye-security main deb http://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib deb http://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib # 源码镜像 deb-src http://mirrors.aliyun.com/debian/ bullseye main non-free contrib deb-src http://mirrors.aliyun.com/debian-security/ bullseye-security main deb-src http://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib deb-src http://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib EOF } # 配置pip镜像源 configure_pip_mirror() { log_info "配置pip镜像源..." # 创建pip配置目录 mkdir -p ~/.pip # 创建pip配置文件 cat > ~/.pip/pip.conf << EOF [global] index-url = https://mirrors.aliyun.com/pypi/simple/ trusted-host = mirrors.aliyun.com EOF } # 配置npm镜像源 configure_npm_mirror() { log_info "配置npm镜像源..." # 配置npm镜像 npm config set registry https://registry.npmmirror.com npm config set disturl https://npmmirror.com/dist npm config set electron_mirror https://npmmirror.com/mirrors/electron/ npm config set puppeteer_download_host https://npmmirror.com/mirrors npm config set chromedriver_cdnurl https://npmmirror.com/mirrors/chromedriver npm config set operadriver_cdnurl https://npmmirror.com/mirrors/operadriver npm config set phantomjs_cdnurl https://npmmirror.com/mirrors/phantomjs npm config set selenium_cdnurl https://npmmirror.com/mirrors/selenium npm config set node_inspector_cdnurl https://npmmirror.com/mirrors/node-inspector } # 配置go镜像源 configure_go_mirror() { log_info "配置go镜像源..." # 配置GOPROXY go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct # 配置GOSUMDB go env -w GOSUMDB=sum.golang.google.cn # 配置GO111MODULE go env -w GO111MODULE=on } # 配置docker镜像源 configure_docker_mirror() { log_info "配置docker镜像源..." # 创建docker配置目录 mkdir -p /etc/docker # 创建daemon.json文件 cat > /etc/docker/daemon.json << EOF { "registry-mirrors": [ "https://mirror.ccs.tencentyun.com", "https://registry.docker-cn.com", "https://docker.mirrors.ustc.edu.cn", "https://hub-mirror.c.163.com", "https://mirror.baidubce.com" ] } EOF } # 更新软件包列表 update_package_list() { log_info "更新软件包列表..." apt-get update } # 主函数 main() { log_info "开始配置镜像源..." # 备份源文件 backup_sources # 配置阿里云镜像源 configure_aliyun_mirror # 配置pip镜像源 configure_pip_mirror # 配置npm镜像源 configure_npm_mirror # 配置go镜像源 configure_go_mirror # 配置docker镜像源 configure_docker_mirror # 更新软件包列表 update_package_list log_info "镜像源配置完成!" } # 执行主函数 main