幾乎 90% 的 Linux 安裝後都沒有默認國內源,本文將儘可能收集整理出相對齊全且安全更換源的方法,以便解決國內使用 Linux 更新鏡像加速
系統版本#
首先查詢系統的發行版本:
lsb_release -a
回顯如下:
# 🌰 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 安裝方法
neofetch
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
文件。所有修改之前先備份一個原來的文件,以防止出錯可恢復:
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
可使用以下這條命令:
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 的參數如下:
cat /etc/apt/sources.list
Ubuntu22.04: /etc/apt/sources.list
得知此處默認的鏡像地址為:http://archive.ubuntu.com
根據 Debian 換源例子,此處更換為 163 源的命令即為:
sed -i 's#http://archive.ubuntu.com#http://mirrors.163.com#g' /etc/apt/sources.list
實現了如下的效果:
執行命令後,sources.list
內容如下:
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 |