美国经济中的基本流通单位是美元。当然,还有更小命名的货币单位,但是不再有人用硬币买东西。你也无法用一美元买更多东西,而通常你需要花若干美元完成一次采购。同样地,许多操作系统环境的基本软件单元是包(package)。有比大多数包更小的程序,而且在一个单独的包中,其中一些可能被绑在一起的,例如收集在名为Debian sysutils包中的系统工具集合。也有大量被其它包依赖的包:你不能只安装包A,因为它需要包B,C和D才能工作。
在九十年代中期,被通俗地称为“依赖地狱(dependency hell)”的情形对某些操作系统并不常见。使用Red Hat包管理程序系统(Red Hat Package Manager system,RPM)和微软的动态链接库系统(Dynamic Link Library,DLL)开发包的派生的两个特殊的例子是:RPM Hell和DLL Hell。就像这些有趣的,同时可能也是潜在的、令人讨厌的名称所暗示的,许多人在日益复杂的操作系统中发现了很多令人沮丧的软件依赖问题。
包管理程序的开发是为解决缺乏统一的包管理系统时的依赖问题和软件安装困难的问题。在微软Windows和苹果Mac OS专利系统中,根据现有平台上软件集成的信息,每个单独的第三方软件开发者独立地选择并实现他们自己的软件安装方法,而基于Linux操作系统的开源软件开发者通常只需要编写软件本身。那样的话,各种Linux发行版本的包维护人员从源码为这些应用程序创建二进制软件包。然后绑定在发行版本中,置于在线文档,或为个人提供下载,通过包管理程序来安装它们。
Debian软件管理的发展简史
由其奠基人Ian Murdock和它的妻子(当时是他的女友)Debra命名的Debian公布于1993年8月。Debian是现存的第二老的Linux发行版本。然而,在1994年1月也就是首个发行版本诞生五个月之后,官方第一次发行的Debian版本中出现的二进制包系统被确定为Debian 0.91。当时Debian 0.91在其早期开发阶段是一个原始的工具,几乎没有Debian开发者最初预想到所有用手工处理的软件管理能通过使用源码文件处理,然而它就在这种环境中发展起来。
Debian 0.93r5的发布在Red Hat Linux 2.0之前不到半年,它标志了dpkg包管理程序的发布,或许使Debian成为现有最老的Linux包管理系统,也是从那时起Debian发行版本的包管理工具。Debian 0.93r6增加了dselect,目的是成为一个用户友好的dpkg前端,尽管许多人没有感觉到它的友好。
最初的二进制包格式被指定为由Debian提供工具,但是不久之后Debian包格式用ar文件档案格式彻底改造,所以其内容可以开放并且在任何标准Unix系统上,使用标准的,可信的工具都可进行检查,例如ar和tar文件存档工具。
从最初开始,deb包格式被设计为支持依赖和冲突跟踪,而且Debian计划坚持严格的包维护规则以确保在终端用户拿到软件之前依赖问题已被解决和最小化。作为最稳定的Linux发行版本之一,Debian GNU/Linux赢得的良好声誉很大程度归功于此。
deb包格式因广泛的、易于使用、软件管理而拥有声誉。这个声誉随着1999年3月和Debian 2.1“Slink”一起发布的高级包工具或APT命令行工具而进一步提高。APT是Debian GNU/Linux的典型特征,而且是诸如Knoppix和Ubuntu这样的发行版本的起源。
Debian发行版本的组织
2000年,在Debian 3.0 “Woody”的开发过程中,我们看到由Debian维护的软件包的中心知识库开始重组。最后,这个重组导致现行的稳定版本(Stable),测试版本(Testing),不稳定版本(Unstable)的和实验发行版本(Experimental distributions)被大多数Debian用户所熟悉。
尽管稳定的分支是Debian计划严格测试过程的最终目标,而且只有达到一个稳定点,即能被移到稳定版的配置将能获得一个分配给它的官方发布的编号,但是许多Debian用户每天使用测试的,甚至是不稳定版也没有出现负面影响。某些人可能会说Debian稳定版有最佳配合的特定用法,但是在类似于公司的产品环境配置中,测试版或不稳定版的效果更好。尽管其名称或许有些让人担心,但是Debian的不稳定版和其它Linux发行版本的稳定版一样可靠和便于应用。
Debian GNU/Linux发行版本的三个主要分支由发行版所经历的测试包的数量定义:
在日常维护中使用APT系统
在命令行软件管理中,大多数Debian用户应该使用的三个工具是——APT-cache,APT-get和debfoster。
1.APT-cache是用来搜索可用包信息的工具。之所以称为“APT-cache”是因为它和一个本地存储的Debian文档内容缓存一起工作。APT-cache工具可以在标准系统配置下由普通用户帐号运行。有几个Debian系统管理员频繁使用的APT-cache命令:
可以使用多个搜索条件,在这种情况下该命令将显示包含所有指定搜索条件的包列表。如果你想让指定的条件出现在名称中或其名称由APT-cache search显示的简短的一行包描述中,你可以通过输入APT-cache search string1 | grep string2将该命令和grep结合起来。在这种情况下,string1作用如上所述,但是在APT-cache search的简要输出中只有匹配string2的结果才会显示,和string1不同,string2是区分大小写的。这种方式可以通过使用grep对如manpage所描述的命令行选项进行修改。
2.APT-get被用来和软件档案进行通信并且完成安装和卸载任务。之所以被称为“APT-get”是因为它通常需要从档案中“获取”包以完成相应的任务,还因为它具有在系统范围内改变软件的能力,所以APT-get在标准系统配置下只能由root帐号使用。和APT-cache一样,这个工具提供了几个Debian系统管理员经常用到的命令:
3.debfoster作为APT-get和APT-cache二者的前端,将这两者的功能统一起,以完成一些特殊操作。它维护着一个系统中由APT管理的安装软件数据库,并且允许简单查看和管理已安装的软件。
尽管它是一个非常有用的工具,但它不是核心APT工具集的一部分,所以在许多情况下,必须使用APT-get install命令将它单独安装在你的系统上。当在命令行输入debfoster时,它通过APT管理的主要软件包检查并且询问你下一步的操作。除此之外,还将给出它依赖的其它已安装包的列表。在每种情况中,你可以进行几类响应中的一种,其中几个常见的响应描述如下:
其它软件管理工具和应用
APT-cache,APT-get和deborphan工具都提供了比上述更多的其它性能,你可以阅读更多有关这些程序的manpage。也有对APT系统更高级用法的其它工具可用,包括APT-file,APT-key,deborphan和dpkg。
APTitude工具提供一个对APT比较标准的,命令行界面的替换。它具有一些不同的默认行为。APTitude基于控制台的优美界面也可以被调用以浏览包并选择其中一些进行安装。SynAPTic包针对希望用鼠标而不是键盘,对包进行搜索和浏览的用户提供一个图形用户界面。
增加,减少或简单更换,可以通过/etc/APT/sources.list配置文档为ATP系统配置软件档案。尽管Debian系统默认没有包括/etc/APT/APT.conf文件,但是你可以创建一个安装在系统上的特定的软件版本,因为APT-get upgrade操作不会撤销你认为在系统上必须以某种方式完成的事情。
Debian APT系统是一个十分易于使用的、功能强大而灵活的,可配置的软件管理系统。有些人可能会说它比以前任何其它软件管理系统都更易于使用,只要APT系统最初被用来安装它,甚至可以用来对源码的软件安装进行管理。学习使用APT系统是有效地管理Debian GNU/Linux系统的关键技巧,而且由高级包工具提供的系统管理性能是Debian在开源社区中流行的主要原因。(责任编辑:王海旭)