没有人规定Linux一定要换源……要不要换源、要换什么源,要看你的需求和碰到的问题是什么。

比如因为没有订阅的问题将个人安装的RHEL系统的付费使用源换成CentOS的免费使用源;

比如因为因为网路延迟或封禁等问题将远端源换成近端镜像源;

比如因为个人喜好或工作需要等原因将稳定旧版本的源换成新版本甚至最新测试版本的源;

……

……

Linux系统就是由软体组成的,一套基本的软体源基本代表一个不同版本甚至不同类型的Linux系统。你换一个源,就相当于换一个「软体供应商」,这个「供应商」有可能是另一个原始供应商,也可能是二道贩子,也可能是和原始供应商有合作的第三方供应商等。


什么是源?

软体源是debian系的概念,把软体放在一个pool里面,用一条命令就可以自动从指定伺服器下载并安装。源列表是/etc/apt/sources.list,里面写了你所用的伺服器地址,这个路径有三个部分,分别解释一下:

  1. etc:代表附加物的意思,英文全称etcetra。换句话说,是一个底层的重要项目,通常添加一些次等重要的零碎事物。今天, 「etc」包含了广泛的系统配置文件,这些配置文件几乎包含了系统配置的方方面面,同样非常重要。
  2. apt:Advanced Packaging Tool,是Linux下的一款安装包管理工具,是一个客户/伺服器系统。
  3. sources.list:作为操作的一部分,APT使用一个文件列出可获得软体包的镜像站点地址,这个文件就是/etc/apt/sources.list

最初只有.tar.gz的打包文件,用户必须编译每个他想在GNU/Linux上运行的软体。用户们普遍认为系统很有必要提供一种方法来管理这些安装在机器上的软体包,当Debian诞生时,这样一个管理工具也就应运而生,它被命名为dpkg。从而著名的「package」概念第一次出现在GNU/Linux系统中,稍后Red Hat才决定开发自己的「rpm」包管理系统。

很快一个新的问题难倒了GNU/Linux制作者,他们需要一个快速、实用、高效的方法来安装软体包,当软体包更新时,这个工具应该能自动管理关联文件和维护已有配置文件。Debian再次率先解决了这个问题,APT(Advanced Packaging Tool)作为dpkg的前端诞生了。APT后来还被Conectiva改造用来管理rpm,并被其它Linux发行版本采用为它们的软体包管理工具。

APT工作原理

APT是一个客户/伺服器系统。在伺服器上先复制所有DEB包(DEB是Debian软体包格式的文件扩展名),然后用APT的分析工具(genbasedir)根据每个DEB 包的包头(Header)信息对所有的DEB包进行分析,并将该分析结果记录在一个文件中,这个文件称为DEB 索引清单,APT伺服器的DEB索引清单置于base文件夹内。一旦APT 伺服器内的DEB有所变动,一定要使用genbasedir产生新的DEB索引清单。客户端在进行安装或升级时先要查询DEB索引清单,从而可以获知所有具有依赖关系的软体包,并一同下载到客户端以便安装。

当客户端需要安装、升级或删除某个软体包时,客户端计算机取得DEB索引清单压缩文件后,会将其解压置放于/var/state/apt/lists/,而客户端使用apt-get install或apt-get upgrade命令的时候,就会将这个文件夹内的数据和客户端计算机内的DEB资料库比对,知道哪些DEB已安装、未安装或是可以升级的。

可以理解为,APT是个客户端,这个客户端先从伺服器上获取所有包的信息,并记录在一个清单里。当用户使用apt-get之类的指令时,无论是升级 安装 还是删除。APT都会先去找清单(清单里有伺服器包的信息),然后对照本地的库。知道哪些包安装了,哪些没安装,哪些是可以升级的。

为什么要换源?

所谓换源不过就是换掉/etc/apt/source.list里边的清单,这个清单就是上边说的apt要对比的那个单子,也就是我们下载、安装或者卸载deb包的伺服器地址。

如果是国外的源,也就是我们需要去访问国外的伺服器来更新包,访问速度是非常慢的。

另外不同的软体源所包含的deb包是不同的,当我们用sudo apt install abc安装abc的时候,可能你用的A的源,会提示你没有这个软体包,但你换成B的源,就可以下载abc了。

不过大多数人换源是因为慢啦,这种一款应用只在某家的源才有的情况,我是没遇到过呢...

参考链接:Linux软体源的概念


换源是因为大部分linux官方源都是国外的速度慢,而且失败的概率高,几百兆的更新速度几十K甚至几K能急死个人。使用科大,阿里,网易的源速度飞快,不但节省生命,还可以降低心脏病发病概率。

当然,如果用深度,麒麟,UOS,EulerOS估计就不用换源了。


  1. 正常情况下,使用镜像源源和官方源下载到的东西是一样的,只不过镜像源的同步会滞后一小段时间。
  2. 国内网路环境特殊,除了deepin以外,其他Linux发行版从官方源下载东西都很慢,镜像源能提供更快的速度。
  3. 使用镜像源可以给官方源的伺服器减压(话说国内清华的源压力也不小)
  4. 使用官方源会占用出口带宽,使用我国大区域网内的镜像源可以节省出口带宽,缓解网路高峰期时的线路拥堵情况。


一般都是因为下载速度


推荐阅读:
相关文章