deb http://mirrors.163.com/debian/ wheezy main non-free contrib deb http://mirrors.163.com/debian/ wheezy-proposed-updates main non-free contrib deb-src http://mirrors.163.com/debian/ wheezy main non-free contrib deb-src http://mirrors.163.com/debian/ wheezy-proposed-updates main non-free contrib
其中能够把每一行分为四个部分,说白了,当你在线更新某个软件时,debian就是遵守这四个选项(准确的说是后三项)的指示找到软件来给你安装的: html
deb ### ftp地址 ### 版本代号 ### 限定词 deb ### http://mirrors.163.com/debian/ ### wheezy ### main non-free contrib
其中, java
第一部分为deb或者deb-src,其中前者表明软件的位置,后者表明软件的源代码的位置 apache
第二部分为你的ftp镜像的url,以个人为例,我是用的是大陆速度较快的网易镜像。在浏览器中打开此连接之后会发现有以下内容: 浏览器
其中: 安全
/dists/ 目录包含"发行版"(distributions), 此处是得到 Debian 发布版本(releases)和已发布版本(pre-releases)的软件包的正规途径. 有些旧软件包及 packages.gz 文件仍在里面. 架构
/pool/ 目录为软件包的物理地址. 软件包均放进一个巨大的 "池子(pool)", 按照源码包名称分类存放. 为了方便管理, pool 目录下按属性再分类("main", "contrib" 和 "non-free"), 分类下面再按源码包名称的首字母归档. 这些目录包含的文件有: 运行于各类系统架构的二进制软件包, 生成这些二进制软件包的源码包.你能够执行命令 apt-cache showsrc mypackagename, 查看 'Directory:' 行获知每一个软件包的存放位置. 例如: apache 软件包存放在 pool/main/a/apache/ 目录中.另外, 因为lib*软件包数量巨大, 它们以特殊的方式归档: 例如, libpaper 软件包存放在 pool/main/libp/libpaper/. 工具
还有一些目录: 测试
/tools/:用于建立启动盘, 磁盘分区, 压缩/解压文件, 启动 Linux 的 DOS 下的小工. /doc/:基本的 Debian 文档, 如 FAQ, 错误报告系统指导等.. 加密
/indices/:维护人员文件和重载文件. url
/project/:大部分为开发人员的资源, 如:
project/experimental/本目录包含了处于开发中的软件包和工具, 它们均处于 alpha 测试阶段. 用户不该使用这些软件, 由于即便是经验丰富的用户也会被搞得一团糟.)
第三部分表示你的debian版本号(注意,不是某个软件的版本号,而是debian自己的版本号),也有人称这是对debian软件包的一种水平划分(这种说法仍是比较形象的),具体这一项怎么写,能够参看http://mirrors.163.com/debian/dists/网页里面的内容(以下图),大体来讲按版本的旧-->新程度有这么几大类:oldstable,stable,testing,sid
1.oldstable顾名思义,就是之前的稳定发行版了,在本例中oldstable就是Debian6.0.8目录的一个连接,二者内容彻底一致。
2.stable是指如今的稳定发行版,对于每一个debian来讲,每一个稳定发行版都会有一个代号,如debian 6叫作squeeze,debian 7叫作wheezy,因为在笔者写本文的时候稳定版是debian7,因此stable就是wheezy的一个连接。
3.testing指目前还暂时处于测试阶段的debian发行版,如wheezy往下发展就是jessie了,因此testing代指的就是jessie目录,它是jessie的一个连接。
4.unstable那就是不稳定版本了,但在这个目录清单里咱们并无看到unstable目录,其实它还有一个代号:sid,咱们知道 debian的发行版本名称大都来自玩具总动员中的角色名称,而sid就是那个专门破坏玩具的邻居家坏小孩,因此就把unstable这个不稳定的软件目 录起名为sid了,这里面的软件通常都是最新的,稳定性、安全稳定值得商榷,若是你想作试验小白鼠,大可以使用这里的软件。通过一段时间的测试,这里面的软 件可能会进入下一个阶段testing目录从而出如今下一个debian发行版中,要么就夭折被直接抛弃了。
好了,从水平的角度介绍完debian发行版,如今咱们进入这些目录大体看一下里面的内容(以stable目录为例):
咱们会发现每一个目录都会包括contrib、main、non-free等几个目录,那么这些目录又是什么东东呢?
以垂直的观点来看 Debian 软件的分布:main、contrib、non-free、non-us
由于 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等
通常不建议混用 stable, testing 和 unstable 的源。由于不少软件之间都有不一样程度的相依性,强行的结果会形成更多软件相依、相斥问题的产生,最终可能影响系统稳定与整个软件升级制度的正常运做。
须要把源从低级升到高级是很是简单的,只要修改 sources.list 里的源就行了。但反过来,降级是一种几乎不可能的任务…若是你使用的是高版本的debian,而在source.list文件中配置的是低版本,那么当你 在线安装软件的时候极可能会发现有不少软件依赖问题没法解决,当出现这些问题的时候,就要想到是否要修改下source.list文件中的版本问题了
Debian 有本身独特的版本系统,整个系统有三个版本,分别为稳定版(stable),测试版(testing)和不稳定版(unstable/sid)。每次发布 的版本都是稳定版,而测试版在通过一段时间的测试证实没有问题后会成为新的稳定。由于稳定版是会更新的,为了便于区分不一样时期的稳定版,每一个版本又有本身 特有的代号(codename),如今的稳定版称为 wheezy(debian7),测试版称为jessie。而不稳定版的代号永远是 sid。
sources.list的写法
1)找到包含dists和pool这两个目录的那个目录,把地址记下来,好比http://mirrors.163.com/debian/;
2)打开dists,里面包含的目录名字,记下来。好比http://mirrors.163.com/debian/,dists/包含wheezy、testing等。把这些目录名字记下来。
3)打开pool目录,看看里面包含哪些组件目录,好比main、contrib、non-free;
4)书写格式:deb <1记下来的地址> <2记下来的目录名> <3记下来的名字>, 如:
deb http://mirrors.163.com/debian wheezy man contrib non-free