下 stable, testing, unstable, experimental 的源算是对 Debian 软件包的一种水平划分。其实也可看成为稳定性不同的发行版本。
通常我们还会以开发代号来称呼它们,目前的 stable 的开发代号是 sagre, testing 的开发代号是 etch,而 unstable 的开发代号一直是 sid。
以前 testing 对应的是 sarge,后来 sarge 发展得差不多了,Debian 社区正式发行了 sarge,于是 sarge 就变成了 stable 版本。现在的 testing 则是 etch,将来发展稳定了etch 将变成新的 stable 版本。
stable源,就如同字面意思一样,是最稳定的源,但相对的各个软件则通常不是最新版, 一般情况下没有出现什么安全问题是不会更新的,所安装软件较少也较为固定。
如果是搭建服务器的话,一般都采用 stable 的源。
- deb stable main contrib non-free
- deb-src stable main contrib non-free
- deb stable/non-US main contrib non-free
- deb-src stable/non-US main contrib non-free
testing 源,虽名为测试版,实则已经相当接近于 stable 版本的程度,这个版本的软件多半是在 unstable 中经由维护、开发人员不断的测试之后流入,所以在某种程度来说,其实已经做过初步的检测,这里头的软件大多也是相当稳定的,而且软件也都会比 stable 里头的新,而且软件总量来说则比上 stable 要多很多。
大多数人一般都使用的都是 testing 的源。
- deb testing main contrib non-free
- deb-src testing main contrib non-free
- deb testing/non-US main contrib non-free
- deb-src testing/non-US main contrib non-free
unstable 源,个人看法这才算是 测试版 ,这里头最大的特色就是软件更新速度快,几乎都与该软件同步,因为太新相对的使用 unstable 的人也必须承担更高的风险,有时候您可能会遭遇到一早更新完所有软件后,发现有些软件不能正常运作的状况,不过庆幸的是这种情形大概只会持续一两天左右,因为 unstable 的特色就是更新速度快,一旦有人回报问题,维护的人很快就会作修正。
如果喜欢玩软件,也不在乎有时候系统有出现一些小毛病,那就用它吧!
- deb unstable main contrib non-free
- deb-src unstable main contrib non-free
- deb unstable /non-US main contrib non-free
- deb-src unstable /non-US main contrib non-free
experimental源,按照官方的说法,里面的软件大多都是很不稳定和充满bug的,并可能导致数据的丢失….
如果想用到最新的软件并充满小白鼠的献身精神或者是立志成为Bug Reporter..那就用它吧…
- deb experimental main contrib non-free
backports源,为 Debian 提供不需要非 Stable 链接库就可在 Stable 版运行的新软件包,有效地弥补了Debian Stable版软件较旧的缺点。属于稳定性和功能之间的一个新的平衡点吧。
而且,这是 Lonecat 大大目前使用的源,还想什么,就选它吧。
- deb sarge-backports main non-free contrib
- deb stable main non-free contrib
- deb stable main
忘了还有一个 debian-uo,uo 是 Unofficial 的简写,也就是非官方的软件库。
- deb sid marillat rareware misc ustc java firefly jrfonseca xorg
- deb-src sid marillat rareware misc ustc java firefly jrfonseca xorg
而其中出现的 main contrib non-free 之类的,理解为一种垂直的划分吧。
因为 Debian 是非营利组织,但是组织架构严谨,有一套完善的软件管理方式。基于其对软件 free 度的一种坚持,对不同版权软件包的录入有一些限定。
下面是对它们的一些简要介绍:
- main Debian 里最基本及主要且符合自由软件规范的软件 ( packages )。
- contrib 这里头软件虽然可以在 Debian 里头运作,即使本身属于自由软件但多半却是相依于非自由 ( non-free ) 软件。
- non-free 不属于自由软件范畴的软件。
- non-us 这个分类里头的软件都来自非美国地区,当中可能有牵扯到专利、加密..等等问题。
- marillat 对应 Christian Marillat 的软件仓库,包括mplayer, transcode等。
- rareware 对应 rarewares.org 的软件仓库, 包括很多音效程序,如lame, musepack, beep media player等。
- ustc 对应 debian@ustc 维护的一些软件包,如 mule-gbk, gaim-openq, scim, stardict dicts, patched xpdf, irssi, xmms。
- java 对应 Blackdown java。包括 j2re, j2sdk ,mozilla java plugin。
- firefly 对应打过firefly补丁的包,包括 fontconfig mozilla mozilla-firefox pango1.0 qt-x11-free xft
- misc 对应其它无分类的包,包括 nvidia-kernel, winex3, rox, chmsee等
- debian-bit Lonecat 大大自己编译的一些软件包都在这里。
最后是关于源的混用问题,一般不建议混用 stable, testing 和 unstable 的源。因为很多软件之间都有不同程度的相依性,强行的结果会造成更多软件相依、相斥问题的产生,最终可能影响系统稳定与整个软件升级制度的正常运作。
需要把源从 stable 升到 testing, unstable 或者是从 testing 升到 unstable 源是非常简单的,只要修改 sources.list 里的源就好了。但反过来,降级是一种几乎不可能的任务…
还有就是 deb-src 代表的是源代码的源。