Configuring Regional Mirror Sources for APT, NPM, pip, and Docker
APT (Ubuntu/Debian)
Preserve the original software sources list:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.$(date +%Y%m%d)
Modify the repository definitions:
sudo nano /etc/apt/sources.list
Substitute the default entries with mirror endpoints. Example configuration for Ubuntu 22.04 using Alibaba Cloud mirrors:
deb https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
NPM
Single-Use Installation
Fetch a specific package through an alternative registry without affecting global settings:
npm install <module_name> --registry=https://registry.npmmirror.com
Persistent Global Settings
Update the default registry URL:
npm config set registry https://registry.npmmirror.com
Confirm the active registry:
npm config get registry
Remove the custom configuration to restore defaults:
npm config delete registry
Alternative Client (cnpm)
Install the dedicated mirror client:
npm install -g cnpm --registry=https://registry.npmmirror.com
Execute package operations using the cnpm command:
cnpm install <module_name>
pip
Ad-hoc Usage
Install a libray using a specific index for one-time acceleration:
python3 -m pip install <library_name> --index-url https://mirrors.cloud.tencent.com/pypi/simple --trusted-host mirrors.cloud.tencent.com
Global Configuration (Modern pip)
For pip vertions 10.0.0 and later:
pip config set global.index-url https://mirrors.cloud.tencent.com/pypi/simple
pip config set global.trusted-host mirrors.cloud.tencent.com
Configuration File Method
Create the user-level configuration directory:
mkdir -p ~/.config/pip
vim ~/.config/pip/pip.conf
Insert the following directives:
[global]
index-url = https://mirrors.cloud.tencent.com/pypi/simple
[install]
trusted-host = mirrors.cloud.tencent.com
On Windows platforms, create the file at %APPDATA%\pip\pip.ini:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = pypi.tuna.tsinghua.edu.cn
Docker
Temporary Image Pull
Retrieve images through a mirror prefix:
docker pull docker.mirrors.ustc.edu.cn/<repository>/<image>:<tag>
Permanent Daemon Configuration
Create or edit the daemon configuration file:
sudo nano /etc/docker/daemon.json
Define the registry mirrors array:
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com"
]
}
Apply the configuration changes:
sudo systemctl daemon-reload
sudo systemctl restart docker