概述:
本文是在逛论坛是的发现,借鉴过来,以便学习。
源列表主文件 /etc/apt/sources.list
同时也可创建独立的源配置文件到 /etc/apt/sources.list.d/* 下
sources.list 文件格式说明
源列表文件以行为单位,每行分多个字段,字段间以空白符分隔。井号(#)开头为注释行
-
第一字段,指示包类型
可选值为[deb] [deb-src]两个,分别对应二进制包和源码包。通常仅二进制包有用。
-
第二字段,指示镜像站点,即源的URL
URL 定位到某个目录,该目录下必有[dists] [pool]两个子目录。
-
第三字段,指示仓库
打开某源,进入[dists]目录,里面的每个子目录都可以理解为一个仓库。
命名形式为「系统发行版名-仓库名」,如 Debian 的[jessie-backports] [jessie-updates]。[stable、testing 为链接,指向具体系统发行版,会随时间而变]。
Debian 的仓库自 squeeze 起与 Ubuntu 基本相同。除主仓库外,有:
[security],Ubuntu 用于指安全性更新。即影响系统安全的 bug 修补。Debian 特殊一些,见下文。
[updates],非安全性更新。即不影响到系统安全的 bug 修补。
[proposed-updates],预更新。小 beta 版。过后会进入[updates]或[security]。Ubuntu 仅用[proposed],无后缀[updates]。
[backports],后备。Debian stable 发布后,Ubuntu 某版本正式发布后,其所有软件版本号便已被冻结,所有软件只修 bug,不增加任何特性。但有人可能需要新特性,甚至某些较新的软件原来根本就没有。该仓库正因此而设,但欠官方维护,且可能在系统正式发布之后过一段时间才有内容。此仓库处于第二优先顺序,而上述几个仓库处于第一优先顺序。安装第二优先顺序的包必须特别指明,见 apt-get(8) aptitude(8) 的 --target-release 选项。
提示:并非所有版本都设有上述全部仓库,请打开源中 dists 目录查看。
-
后续字段,指示包许可类型
后续字段排名不分先后,最终结果取其并集。
按包本身的许可及所直接依赖的包的许可划分。打开某仓库,可见几个子目录。
Debian 最多有三种
[main],本身是自由软件,且所有依赖的包也都是自由软件,此类可称纯自由软件。
[contrib],本身是自由软件,但依赖不纯,即依赖中至少有一例 contrib 或 non-free 者。
[non-free],本身并非自由软件,无论依赖如何。
Ubuntu 最多有四种
[main],官方维护的自由软件。
[universe],社区维护的自由软件。
[restricted],设备专有驱动。
[multiverse],同 Debian 的[non-free]。
某些另类的第三方源,未必遵循上述惯例。总之,打开仓库目录自己看。
特别之处
Debian 安全性更新不像 Ubuntu 放在[security]仓库,而是放在单独一个源中。各大镜像站通常都把一般的包放在根下来一级的[debian]目录中,而安全性更新则会放在[debian-security]目录中,如果有的话,如 http://ftp.cn.debian.org/debian-security/ 。
Debian 官方建议,所有安全性更新,只从官方主站更新,勿使用其它镜像站,除非你对镜像站非常有信心,见 https://www.debian.org/security/index.en.html 。所以,很多镜像站并不提供安全更新源。
安全性更新的第三字段形式固定为[版本名/updates],如[wheezy/updates] [jessie/updates]。
Debian 多媒体源
一些多媒体软件因牵涉到版权问题,包括硬件解码器,Debian 官方并未收录,有一网站专门填补该空缺,见 http://www.deb-multimedia.org。
最后忠告
不要同时启用多个源,同一仓库的源启用一个即可,否则容易引起混乱。以下实例便是列有多套而仅启用一套.