Linux 安全高效地更换源

几乎 90% 的 Linux 安装后都没有默认国内源，本文将尽可能收集整理出相对齐全且安全更换源的方法，以便解决国内使用 Linux 更新镜像加速

系统版本

首先查询系统的发行版本：

Copy
lsb_release -a

回显如下：

Copy
# 🌰 No.1
root@lightweight:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.1 LTS
Release: 22.04
Codename: focal

该命令并不适用所有发行版 Linux，如果不能确定发行系统 没有该命令的建议选择这个开源项目：高级系统信息工具 neofetch 安装方法

Copy
neofetch

Copy
root@VPSServer:~# neofetch
.-/+oossssoo+/-. root@VPS107-GitServer
`:+ssssssssssssssssss+:` ---------------------
-+ssssssssssssssssssyyssss+- OS: Ubuntu 22.04.3 LTS x86_64
.ossssssssssssssssssdMMMNysssso. Host: KVM/QEMU (Standard PC (Q35 + ICH9, 2009)
/ssssssssssshdmmNNmmyNMMMMhssssss/ Kernel: 5.15.0-88-generic
+ssssssssshmydMMMMMMMNddddyssssssss+ Uptime: 1 hour, 43 mins
/sssssssshNMMMyhhyyyyhmNMMMNhssssssss/ Packages: 700 (dpkg), 4 (snap)
.ssssssssdMMMNhsssssssssshNMMMdssssssss. Shell: bash 5.1.16
+sssshhhyNMMNyssssssssssssyNMMMysssssss+ Terminal: /dev/pts/0
ossyNMMMNyMMhsssssssssssssshmmmhssssssso CPU: Intel Xeon W-1290 (2) @ 3.191GHz
ossyNMMMNyMMhsssssssssssssshmmmhssssssso GPU: 00:01.0 Vendor 1234 Device 1111
+sssshhhyNMMNyssssssssssssyNMMMysssssss+ Memory: 349MiB / 1963MiB
.ssssssssdMMMNhsssssssssshNMMMdssssssss.
/sssssssshNMMMyhhyyyyhdNMMMNhssssssss/
+sssssssssdmydMMMMMMMMddddyssssssss+
/ssssssssssshdmNNNNmyNMMMMhssssss/
.ossssssssssssssssssdMMMNysssso.
-+sssssssssssssssssyyyssss+-
`:+ssssssssssssssssss+:`
.-/+oossssoo+/-.

root@VPSServer:~#

更换源

确定了系统后，按照下方不同系统方法操作

Debian apt 源一般修改 /etc/apt/sources.list 文件。所有修改之前先备份一个原来的文件，以防止出错可恢复:

Copy
cp /etc/apt/sources.list /etc/apt/sources.list.bak

上面的命令 将 /etc/apt/ 目录下 sources.list 文件复制一份并重命名为 sources.list.bak

只需要将 Debian 的默认源地址改成新的地址即可，比如将将/etc/apt/目录下 sources.list文件中的 http://deb.debian.org 改成 https://mirrors.163.com

可使用以下这条命令：

Copy
sed -i 's#http://deb.debian.org#http://mirrors.163.com#g' /etc/apt/sources.list

注意，如果安装源是 https 协议的，我们还需要安装软件包 apt-transport-https。 执行

apt-get install apt-transport-https，随后再执行 apt-get update 即可。

⚠️⚠️⚠️ 方法失效不可用？查看下方注意事项

⚠️ 注意事项

授人以鱼不如授人以渔

本文旨在涵盖所有的发行版 Linux 更换更新源，但实际收集下来发现很难实现一一收集，原因主要是每个地区、厂商对于更新源地址都会有一些不同之处，此处直接替换源地址的方法就不能实现复制代码即可更改的效果。

但本文给出的源替换方法是最安全的方法之一，原理是直接替换源的 URL 其他配置均不去动，首先了解 Linux 源文件大概构造，以Ubuntu22.04(Jammy)为例，在源中 URL 的参数如下：

Copy
cat /etc/apt/sources.list

Ubuntu22.04: /etc/apt/sources.list

得知此处默认的镜像地址为：http://archive.ubuntu.com

根据 Debian 换源例子，此处更换为 163 源的命令即为：

Copy
sed -i 's#http://archive.ubuntu.com#http://mirrors.163.com#g' /etc/apt/sources.list

实现了如下的效果：

执行命令后，sources.list 内容如下：

Copy
deb http://mirrors.163.com/ubuntu jammy main restricted universe multiverse

deb http://mirrors.163.com/ubuntu jammy-updates main restricted universe multiverse

deb http://mirrors.163.com/ubuntu jammy-security main restricted universe multiverse

只是单独的替换了源 URL，并没有去动 sources.list 内的其他结构，这个点非常重要；本文面对的用户可能会有各个水平阶层；所以使用替换 URL 的方法是最安全有效且稳定的。

不稳定的🌰

以百度搜索 “Linux 更换源” 为关键词，打开了前 3 个某最大社区给的方案：

如果照搬，很遗憾，无论你的系统是什么，最终你的源将被替换成Ubuntu发行版 版本代号focal 对应20.04 LTS

So~ 并不是 Diss 任何人或者其他方法，本文只是尝试总结了最安全有效的方法

国内源汇总

企业源：

来源 | 源地址 URL | IP 支持 | HTTPS 支持
阿里云开源镜像站 | http://mirrors.aliyun.com/ | IPv4/IPv6 | HTTP/HTTPS
搜狐开源镜像站 | http://mirrors.aliyun.com/ | IPv4/IPv6 | HTTP/HTTPS
网易开源镜像站 | http://mirrors.aliyun.com/ | IPv4/IPv6 | HTTP/HTTPS
腾讯开源镜像站 | http://mirrors.cloud.tencent.com/ | IPv4/IPv6 | HTTP/HTTPS

教育源：

来源 | 源地址 URL | IP 支持 | HTTPS 支持
中国科学技术大学 | http://mirrors.ustc.edu.cn/ | IPv4/IPv6 | HTTP/HTTPS
中国科学技术大学 | http://mirrors4.ustc.edu.cn/ | IPv4 Only | HTTP/HTTPS
中国科学技术大学 | http://mirrors6.ustc.edu.cn/ | IPv6 Only | HTTP/HTTPS
清华大学开源镜像站 | https://mirrors.tuna.tsinghua.edu.cn/ | IPv4/IPv6 | HTTPS Only