Ubuntu 换源看这一篇就够了
<h2 id="背景">背景</h2><p>Ubuntu是新生代农民工比较常用的Linux系统。由于一些原因,当我们用官网的源的更新和下载包的时候,很慢、很卡、很费时间。所以,我们应该把它换成国内的源。</p>
<h2 id="换源">换源</h2>
<p>ubuntu的源存放在<code>/etc/apt/source.list</code>,在换源之前我们要记得对之前的源进行备份,这样的好处是,万一你不行,你还可以复原回去。然后我们可以用vim操作这个文件,可以把之前的删了注释都行,按住<code>SHIFT + G</code>跳到最后一行后,按住<code>o</code>进入编辑模式,然后贴下源哇,具体的操作步骤如下(以21.04为例):</p>
<pre><code class="language-shell">cp /etc/apt/sources.list /etc/apt/sources.list.bak
vim /etc/apt/sources.list
</code></pre>
<p>贴</p>
<pre><code class="language-text"># source && source code
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ hirsute main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ hirsute main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ hirsute-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ hirsute-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ hirsute-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ hirsute-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ hirsute-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ hirsute-security main restricted universe multiverse
# Advance distribution source, Not recommended
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ hirsute-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ hirsute-proposed main restricted universe multiverse
# source && source code
deb http://mirrors.aliyun.com/ubuntu hirsute main restricted
deb http://mirrors.aliyun.com/ubuntu hirsute-updates main restricted
deb http://mirrors.aliyun.com/ubuntu hirsute universe
deb http://mirrors.aliyun.com/ubuntu hirsute-updates universe
deb http://mirrors.aliyun.com/ubuntu hirsute multiverse
deb http://mirrors.aliyun.com/ubuntu hirsute-updates multiverse
deb http://mirrors.aliyun.com/ubuntu hirsute-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu hirsute-security main restricted
deb http://cn.archive.ubuntu.com/ubuntu hirsute-security universe
deb http://cn.archive.ubuntu.com/ubuntu hirsute-security multiverse
</code></pre>
<p>按下<code>esc</code>, 输入<code>:wq</code></p>
<p>然后敲<code>sudo apt-get update && apt-get upgrade</code></p>
<h2 id="脚本为王">脚本为王</h2>
<p>ubuntu有很多个版本,12.04之前的我们就不管它了,太老了。每一个版本都有一个代号,比如trusty(14.04)、xenial(16.04)、bionic(18.04)、groovy(20.10)、hirsute(21.04)。不管代号怎么变,相关的源的网址它是固定的,比如五道口的源是https://mirrors.tuna.tsinghua.edu.cn/ubuntu, 阿里的源是http://mirrors.aliyun.com/ubuntu。所以,我们其实可以写个脚本去做这件事,输入是ubuntu的版本号,输出是相关的源(这里选五道口和阿里的吧)。</p>
<p>脚本如下:</p>
<pre><code class="language-shell">#!/bin/bash
function change_sources() {
echo "#======= change sources.list start =======#"
echo "Input Your Ubuntu Version:"
read UBUNTU_VERSION
echo "Your Ubuntu Version is ${UBUNTU_VERSION}"
if [ ${UBUNTU_VERSION} = "12.04" ] || [ ${UBUNTU_VERSION} = "14.04" ] || [ ${UBUNTU_VERSION} = "16.04" ] || [ ${UBUNTU_VERSION} = "18.04" ] || [ ${UBUNTU_VERSION} = "20.10" ] || [ ${UBUNTU_VERSION} = "21.04" ]; then
cp /etc/apt/sources.list /etc/apt/sources.list.bak
cp ./apt/${UBUNTU_VERSION}/sources.list /etc/apt/sources.list
apt-get update && apt-get upgrade
fi
echo '#======= change sources.list end =======#'
}
change_sources
</code></pre>
<p>操作步骤如下:</p>
<pre><code class="language-shell">git clone https://gitee.com/taoge2021/env-config.git
cd env-config/linux/ubuntu/sources
chmod u+x change-sources.sh
./change-source.sh
</code></pre>
<p>这个是完整的日志:</p>
<pre><code class="language-shell">root@ubuntu-ataola-2:/home/ataola# ./change-sources.sh
#======= change sources.list start =======#
Input Your Ubuntu Version:
21.04
Your Ubuntu Version is 21.04
Hit:1 http://mirrors.aliyun.com/ubuntu hirsute InRelease
Hit:2 http://mirrors.aliyun.com/ubuntu hirsute-updates InRelease
Hit:3 http://mirrors.aliyun.com/ubuntu hirsute-backports InRelease
Get:4 http://mirrors.aliyun.com/ubuntu hirsute-security InRelease
Get:5 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute InRelease
Get:6 http://cn.archive.ubuntu.com/ubuntu hirsute-security InRelease
Get:7 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute-updates InRelease
Get:8 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute-backports InRelease
Get:9 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute-security InRelease
Get:10 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute/main amd64 Packages
Get:11 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute/main Translation-en
Get:12 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute/main amd64 c-n-f Metadata
Get:13 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute/restricted amd64 Packages
Get:14 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute/restricted Translation-en
Get:15 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute/restricted amd64 c-n-f Metadata
Get:16 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute/universe amd64 Packages
Get:17 http://cn.archive.ubuntu.com/ubuntu hirsute-security/universe amd64 Packages
Get:18 http://cn.archive.ubuntu.com/ubuntu hirsute-security/universe Translation-en
Get:19 http://cn.archive.ubuntu.com/ubuntu hirsute-security/universe amd64 c-n-f Metadata
Get:20 http://cn.archive.ubuntu.com/ubuntu hirsute-security/multiverse amd64 Packages
Get:21 http://cn.archive.ubuntu.com/ubuntu hirsute-security/multiverse Translation-en
Get:22 http://cn.archive.ubuntu.com/ubuntu hirsute-security/multiverse amd64 c-n-f Metadata
Get:23 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute/universe Translation-en
Get:24 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute/universe amd64 c-n-f Metadata
Get:25 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute/multiverse amd64 Packages
Get:26 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute/multiverse Translation-en
Get:27 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute/multiverse amd64 c-n-f Metadata
Get:28 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute-updates/main amd64 Packages
Get:29 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute-updates/main Translation-en
Get:30 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute-updates/main amd64 c-n-f Metadata
Get:31 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute-updates/restricted amd64 Packages
Get:32 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute-updates/restricted Translation-en
Get:33 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute-updates/restricted amd64 c-n-f Metadata
Get:34 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute-updates/universe amd64 Packages
Get:35 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute-updates/universe Translation-en
Get:36 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute-updates/universe amd64 c-n-f Metadata
Get:37 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute-updates/multiverse amd64 Packages
Get:38 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute-updates/multiverse Translation-en
Get:39 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute-updates/multiverse amd64 c-n-f Metadata
Get:40 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute-backports/main amd64 c-n-f Metadata
Get:41 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute-backports/restricted amd64 c-n-f Metadata
Get:42 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute-backports/universe amd64 Packages
Get:43 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute-backports/universe Translation-en
Get:44 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute-backports/universe amd64 c-n-f Metadata
Get:45 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute-backports/multiverse amd64 c-n-f Metadata
Get:46 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute-security/main amd64 Packages
Get:47 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute-security/main Translation-en
Get:48 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute-security/main amd64 c-n-f Metadata
Get:49 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute-security/restricted amd64 Packages
Get:50 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute-security/restricted Translation-en
Get:51 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute-security/restricted amd64 c-n-f Metadata
Get:52 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute-security/universe amd64 Packages
Get:53 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute-security/universe Translation-en
Get:54 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute-security/universe amd64 c-n-f Metadata
Get:55 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute-security/multiverse amd64 Packages
Get:56 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute-security/multiverse Translation-en
Get:57 https://mirrors.tuna.tsinghua.edu.cn/ubuntu hirsute-security/multiverse amd64 c-n-f Metadata
Fetched 24.0 MB in 6s (3,771 kB/s)
Reading package lists... Done
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
ubuntu-advantage-tools
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
#======= change sources.list end =======#
root@ubuntu-ataola-2:/home/ataola#
root@ubuntu-ataola-2:/home/ataola# ls /etc/apt
apt.conf.dauth.conf.dpreferences.dsources.listsources.list.baksources.list.curtin.oldsources.list.dtrusted.gpg.d
root@ubuntu-ataola-2:/home/ataola# cat /etc/apt/sources.list
# source && source code
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ hirsute main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ hirsute main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ hirsute-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ hirsute-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ hirsute-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ hirsute-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ hirsute-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ hirsute-security main restricted universe multiverse
# Advance distribution source, Not recommended
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ hirsute-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ hirsute-proposed main restricted universe multiverse
# source && source code
deb http://mirrors.aliyun.com/ubuntu hirsute main restricted
deb http://mirrors.aliyun.com/ubuntu hirsute-updates main restricted
deb http://mirrors.aliyun.com/ubuntu hirsute universe
deb http://mirrors.aliyun.com/ubuntu hirsute-updates universe
deb http://mirrors.aliyun.com/ubuntu hirsute multiverse
deb http://mirrors.aliyun.com/ubuntu hirsute-updates multiverse
deb http://mirrors.aliyun.com/ubuntu hirsute-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu hirsute-security main restricted
deb http://cn.archive.ubuntu.com/ubuntu hirsute-security universe
deb http://cn.archive.ubuntu.com/ubuntu hirsute-security multiverseroot@ubuntu-ataola-2:/home/ataola#
</code></pre>
<h2 id="参考文献">参考文献</h2>
<p>https://wiki.ubuntu.org.cn/源列表</p>
</div>
<div id="MySignature" role="contentinfo">
<img alt="知识共享许可协议" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" /><br />本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。<br><br>
来源:https://www.cnblogs.com/cnroadbridge/p/15194989.html
頁:
[1]