Mirror
June 25, 2021
老灯常用镜像源⚓
Linux 镜像源⚓
清华大学开源软件镜像站 https://mirrors.tuna.tsinghua.edu.cn/
中国科学技术大学开源软件镜像 https://mirrors.ustc.edu.cn/
上海交通大学 Linux 用户组 镜像源服务 https://mirrors.sjtug.sjtu.edu.cn/
tuna 和 ustc 的源比较全面, 而 sjtug 的源相对来说比较少,比如 RHEL 系常用的
epel
和rpmfusion
都没有。
ArchLinux 源⚓
/etc/pacman.d/mirrorlist
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
Server = https://mirror.sjtu.edu.cn/archlinux/$repo/os/$arch
ArchLinux CN 源
编辑 /etc/pacman.conf
在最后加上:
[archlinuxcn]
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$repo/os/$arch
Server = https://mirrors.sjtug.sjtu.edu.cn/archlinux-cn/$arch
注意:sjtug 中间有一个-
, 而 ustc 则没有,直接是 archlinuxcn
Fedora 源使用方法(适用于Fedora 32之后)⚓
注意 Fedora 32 之后的将默认的http://download.fedoraproject.org/pub/fedora/linux
变成了 http://download.example/pub/fedora/linux
sjtug
sudo sed -e 's|^metalink=|#metalink=|g' \
-e 's|^#baseurl=http://download.example/pub/fedora/linux|baseurl=https://mirrors.sjtug.sjtu.edu.cn/fedora/linux|g' \
-i.bak \
/etc/yum.repos.d/fedora.repo \
/etc/yum.repos.d/fedora-modular.repo \
/etc/yum.repos.d/fedora-updates.repo \
/etc/yum.repos.d/fedora-updates-modular.repo
repo与url对应关系:
fedora -> https://mirrors.sjtug.sjtu.edu.cn/fedora/linux/releases/32/Everything/x86_64/
fedora-modular -> https://mirrors.sjtug.sjtu.edu.cn/fedora/linux/releases/32/Modular/x86_64/
fedora-updates -> https://mirrors.sjtug.sjtu.edu.cn/fedora/linux/updates/32/Everything/x86_64/
fedora-updates-modular -> https://mirrors.sjtug.sjtu.edu.cn/fedora/linux/updates/32/Modular/x86_64/
注意: ustc 源 和 tuna 源 的url里都没有
linux
这层目录
ustc源:
sudo sed -e 's|^metalink=|#metalink=|g' \
-e 's|^#baseurl=http://download.example/pub/fedora/linux|baseurl=https://mirrors.ustc.edu.cn/fedora|g' \
-i.bak \
/etc/yum.repos.d/fedora.repo \
/etc/yum.repos.d/fedora-modular.repo \
/etc/yum.repos.d/fedora-updates.repo \
/etc/yum.repos.d/fedora-updates-modular.repo
tuna源:
sudo sed -e 's|^metalink=|#metalink=|g' \
-e 's|^#baseurl=http://download.example/pub/fedora/linux|baseurl=https://mirrors.tuna.tsinghua.edu.cn/fedora|g' \
-i.bak \
/etc/yum.repos.d/fedora.repo \
/etc/yum.repos.d/fedora-modular.repo \
/etc/yum.repos.d/fedora-updates.repo \
/etc/yum.repos.d/fedora-updates-modular.repo
rpmfusion源:
http://download1.rpmfusion.org/ 替换为
https://mirrors.ustc.edu.cn/rpmfusion/
或
https://mirrors.tuna.tsinghua.edu.cn/rpmfusion/
sudo sed -e 's|^metalink=|#metalink=|g' \
-e 's|^#baseurl=http://download1.rpmfusion.org/|baseurl=https://mirrors.ustc.edu.cn/rpmfusion/|g' \
-i.bak \
/etc/yum.repos.d/rpmfusion-free.repo \
/etc/yum.repos.d/rpmfusion-free-updates.repo \
/etc/yum.repos.d/rpmfusion-free-updates-testing.repo \
/etc/yum.repos.d/rpmfusion-nonfree.repo \
/etc/yum.repos.d/rpmfusion-nonfree-steam.repo \
/etc/yum.repos.d/rpmfusion-nonfree-updates.repo \
/etc/yum.repos.d/rpmfusion-nonfree-updates-testing.repo \
/etc/yum.repos.d/rpmfusion-nonfree-nvidia-driver.repo
misc:
sjtug 有提供 Google Fonts 反代, 使用方式举例:
https://fonts.googleapis.com/css?family=Roboto
换成 https://google-fonts.mirrors.sjtug.sjtu.edu.cn/css?family=Roboto
即可
ustc 有提供golang下载: https://mirrors.ustc.edu.cn/golang/
docker-registry 反代⚓
2021-01-07 新增加 nwafu dockerhub反代
docker 配置⚓
编辑 /etc/docker/daemon.json
, 增加registry-mirrors
配置:
{
"registry-mirrors": [
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://dockerhub.mirrors.nwafu.edu.cn",
"https://hub-mirror.c.163.com"
]
}
podman 配置⚓
备份原配置 /etc/containers/registries.conf
, 修改内容为:
unqualified-search-registries = [
'docker.io',
'registry.access.redhat.com',
'quay.io',
'registry.fedoraproject.org',
'registry.centos.org'
]
[[registry]]
prefix = "docker.io"
insecure = false
blocked = false
location = "docker.mirrors.sjtug.sjtu.edu.cn"
[[registry]]
prefix = "docker.io"
location = "dockerhub.mirrors.nwafu.edu.cn"
注意:曾经最好用的azk8s镜像
dockerhub.azk8s.cn
已经不再对外开放
sjtug docker registry 测试结果: it works!
❯ docker pull docker.mirrors.sjtug.sjtu.edu.cn/library/busybox
Using default tag: latest
latest: Pulling from library/busybox
91f30d776fb2: Pull complete
Digest: sha256:9ddee63a712cea977267342e8750ecbc60d3aab25f04ceacfa795e6fce341793
Status: Downloaded newer image for docker.mirrors.sjtug.sjtu.edu.cn/library/busybox:latest
docker.mirrors.sjtug.sjtu.edu.cn/library/busybox:latest
经测试, utsc 的docker反代实际上是重定向到 https://hub-mirror.c.163.com
:
❯ curl -I https://docker.mirrors.ustc.edu.cn
HTTP/1.1 200 Connection established
HTTP/2 302
server: openresty
date: Thu, 09 Jul 2020 16:49:10 GMT
content-type: text/html
content-length: 142
location: https://hub-mirror.c.163.com/
163 docker registry 测试结果: it works!
❯ docker pull hub-mirror.c.163.com/library/busybox
Using default tag: latest
latest: Pulling from library/busybox
Digest: sha256:9ddee63a712cea977267342e8750ecbc60d3aab25f04ceacfa795e6fce341793
Status: Downloaded newer image for hub-mirror.c.163.com/library/busybox:latest
hub-mirror.c.163.com/library/busybox:latest
七牛镜像没有通过测试:
❯ docker pull reg-mirror.qiniu.com/library/busybox
Using default tag: latest
Error response from daemon: manifest for reg-mirror.qiniu.com/library/busybox:latest not found: manifest unknown: manifest unknown
Golang GOPROXY 反代⚓
Go 1.13 或以上版本 (推荐)
打开终端执行一次以下命令即搞定:
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
或者使用老方式:
export GO111MODULE=on
export GOPROXY=https://goproxy.cn
官方文档: https://goproxy.cn/
Rust 反代⚓
- 环境变量
RUSTUP_DIST_SERVER
用于更新 toolchain - 环境变量
RUSTUP_UPDATE_ROOT
用于更新 rustup - 配置
crates-io
镜像则需要修改~/.cargo/config
文件
Bytedance RsProxy.cn⚓
~/.cargo/config
:
[source.crates-io]
replace-with = 'rsproxy'
[source.rsproxy]
registry = "https://rsproxy.cn/crates.io-index"
Rustup Mirror
~/.zshrc
or ~/.bashrc
:
export RUSTUP_DIST_SERVER="https://rsproxy.cn"
export RUSTUP_UPDATE_ROOT="https://rsproxy.cn/rustup"
sjtug⚓
rust-static储存了rust的工具链及rustup本身的镜像。
使用方法:安装rustup,将以下环境变量加入~/.bashrc
或类似文件中:
export RUSTUP_DIST_SERVER=https://mirrors.sjtug.sjtu.edu.cn/rust-static
export RUSTUP_UPDATE_ROOT=https://mirrors.sjtug.sjtu.edu.cn/rust-static/rustup
crates.io
编辑 ~/.cargo/config
[source]
[source.sjtu]
registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index/"
[source.crates-io]
replace-with = "sjtu"
tuna⚓
Rustup 镜像⚓
注意: TUNA 只会保留一段时间的 nightly
使用 rustup 安装 rust 时,若要启用 TUNA 源,执行:
$ # for bash
$ RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup rustup install stable # for stable
$ # for fish
$ env RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup rustup install stable # for stable
$ # for bash
$ RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup rustup install nightly # for nightly
$ # for fish
$ env RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup rustup install nightly # for nightly
$ # for bash
$ RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup rustup install nightly-YYYY-mm-dd
$ # for fish
$ env RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup rustup install nightly-YYYY-mm-dd
若要长期启用 TUNA 源,执行:
$ # for bash
$ echo 'export RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup' >> ~/.bash_profile
$ # for fish
$ echo 'set -x RUSTUP_DIST_SERVER https://mirrors.tuna.tsinghua.edu.cn/rustup' >> ~/.config/fish/config.fish
注:rustup 在判断是否需要更新时依赖于 toml 的 sha256 ,由于 toml 内容中相关链接被替换为 TUNA 源,第一次切换到 TUNA 源时各个 channel 会被认为需要更新。
官方文档: https://mirrors.tuna.tsinghua.edu.cn/help/rustup/
Rust crates.io 索引镜像使用帮助⚓
编辑 ~/.cargo/config 文件,添加以下内容:
[source.crates-io]
replace-with = 'tuna'
[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"
该镜像可加快 cargo 读取软件包索引的速度。
官方文档: https://mirrors.tuna.tsinghua.edu.cn/help/crates.io-index.git/
ustc⚓
export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
官方文档: https://mirrors.ustc.edu.cn/help/rust-static.html
编辑 ~/.cargo/config 文件,添加以下内容:
[source.crates-io]
replace-with = 'ustc'
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"
如果所处的环境中不允许使用 git 协议,可以把上述地址改为:
registry = "https://mirrors.ustc.edu.cn/crates.io-index"
警告: cargo search 无法使用镜像
官方文档: https://mirrors.ustc.edu.cn/help/crates.io-index.html
速度测试⚓
我这边是南方电信, 注: 其中ustc没有提供镜像iso下载,而是重定向到了aliyun.
❯ curl -I https://mirrors.ustc.edu.cn/fedora/releases/32/Workstation/x86_64/iso/Fedora-Workstation-Live-x86_64-32-1.6.iso
HTTP/1.1 200 Connection established
HTTP/2 302
server: openresty
date: Sat, 11 Jul 2020 03:31:19 GMT
content-type: text/html
content-length: 142
location: https://mirrors.aliyun.com/fedora/releases/32/Workstation/x86_64/iso/Fedora-Workstation-Live-x86_64-32-1.6.iso
虽然都是教育网, 但是速度上还是差异较大的。阿里云的下载速度一般是不错的,但是以老灯以前的使用经验来看,偶尔会出点小问题,同时不及时或者cdn连接问题。
测试命令: 直接采用Fedora上的curl(支持-Z, --parallel Perform transfers in parallel
参数以多线程方式下载) ,设置的传输时间为10秒.
❯ curl -m 10 -LZO https://mirrors.sjtug.sjtu.edu.cn/fedora/linux/releases/32/Workstation/x86_64/iso/Fedora-Workstation-Live-x86_64-32-1.6.iso
DL% UL% Dled Uled Xfers Live Qd Total Current Left Speed
20 -- 389M 0 1 1 0 0:00:46 0:00:09 0:00:36 40.3M curl: (28) Operation timed out after 10000 milliseconds with 426433583 out of 1966178304 bytes received
21 -- 406M 0 1 0 0 0:00:46 0:00:10 0:00:36 40.7M
❯ curl -m 10 -LZO https://mirrors.aliyun.com/fedora/releases/32/Workstation/x86_64/iso/Fedora-Workstation-Live-x86_64-32-1.6.iso
DL% UL% Dled Uled Xfers Live Qd Total Current Left Speed
11 -- 221M 0 1 1 0 0:01:24 0:00:09 0:01:14 22.2M curl: (28) Operation timed out after 10000 milliseconds with 239353102 out of 1966178304 bytes received
12 -- 228M 0 1 0 0 0:01:26 0:00:10 0:01:15 21.7M
❯ curl -m 10 -LZO https://mirrors.tuna.tsinghua.edu.cn/fedora/releases/32/Workstation/x86_64/iso/Fedora-Workstation-Live-x86_64-32-1.6.iso
DL% UL% Dled Uled Xfers Live Qd Total Current Left Speed
2 -- 52.8M 0 1 1 0 0:09:03 0:00:10 0:08:47 3536k curl: (28) Operation timed out after 10001 milliseconds with 55427018 out of 1966178304 bytes received
2 -- 52.8M 0 1 0 0 0:16:03 0:00:10 0:15:35 1993k
很明显,下载速度上sjtug打败了其它几家。 但是要注意的是, sjtug 的源支持数量 比 tuna 和 ustc 少很多。