debian软件源sources.list⽂件格式说明
在安装完debian操作系统之后⼤家做的第⼀件事⼤概就是修改source.list⽂件了吧,否则你是⽆法在线更新软件的,那么source.list⽂件中的各个配置项的具体含义你搞懂了么?下⾯就以我的source.list⽂件为例为⼤家讲解⼀下。
deb mirrors.163/debian/ wheezy main non-free contrib
deb mirrors.163/debian/ wheezy-proposed-updates main non-free contrib
deb-src mirrors.163/debian/ wheezy main non-free contrib
deb-src mirrors.163/debian/ wheezy-proposed-updates main non-free contrib
其中可以把每⼀⾏分为四个部分,说⽩了,当你在线更新某个软件时,debian就是遵照这四个选项(准确的说是后三项)的指⽰到软件来给你安装的:
deb ### ftp地址 ### 版本代号 ### 限定词
deb ### mirrors.163/debian/ ### wheezy ### main non-free contrib
其中,
第⼀部分
第⼀部分为deb或者deb-src,其中前者代表软件的位置,后者代表软件的源代码的位置
第⼆部分婚前房产
破解wifi第⼆部分为你的ftp镜像的url,以我的为例,我是⽤的是⼤陆速度较快的⽹易镜像。在浏览器中打开此链接以后会发现有如下内容:
其中:
/dists/ ⽬录包含"发⾏版"(distributions), 此处是获得 Debian 发布版本(releases)和已发布版本(pre-releases)的软件包的正规途径. 有些旧软件包及 ⽂件仍在⾥⾯.
/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/:
维护⼈员⽂件和重载⽂件.
/project/:
⼤部分为开发⼈员的资源, 如: project/experimental/ 本⽬录包含了处于开发中的软件包和⼯具, 它们均处于 alpha 测试阶段. ⽤户不应使⽤这些软件, 因为即使是经验丰富的⽤户也会被搞得⼀团糟.)
第三部分
华山位于哪个省哪个市>小学六年级语文教学计划2.stable是指现在的稳定发⾏版,对于每个debian来说,每个稳定发⾏版都会有⼀个代号,如debian 6叫做squeeze,debian 7叫做wheezy,由于在笔者写本⽂的时候稳定版是debian7,所以stable就是wheezy的⼀个链接。
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 对应 的软件仓库, 包括很多⾳效程序,如lame, musepack, beep media playe
r等。
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⽂件中的版本问题了
按需修改⾃⼰的sources.list
3)打开pool⽬录,看看⾥⾯包含哪些组件⽬录,⽐如main、contrib、non-free;
更新软件包列表信息,升级debian
修改 /etc/apt/sources.list 之后⼀般会运⾏下⾯两个命令进⾏更新升级:
sudo apt-get update
sudo apt-get dist-upgrade
其中:
update - 取回更新的软件包列表信息
dist-upgrade - 发布版升级
第⼀个命令仅仅更新的软件包列表信息,所以很快就能完成。
第⼆个命令是全⾯更新发布版,⼀般会下载⼏百兆的新软件包。
描写田园风光的诗
其实在运⾏完第⼀个命令后系统就会提⽰你进⾏更新升级。因为修改了源,所有这次更新的改动可能会很⼤,⽐如安装某个包可能会删除太多的其他包,所有系统会提⽰你运⾏“sudo apt-get dist-upgrade”进⾏全⾯升级或使⽤软件包管理器中的“标记全部软件包以便升级”功能进⾏升级。两者效果是⼀样的。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论