Linux更新速度慢? 换个源就能解决!

Linux 3月前 249




什么是软件源?





软件源,又叫软件仓库(repository):是软件包的存放位置,通常存储了目录,以及元数据。

软件源由软件包组成,不同的软件源通常有不同的用途。

比如:

pip是一个软件包管理工具,是用来快捷管理python语言的软件。

npm是node.js软件包管理工具,用来方便安装node.js的软件。


除了针对指定某种用途的软件包,同样也有系统级别的。本文就介绍Linux系统下,是通过什么工具来管理软件源。


说到Linux,就不能抛开发行版来说,不同的发行版对应不同的管理方式。


基于Debian系统的:Ubuntu,Rapbian,UOS,Deepin等,使用的是APT管理方式。

RPM(Red Hat Package Manager)系列的:Fedora,CentOS RHEL 使用yum,以及新版的dnf.

还有使用Pacman的Arch Linux 以及  Zypper的openSUSE等等。


本文就以Debian系列为例,来看看基于Debian的系统是如何修改管理APT软件源的。





APT软件源sources.list






在Debian系列的Linux系列中,软件源是通过/etc/apt/sources下的配置文件来进行管理和控制。通常可以将软件源直接写入到sources.list文件,同时也支持自建一个list文件,放入到sources.list.d目录中。



sources.list文件结构是怎样的呢?





通过文本编辑软件nano打开sources.list.

sudo nano /etc/apt/sources.list

 我们可以看到,除去以#开头的注释行,

以deb开头的行就是我们具体的软件源地址。

包类型

每行的第一个单词deb或deb-src指示归档的类型。Deb表示归档文件包含二进制软件包(deb),即我们通常使用的预编译软件包。Deb-src指示源软件包,它们是原始程序源以及Debian控制文件(.dsc)和diff.gz,其中包含打包程序所需的更改。


源网址

该行的下一个条目是您要从中下载软件包的存储库的URL 。Ubuntu仓库镜像的主要列表位于此处。


发行版

“发行版”可以用两种方式:一种是具体的发行代码名称/别名(比如Xenial,Yakkety,Zesty,Bionic,Eoan),另一类就发行类别(oldstable,stable,testing,unstable)。通常发行版只有在大的版本更新的时候需要更改(会自动更改),其他时候就使用缺省值就行。

当然,如果你想要一直使用测试版本,那么就使用发行类别的方式将其改为testing,这样就可以一直使用最新的测试版。

通过lsb_release -cs 命令可以查看具体的发行代号。

运行lsb_release,需要安装lsb-core:

sudo apt-get install lsb-core -y

部件

main 即“基本”组件,其中只包含符合Ubuntu的许可证要求并可以从Ubuntu团队中获得支持的软件,致力于满足日常使用,

restricted 即“受限”组件,其中包含了非常重要的,但并不具有合适的自由许可证的软件,例如只能以二进制形式获得的显卡驱动程序。由于Ubuntu开发者无法获得相应的源代码,restricted组件能够获得的支持与main组件相比是非常有限的。

universe 即“社群维护”组件,其中包含的软件种类繁多,均为自由软件,但都不为Ubuntu团队所支持。

multiverse 即“非自由”组件,其中包括了不符合自由软件要求而且不被Ubuntu团队支持的软件包,通常为商业公司编写的软件。


关于更多的sources.list介绍,可以使用man sources.list命令。





为什么需要换软件源?






通常情况下,安装好Ubuntu系统后,软件源地址是位于美国,这样导致的结果就是软件下载速度不尽人意。

这时,我们就需要切换到一个国内的源来进一步的提高下载速度。

更换源,可通过UI的方式,以及手动修改源的方式。

UI方式:
Ubuntu提供了自动找寻最佳源的功能。

在“软件与更新”窗口,按照下图的方式选择最佳服务器地址就行。



手动修改sources.list:

手动修改存在以下两个问题: 源从哪儿找?哪个源的速度更快。


Ubuntu系统提供了一个镜像网址http://mirrors.ubuntu.com/,列出了各个国家的镜像。


接下来,我们可以通过netselect 以及sed命令来实现镜像源的替换。

下载netselect:

wget http://ftp.au.debian.org/debian/pool/main/n/netselect/netselect_0.3.ds1-28+b1_amd64.debsudo dpkg -i netselect_0.3.ds1-28+b1_amd64.deb

通过netselect来选择速度最快的国内镜像:

sudo netselect -s 20 -t 40 $(wget -qO - mirrors.ubuntu.com/CN.txt)

通过sed命令替换 sources.list当前的源。

sudo sed -i 's/http:\/\/us.archive.ubuntu.com\/ubuntu\/http:\/\/mirror.lzu.edu.cn\/ubuntu\//' /etc/apt/sources.list

替换好源后,运行

sudo apt update

可以看到速度还不错。


最新回复 (0)
返回
发新帖
声明:网站中可能存在第三方网站链接,如有侵权,请联系我们aomeikeji@qq.com删除;破解软件仅供学习交流,下载后24小时内删除。