Subsections


20dselect 安装软件包

现在到了安装您选择的软件包的时候了。这个工作用 Debian 的软件包管理工具 dselect 完成。

1 简介

这一段文档是为第一次使用 dselect 的用户准备的。它不打算解释每一件事情,所以如果您是第一次使用 dselect,请多利用帮助屏幕来完成工作。

dselect 用于选择您希望安装的软件包(现在在 Debian 2.1 里大约有 2,250 个软件包)。它将在安装过程中运行。它是个非常强大但稍微有点复杂的工具。而且,您最好事先了解一些关于它的知识。不正确的使用 dselect 可能会对您的系统造成破坏。

dselect 引导您经过以下步骤完成软件包安装过程:

  1. 选择使用的存取方法。
  2. 如果需要的话,更新可用软件包列表。
  3. 选择您想安装的软件包。
  4. 安装和升级选择的软件包。
  5. 配置所有没配置的软件包。
  6. 移去不想要的软件。
当每一步都顺利完成,dselect 将引导您向下进行。请顺序通过它们不要跳过任何一步。

在这个文档中我们会在许多地方谈到打开另一个外壳 (shell)。Linux 可以同时打开六个控制台对话 (sessions) 或外壳。在您签入新的外壳后,您可以通过按 Left Alt-F1Left Alt-F6 在它们之间来回切换。安装程序使用第一个控制台,叫 tty1,所以当您想来返回安装程序请按 Left Alt-F1

2 dselect 运行后

一旦运行 dselect 后,您将看到这样的屏幕显示:

