国内开源镜像一览
sunshj Lv4

本篇列举了国内一些开源镜像站以及镜像源的使用方法。

国内开源镜像一览

综述

以下是常用的一些镜像源:

Maven

1、针对某个项目修改,可以在 pom.xml 里加上新的 repository 标签:

1
2
3
4
5
6
7
# pom.xml
<repositories>
<repository>
<id>ali-maven</id>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</repository>
</repositories>

2、全局修改,需要首先找到你的 Maven 安装目录,这可以使用 mvn --version 找到。然后修改 $MAVEN_HOME/conf/settings.xml 文件,找到 mirrors 标签,添加如下内容:

1
2
3
4
5
6
7
# settings.xml
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>

或者,你也可以修改 ~/.m2/settings.xml 文件(用户目录下的配置文件,优先级比全局更高),如果没有此文件,可以从安装目录复制一份,同样也是加入以上内容。

Gradle

针对某个项目修改,可以在 build.gradle 里添加或修改相应内容:

1
2
3
4
5
6
7
8
9
10
11
12
# build.gradle
buildscript {
repositories {
maven { url 'https://maven.aliyun.com/repository/public' }
}
}

allprojects {
repositories {
maven { url 'https://maven.aliyun.com/repository/public' }
}
}

全局修改,可以在 ~/.gradle/ 文件夹下创建 init.gradle 文件并添加如下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# init.gradle
allprojects {
repositories {
def ALIYUN_REPOSITORY_URL = 'https://maven.aliyun.com/repository/public'
all { ArtifactRepository repo ->
if (repo instanceof MavenArtifactRepository) {
def url = repo.url.toString()
if (url.startsWith('https://repo1.maven.org/maven2')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."
remove repo
}
}
}
maven { url ALIYUN_REPOSITORY_URL }
}
}

pip

pipPython 的包管理工具。

1、使用清华源

1
2
3
4
5
6
# 临时使用
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple [some-package]
# 设置为默认(pip版本大于10.0.0)
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
# 使用镜像升级pip
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U

2、此外也可以使用豆瓣源

1
pip install -i https://pypi.douban.com/simple/ [some-package]

npm & yarn

npmyarn 都是 JavaScript 世界的包管理工具,其中 yarn 可以通过 npm install -g yarn 安装。

1
2
3
4
5
npm config get registry # npm查看当前源
npm config set registry https://registry.npm.taobao.org/ # npm设置为淘宝源

yarn config get registry # yarn查看当前源
yarn config set registry https://registry.npm.taobao.org/ # yarn设置为淘宝源

此外也可使用 https://r.cnpmjs.org/。官方源为 https://registry.npmjs.org/

Go

1
2
3
go env -w GO111MODULE=on # 启用Go Modules(1.13之后无需设置)
go env | grep GOPROXY # 查看当前源
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct # 设置阿里源

如果你使用 GoLand,可以在设置 - Go Modules-Environment 里加上 GOPROXY=https://goproxy.cn

Docker

1、对于使用 upstart 的系统(Ubuntu 14.04、Debian 7 Wheezy),在配置文件 /etc/default/docker 中的 DOCKER_OPTS 中配置Hub地址:

1
DOCKER_OPTS="--registry-mirror=https://docker.mirrors.ustc.edu.cn/"

重新启动服务:

1
sudo service docker restart

2、对于使用 systemd 的系统(Ubuntu 16.04+、Debian 8+、CentOS 7), 在配置文件 /etc/docker/daemon.json 中加入:

1
2
3
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"]
}

重新启动 docker:

1
sudo systemctl restart docker

apt

本部分参考清华镜像站。首先备份 /etc/apt/sources.list

1
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup

然后修改 /etc/apt/sources.list 文件内容,如下(注意 focal 代表 Ubuntu 20.04 LTS,其他版本需要替换,列表写在下面):

1
2
3
4
5
6
7
8
9
10
11
12
13
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse

也可以使用 USTC 源:https://mirrors.ustc.edu.cn/ubuntu/

Ubuntu 版本对应列表:

  • 12.04 LTS: precise
  • 14.04 LTS: trusty
  • 16.04 LTS: xenial
  • 18.04 LTS: bionic
  • 20.04 LTS: focal
  • 20.10: groovy
  • 21.04: hirsute

最后运行 sudo apt update 更新软件源列表。

还原官方源:修改为 http://cn.archive.ubuntu.com/ubuntu/

yum

本部分参考清华镜像站。首先备份 /etc/yum.repos.d/CentOS-Base.repo(CentOS 8 为 CentOS-Linux-*.repo):

1
sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

随后运行以下命令:

1
2
3
4
sudo sed -e 's|^mirrorlist=|#mirrorlist=|g' \
-e 's|^#baseurl=http://mirror.centos.org|baseurl=https://mirrors.tuna.tsinghua.edu.cn|g' \
-i.bak \
/etc/yum.repos.d/CentOS-*.repo

最后运行 sudo yum makecache 更新软件源缓存。

还原官方源:

1
2
3
4
sudo rm -rf /etc/yum.repos.d/*.repo
sudo rpm -Uvh --force http://mirror.centos.org/centos-7/7.7.1908/os/x86_64/Packages/centos-release-7-7.1908.0.el7.centos.x86_64.rpm
yum clean all
yum makecache
 评论