Zimri

Zimri - xlog

生活就像海洋 🌊
github

Linux 安全高效地更換源

幾乎 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 個某最大社區給的方案:

WechatIMG132

如果照搬,很遺憾,無論你的系統是什麼,最終你的源將被替換成Ubuntu發行版 版本代號focal 對應20.04 LTS

So~ 並不是 Diss 任何人或者其他方法,本文只是嘗試總結了最安全有效的方法

國內源彙總#

企業源:

來源源地址 URLIP 支持HTTPS 支持
阿里雲開源鏡像站http://mirrors.aliyun.com/IPv4/IPv6HTTP/HTTPS
搜狐開源鏡像站http://mirrors.aliyun.com/IPv4/IPv6HTTP/HTTPS
網易開源鏡像站http://mirrors.aliyun.com/IPv4/IPv6HTTP/HTTPS
騰訊開源鏡像站http://mirrors.cloud.tencent.com/IPv4/IPv6HTTP/HTTPS

教育源:

來源源地址 URLIP 支持HTTPS 支持
中國科學技術大學http://mirrors.ustc.edu.cn/IPv4/IPv6HTTP/HTTPS
中國科學技術大學http://mirrors4.ustc.edu.cn/IPv4 OnlyHTTP/HTTPS
中國科學技術大學http://mirrors6.ustc.edu.cn/IPv6 OnlyHTTP/HTTPS
清華大學開源鏡像站https://mirrors.tuna.tsinghua.edu.cn/IPv4/IPv6HTTPS Only
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。