宿宝臣 (linuxman@sd163.net)
dselect是debian发布中重要的软件包管理工具,功能非常强大,也有些复杂,初看起来可能不太容易掌握。其实,dselect的工作方式非常自然,象一个好的老师一样循循善诱,你只要按照dselect的提示,一步一步的走下去,就把软件包安装好了。好了,我们看看,dselect是如何指导我们轻松愉快的安装debian软件包的。
一、使用dselect安装软件包的步骤
启动dselect,我们可以看到如下的界面:
可以看到,dselect安装软件包经过了如下自然而完整的步骤:
确定安装介质。
根据确定的安装介质,更新可安装软件包数据库。
选择需要安装的软件包
安装
配置安装的软件包
删除不需要的软件包
退出
看起来,很讲究逻辑,是吧?你只要一步一步走下来就行了。
有人觉得dselect难用,大概也因为其操作方法不容易记住。其实,如果你熟悉vi和emacs中的一种,其中的一些键盘组合是相似的。比如在dselect的主界面中,可以通过i和j来选择不同的操作步骤(vi的处理方式),也可以通过^N和^P来移动光标(emacs的处理方式),当然也可以通过光标键移动光标了。
二、选择安装介质
dselect支持多种安装方式。当选择了[A]cess后,出现如下界面:
上面的几种安装介质是自解释的。推荐使用apt方式,只要编辑/etc/apt/sources.list文件,您就可以享受apt给您带来的软件包维护的乐趣了:你只要设置了sources.list,其余的就让apt来做吧!
我的sources.list是这样的:
# See sources.list(5) for more information, especialy
# Remember that you can only use http, ftp or file URIs
# CDROMs are managed through the apt-cdrom tool.
deb http://http.us.debian.org/debian sid main contrib non-free
deb http://non-us.debian.org/debian-non-US sid/non-US main contrib non-free
#deb http://security.debian.org stable/updates main contrib non-free
# Uncomment if you want the apt-get source function to work
#deb-src http://http.us.debian.org/debian stable main contrib non-free
#deb-src http://non-us.debian.org/debian-non-US stable non-US
#deb cdrom:[Debian GNU/Linux 2.2 r4 _Potato_ - Official i386 Binary-1
(20011106)]/ unstable contrib main non-US/contrib non-US/main
#deb ftp://ftp.linuxforum.net/debian sid main contrib non-free
#deb ftp://ftp.linuxforum.net/debian-non-US sid/non-US main contrib non-free
三、更新可用软件包数据库
下一步,就是根据你选择的安装介质,更新可以安装的软件包列表数据库。这一步相当简单,一般只要按Enter就行了。比如选择使用apt来安装,dselect会自动去连接sources.list里面的debian镜像服务器,并读取服务器上的软件包列表数据。
如果出错了,比如使用apt安装时发生无法连接服务器错误,dselect会给出出错信息和一些建议,^_^,够友好的吧?然后,在你确认后dselect返回主界面,光标还是停在Update这一行上,表示刚刚进行的Update操作没有成功。这时,一般可以再尝试Update一次。如果经过多次尝试仍然无法成功,可能是服务器关闭了,那就换个镜像试试看,镜像服务器多着呢。
四、选择软件包
这是最复杂的一个步骤了。在这里,dselect要完成以下的功能:
选择需要安装或者删除的软件包
解决软件包间的相互依赖关系
解决所选软件包间的相互冲突
dselect的"智能"相当高,使用dselect,你只要简单的回答几个问题,上面的复杂问题就可以解决掉了,让我们看看一个典型的软件包的安装过程吧。
4.1帮助画面
按下Select后,要等一下(dselect在读取可用软件包列表),然后首先出现的是帮助画面。学会使用帮助很重要,所有的dselect操作方法都在帮助里面了。使用帮助的要领如下:
任何时候,可以按下?来启动帮助。
进入帮助后,通过"space"键退出帮助。
使用.键读取帮助的下一屏。
很简单吧?先浏览一下整个帮助的内容,总共不过5屏。
4.2 选择软件包
好了,我们按下"space"键退出帮助,进入选择软件包的界面。看起来有些复杂?解释一下。
4.2.1 预备知识:移动光标的方法
选择软件包的界面分为上下两部分。上半部分列出了可选用的软件包,下半部分给出了所选择的软件包的简单解释。
首先看一下上半部分。
注意到,debian的软件包的分类是用section来表示的,软件包都组织进不同的section里面。光标的移动方法在这里是个难点,^_^,看起来简单的事情,实际上还有些学问呢。不过,你要是熟悉vi,就简单多了。总结如下:
每一个软件包占有一行,分别有如下的说明信息:
EIOM,这是我们要重点说明的,后面再谈。
Pri,重要程度,分为Required, Standard, Important, Optional, Extra,依次降低。
Section,本软件包所属的Section(分类)
Package,软件包的名字
Inst.Ver,已经安装的软件包的版本号
Avail.Ver,可用软件包的版本号
Description,软件包的简单描述
以上信息,除了EIOM外都比较容易理解,下面我们重点看看EIOM的含义:
E-Error flag,错误标志,可能取值为:
I-Installed state,当前软件包的安装状态,可能取值为:
O-Old mark,上次安装状态,可能取值为:
M-Mark,本次安装方式,可能取值为:
举个例子吧,如下图所示:
软件包cvs的情况从图中可以看出:
的EIOM状态表示,当前该软件包还没有安装,可以安装的版本号为1.22.1p1-4。注意,此时O和M标志都是"_",表示目前你的机器上没有任何该软件包的痕迹,^_^。
该软件包属于devel组。
再比如:
大名鼎鼎的bash已经安装了,安装的版本号为2.05a-4。注意观察EIOM标志。
4.2.2 开始选择安装软件包!
上面讲了这么多的键盘组合,那么到底如何选择软件包进行安装呢?很简单,只要选中需要的软件包或者软件包组,按下"+"键就可以了。顺利的话,该软件包的选择过程就结束,直接按回车键就可以了,dselect返回主界面,然后执行Install功能即可安装。
举例,还是上面的CVS软件包的例子:
可以看出,当在cvs软件包上面按"+"键后,M标志变为"*",表示请求安装该软件包,同时光标移动到下一个软件包上面,以便对其他软件包进行操作。如果您只想安装cvs软件包,此时直接按回车键就可以了,出现如下的界面:
知道怎么回答这个问题吧?^_^。
当然,也可以一次选择多个软件包进行安装。
4.2.3 出问题了!
软件包的安装过程出点小问题很正常,比如关联包没有安装,软件包间的冲突等等,dselect都会善意的提醒,并让你作出选择,决定下一步的操作方法。
比如安装boot-floopies这个软件包时,当选择安装(按"+"键)时,出现如下的界面:
如果你是第一次遇到这种情况,就认真地读读吧。不然,简单的按space键退出帮助。上面画面的大意是,您选择安装的软件包需要同时安装其他依赖包或者和其他软件包冲突。在退出这个提示界面后,会显示一个依赖包或者冲突包列表。在列表窗口的下半部分,给出了软件包的详细信息,在列表窗口的上半部分,是dselect建议的依赖包或者冲突包安装方式,如果您同意dselect的安装建议的话,直接按回车键就可以了。不然,您可以:
逐个查看和修正软件包的安装模式,然后试着按回车键开始安装。