参考文献: http://blog.csdn.net/buguyiqie/article/details/4948661 http://blog.chinaunix.net/uid-7547035-id-60240.html
一 什么是源 源 相当于 "软件库",举一个windows的例子做类比:
当你装完纯净的系统后想装应用软件,比如QQ,你需要去腾讯的软件中心找安装包:http://pc.qq.com/(这里所有的软件列表的地址,都指向了腾讯的服务器),找到对应qq的地址后,点击下载,然后你会从腾讯服务器上下载qq到你的机器上.再安装此软件.
当你在linux 的终端中输入安装命令的时候,系统会去搜索源(http://pc.qq.com:这个地址相当于"源")所指向的服务器,然后把服务器中的"安装包"下载并安装到本机
二 源的配置文件 这个软件源配置文件就是/etc/apt/sources.list。它的本质就是一个普通的文本文件,可以在超级管 理员授权下,使用任何文本编辑器进行编辑。在该文件中,添加的软件源镜像站点称为一个配置项,并遵循以下格式:
DebType AddressType://Hostaddress/Ubuntu Distribution Component1 Component2……
其中各字段含义如下所示。
● DebType表示Deb软件包类型,使用deb表示二进制软件包,使用deb-src表示源码包;
● AddressType表示访问地址类型,常用类型有:http、ftp、file、cdrom、ssh等;
● Distribution表示Ubuntu的各个发行版本,例如dapper、feisty;
● Component表示软件包组件类别,是由技术支持程度不同而划分的类别,可选择main、restricted、universe和multiverse中的一种或多种。
当然在软件源配置文件中可以添加很多条配置项,这样APT就可以从不同渠道、不同站点获取软件资源。假设要将cn.archive.ubuntu.com作为软件源镜像站点,以下为在/etc/apt/sources.list文件中添加的配置项:
deb http://cn.archive.ubuntu.com/ubuntu/ feisty main restricted universe multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu/ feisty main restricted universe multiverse
以上配置信息告知APT工具,可以从该地址中获得Ubuntu的feisty版本的软件资源,包括二进制软件包(deb)和源码包(deb-src),并指明可以使用所有类别的软件包。需要提醒的是,在每次修改完/etc/apt/sources.list文件后,一定要运行“apt-get update”命令(刷新软件源,建立软件包资源索引文件。),才会使更改有效。
三 选择最优软件源 用户可以使用“netselect –vv”命令评测各个镜像站点在当前网络环境中的性能,以便选择最合适自己的镜像站点。运行“netselect –vv”命令时,加上以空格分隔的镜像站点列表。该命令会为每个镜像站点给出一个评估分。这个分值是通过评估以下两个指标综合得出。
● ping time:网络请求报文到达目标主机的时间消耗。
● hops:网络请求报文到达目标主机所跳转的主机个数。
评估分值越小,说明镜像站点的预计下载速度越大,以下命令用于评价3个镜像站点,可以看出从本地主机到达目标站点ubuntu.cn99.com的时间消耗最小(374ms),评分为747,表明在这三个站点中,ubuntu.cn99.com是最佳的软件源。
wdl@UbuntuFisher:~$ sudo netselect -vv cn.archive.ubuntu.com ubuntu.cn99.com debian.cn99.com
Running netselect to choose 1 out of 3 addresses.
.....................
ubuntu.cn99.com 374 ms 2 hops 60% ok ( 6/10) [ 747]
debian.cn99.com 389 ms 2 hops 50% ok ( 5/10) [ 933]
cn.archive.ubuntu.com 931 ms 2 hops 70% ok ( 7/10) [ 1596]
??? Ubuntu下载软件或系统更新时,按照源列表的顺序,从众多的源中找到它。因此我们在设置的时候需要将连接速度最快的源放在最前面。 ????(表示怀疑)
那么问题来了:ubuntu的源的使用策略到底是怎么样的呢? 如果我要安装的软件,在我的源列表中有三个配置项都提供安装,如果一个是速度最快的,一个是旧版本,一个是新版本,他是按照怎么样的优先级选择的?