Debian GNU/Linux `dselect' package handling frontend.

0.  [A]ccess  Choose the access method to use.

1.  [U]pdate  Update list of available packages, if possible.

2   [S]elect  Request which packages you want on your system.

3.  [I]nstall Install and upgrade wanted packages.

4.  [C]onfig  Configure any packages that are unconfigured.

5.  [R]emove  Remove unwanted software.

6.  [Q]uit    Quit dselect. 

让我们逐条的说明。


1 Access(存取)

Access(存取)的屏幕显示看起来就像第 [*] 页图 3.2

图 3.2: dselect Access(存取)屏幕

\resizebox*{4in}{!}{\includegraphics{images/dselect-access.eps}}

在这,我们告诉 dselect 要安装的软件包在那里。不要在意这些不同方法出现的顺序。选择正确的安装方法是很重要的。您屏幕上列出的方法可能多一些,可能少一些,或者它们列出的顺序不同;您不用担心这一点。在下面的列表中,我们会说明不同的安装方法。

multi_cd(多张 CD).
相当巨大和强大,用一套二进制码 CD 来安装 Debian 最新的版本时,最好使用这个方法。其中的每一张 CD 都包含有关于它及它前面的 CD 上的软件包的信息(在文件 Packages.cd 中)。当您第一次选择这个方法时,请确认您要使用的 CD-ROM 没有装配。请把这套 二进制 CD(我们不需要源代码盘)中的最后一张放在驱动器中,然后回答以下系统将要询问您的问题:
CD-ROM drive location (CD-ROM 的位置)

Confirmation that you are using a multi-cd set (确认您正在作用 multi-cd 集)

The location of the Debian distribution on the disk(s) (Debian 发布在盘上的位置)

[ Possibly ] the location(s) of the Packages file(s) [可能会问] 软件包的位置

一旦您已经更新完可用的列表和选择完所要安装的软件包,multi_cd 方法就脱离了正常的安装步骤。您将需要依次为每一张 CD 运行 ``install'' 步骤。很不幸,由于 dselect 自身的限制,在每一阶段,它不会提示您换新盘;每一张盘的工作流程大概如下:
  1. 把 CD 插入 CD-ROM 驱动器。
  2. dselect 主菜单选择 ``Install''。
  3. 等待 dpkg 完成这张 CD 的安装。(它可能会报告安装成功,或者安装错误。现在您不必太担心,后面我们会解决它。)
  4. Return 返回 dselect 主菜单。
  5. 按以上步骤,重复安装这套光盘中馀下的 CD。
我们可能要不至一次地运行这些安装步骤来保证软件包安装的顺序;一些前面安装的软件包在正确配置前可能需要稍后安装的软件包。

我们推荐您运行一下 ``Configure'' 步骤来修复在这种状态下结束的软件包。

multi_nfs, multi_mount.
它们和 multi_cd 方法非常相似,细微的差别在于用不同的传媒拷贝──例如,使用 NFS 从另一个机器的 CD-ROM 驱动器上来安装一个 multi_cd 集。

apt.
从一个 Debian 档案的本地镜像安装或从网络安装时最有用的选项。这个方法使用 ``apt'' 系统去做完全的依靠 (dependency) 分析和定制。所以它以可能以最理想的顺序安装软件包。
这种方法的配置是很简单的。您可以选择许多不同的位置,混合和相符的 file: URLs(本地磁盘或者用 NFS 装配上的磁盘),http: URLs,或者 ftp: URLs。但是请注意,HTTP 和 FTP 选项不支持本地身份验证代理 (authenticating proxies)。

如果您有 HTTP 或 FTP 代理服务器(或者两者都有),请确认您已经分别设置了 http_proxyftp_proxy 环境变量。在 dselect 开始前在您的外壳程序中用下面的命令设置它们:

# export http_proxy=http://gateway:3128/

# dselect              


2 Update(更新)

dselect 将会从镜像中读 Packages 或者 Packages.gz 文件而且创建一个您系统上所有可用软件包的数据库。它下载和处理这些文件可能要花费一些时间。


3 Select(选择)

集中注意力。我们大部分工作要在这完成。这个练习的目的是帮助您只选择您希望安装的软件包。

按下 Enter 键。如果您的机器比较慢,屏幕将清除并保持空白 15 秒。这时您只需静静的等待。

屏幕上首先显示的是帮助文件的第一页。您可以在 ``Select'' 屏幕下随时按下 ?(问号)键得到这个帮助,而且您还可以按 .(句号)键来分页浏览帮助。

在您开始前,请注意以下几点:

让我们看看 Select 屏幕的最上面两行。它可以提醒您列在表 3.1 内的一些功能键。


表 3.1: dselect 中的功能键

功能说明
+ 选择一个要安装的软件包
= 保持软件包的原来状态
- 移去一个软件包
_ 移去一个软件包和它的配置文件
i, I 开关和循环显示信息
o, O 循环使用不同的选项分类
v, V 简洁/详细显示信息的转换键


3.2 列出 dselect 用来表示每个包所处状态的标记。

表 3.2: dselect 软件包状态

旗标 意义 可能的值
E 错误 (Error) 空白, R, I
I 安装状态 (Installed State) 空白, *, -, U, C, I
O 旧标志 (Old Mark) *, -, =, _, n
M 标志 (Mark) *, -, =, _, n


与其在这里把它们都写出来,不如您自己看看帮助屏幕上完善的说明。但也不妨举个例子。

您进入 dselect 并发现了一行字,如下:

EIOM Pri  Section  Package   Description

  ** Opt  misc     loadlin   a loader (running under DOS) for LINUX

它是说 loadlin 这个软件包您上次运行 dselect 时选择了,这次仍然选择了,但没有安装。为什么没有安装呢?那一定是因为 loadlin 物理上不能访问。它在您的镜像上找不到。

dselect 正确安装软件包所需的信息藏在软件包自身里面。但世界上没有任何事是完美无缺的,有时建立在软件包内部的依赖关系 (dependencies) 不正确,那意味着 dselect 完全不能解决这种情况。这里提供一个让用户恢复控制的方法;就是用 QX 命令,它们可以在 Select 屏幕中使用。

Q
强制 dselect 忽略内建的依赖关系而去做您指定的。其结果,您应该可以想到。

X
如果您被完全搞糊涂了,用 X 键。它将取消选择引起问题的软件包并退回到问题发生以前的状态。
Select screen (dselect) Select 屏幕 (dselect) 中帮助您被搞糊涂 (!) 的键是 RUD

R
取消这一层的所有选择。不影响上一层做的选择。
U
如果 dselect 改变了您的选择以修正问题,而您又对它的这些改变进行了改变,U 将恢复 dselect 的选择。
D
移去 dselect 做的选择,只留下您的选择。
接着讲一个例子。boot-floppies 软件包(我知道,这个例子对于初学者来说不太合适,但之所以选择它是因为它有一大堆依赖关系)依赖于这些软件包: boot-floppies 的维护人员也认为以下的软件包应该安装,但它们并不是必须的:

当您选择 boot-floppies 时,dselect 显示冲突解决屏幕。您会注意到所有必需的软件包已经被选择了。

按下 R 键退回到起点。

EIOM Pri Section  Package      Description 

  __ Opt admin    boot-floppie Scripts to create the Debian

  __ Opt devel    newt0.25-dev Developer's toolkit for newt

  __ Opt devel    slang1-dev   The S-Lang programming library

  __ Opt devel    slang1-pic   The S-Lang programming library

如果您现在决定不想要 boot-floppies 了,只须按下 Enter

按下 D 键退回到您第一次选择它们的样子:

EIOM Pri Section  Package      Description

  _* Opt admin    boot-floppie Scripts to create the Debian

  __ Opt devel    newt0.25-dev Developer's toolkit for newt

  __ Opt devel    slang1-dev   The S-Lang programming library

  __ Opt devel    slang1-pic   The S-Lang programming library

U 键恢复 dselect 的选择:

EIOM Pri Section  Package      Description

  _* Opt admin    boot-floppie Scripts to create the Debian installation

  _* Opt devel    newt0.25-dev Developer's toolkit for newt

  _* Opt devel    slang1-dev   The S-Lang programming library

  _* Opt devel    slang1-pic   The S-Lang programming library

我建议您现在用缺省值;以后您完全可以再添加您想要的软件包。

无论您的决定是什么,按下 Enter 键接受已做的选择将返回到主屏幕。如果这个选择造成一个没解决的问题,您将会退回到另一个问题解决屏幕。

RUD 键在“如果……将会……”的情形下很有用。如果您愿意,您可以试一下,然后恢复一切,再继续向下进行。您用把它们看成紧急时刻才能用的救命草。

在选择屏幕做完选择后,按 I 键屏幕将会变大,按 t 来到开头,然后用 Page Down 键快速浏览您的设置。这样您就可以检查您的工作成果和发现可能犯的重大错误。否则您可能无意间取消了整个一组软件包的选择,当您发现时,可能已经太晚了。dselect 是一个十分强大的工具;请小心使用。

您现在的情况大概和下面的表 3.3 一样。


表 3.3: Expected Package Category States

软件包种类 状态
Required(必须) 全选了
Important(重要) 全选了
Standard(标准) 选了大部分
Optional(随意) 多数没有选
Extra(额外) 多数没有选


满意吗?按 Enter 键退出选择过程。您还可以随时拐回来重新选择。

4 Install(安装)

将扫描整个软件包的集合并安装被选择中的软件包。在安装过程中将要求您做出一些决定。这时切换到另一个的外壳比较新旧配置的不同会对您做决定有很大的帮助。旧配置文件如果是 conf.modules,新配置文件就是 conf.modules.dpkg-dist

如果您的机器性能很好,屏幕卷动得会很快。您可以分别用 Ctrl-sCtrl-q 停止和再启动它。在运行的结尾,您会得到一个所有未安装的软件包的列表。

一个软件包没有被安装是因为它所依赖的软件包虽被列为要安装,但还没安装。解决办法是再安装一次。已经有例子报告说为了正确安装某个软件包有可能您要运行安装程序四次。次数应该根据您安装所用的方法而有所不同。

5 Configure(配置)

大多数软件包在第三步就配置好了,但还有一些没配置好的可以在这配置

6 Remove(移除)

移去您以前安装上的,但不再需要了的软件包。

7 Quit

我建议您在这运行一下 /etc/cron.daily/find,因为您的系统上现在有这么多新的文件。然后您就可以用 locate 找到任何文件的位置。

3 总结的一些小提示

当安装过程运行 dselect 时,无疑您一定急于尽快把 Debian 安装。好的,请花上一小时左右来熟悉一下情况然后再开始安装。当您第一次进入 Select 屏幕时,不要做任何选择──只管按 Enter 键,看看发生了什么依赖问题。试着修正它们。如果您发现您退回到主屏幕,请再次运行 Select。

您连击 i 键两次将得到有关软件包的大小的信息。这是压缩后的大小,解压缩后的文件会大得多(看 ``Installed-Size''(单位为千字节) 就可以知道了)。

安装一个新的 Debian 系统是一个比较复杂的事,但 dselect 可以帮助您使它尽可能的简单。所以请花些时间学习如何使用它。多读一下帮助屏幕并多练习使用 iIoO 键。请利用好 R 键。讲完了,但愿上面所说的能使您更有效的使用它。

John Goerzen / Ossama Othman / Debian 中文计划