Debian GNU/Linux 安装手册 版权 © 2004, 2005 Debian Installer 团队 本手册属于自由软件,您可以在 GNU 通用公共许可证(GPL)的协议下重新发布和(或)修改 它。请在附录 E, GNU General Public License(此许可证只有英文原文具有法律效力) 阅 读该许可证的内容。 摘要 本文是 Debian GNU/Linux 3.1 系统(代号 "sarge")在 Motorola 680x0 ("m68k") 硬件架 构下的安装教程。还包括关于如何构建您的新 Debian 系统,以及指向更多信息的链接。 注意 虽然这份基于 m68k 体系的安装指南是最新的版本,但我们计划在官方发布 sarge 之后, 继续对手册进行修改和重新组织文档的某些章节。更新的手册可以通过 Internet 在 debian-installer 主页上找到。您还可以在那里找到另外一些翻译版。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 目录 在 m68k 上安装 Debian GNU/Linux 3.1 1. 欢迎使用 Debian 1.1. 什么是 Debian? 1.2. 什么是 GNU/Linux? 1.3. 什么是 Debian GNU/Linux? 1.4. 获得 Debian 1.5. 获得本文档最新版本 1.6. 文档的组织 1.7. 关于版权与软件协议 2. 系统需求 2.1. 支持的硬件 2.1.1. 支持的体系 2.1.2. CPU,主板和视频支持 2.1.3. 图形卡 2.2. 安装介质 2.2.1. 软盘 2.2.2. CD-ROM/DVD-ROM 2.2.3. 硬盘 2.2.4. 网络 2.2.5. Un*x 或 GNU 系统 2.2.6. 受支持的存储系统 2.3. 外围设备与其他硬件 2.4. 特别为 GNU/Linux 采购硬件 2.4.1. 避免专有或封闭的硬件 2.4.2. 假的或"虚拟"的奇偶校验内存 2.5. 内存与磁盘空间的需求 2.6. 网络连接硬件 3. 开始安装 Debian GNU/Linux 之前 3.1. 安装概述 3.2. 记得备份您的所有数据! 3.3. 一些有用的信息 3.3.1. 文档 3.3.2. 提供硬件信息的资源 3.3.3. 硬件兼容性 3.3.4. 网络设置 3.4. 满足最低的硬件要求 3.5. 为多重启动系统事先分区 3.5.1. 在 AmigaOS 下分区 3.5.2. 在 Atari TOS 下分区 3.5.3. 在 MacOS 下分区 3.6. 安装前的硬件和操作系统的相关设置 3.6.1. 固件修订版和已有的 OS 配置 3.6.2. 需要留心的硬件问题 4. 获取系统安装介质 4.1. 官方的 Debian GNU/Linux 光盘套装 4.2. 从 Debian 镜像服务器下载文件 4.2.1. 在哪里能找到安装映像 4.3. 从软盘映像创建引导软盘 4.3.1. 从 Linux 或者 Unix 系统写软盘映像 4.3.2. 在 DOS、Windows、或者 OS/2 下写磁盘映像 4.3.3. 在 Atari 系统上写磁盘映像 4.3.4. 在 Macintosh 系统上写磁盘映像 4.4. 为从硬盘引导准备文件 4.5. 为使用 TFTP 网络引导准备文件 4.5.1. 设置 RARP 服务器 4.5.2. 设置 BOOTP 服务器 4.5.3. 设置 DHCP 服务器 4.5.4. 开启 TFTP 服务器 4.5.5. 将 TFTP 映像放到适当的位置 4.6. 自动化安装 4.6.1. 使用 Debian 安装程序进行自动安装 5. 用安装系统启动 5.1. 在 Motorola 680x0 上引导安装程序 5.1.1. 选择安装方法 5.1.2. 从硬盘引导 5.1.3. 从 CD-ROM 启动 5.1.4. 用 TFTP 引导 5.1.5. 从软盘引导 5.2. 引导参数 5.2.1. Debian 安装程序的参数 5.3. 安装过程中的故障修复 5.3.1. 软盘的可靠性 5.3.2. 引导配置 5.3.3. 内核起始信息注解 5.3.4. Bug Reporter 5.3.5. 提交缺陷报告 6. 使用 Debian 安装程序 6.1. 安装程序如何工作 6.2. 组件介绍 6.3. 使用单独的组件 6.3.1. 启动 Debian 安装程序与配置硬件 6.3.2. 分区与选择挂载点 6.3.3. 安装基本系统 6.3.4. 创建启动系统 6.3.5. 完成第一阶段 6.3.6. 杂项 7. 启动进入新 Debian 系统 7.1. 关键时刻 7.1.1. BVME 6000 启动 7.1.2. Macintosh 启动 7.2. Debian 启动之后(基本)设置 7.2.1. 配置您的时区 7.2.2. 设置用户和密码 7.2.3. 设置 PPP 7.2.4. 配置 APT 7.2.5. 软件包安装 7.2.6. 软件安装过程中的命令 7.2.7. 配置您的邮件传输代理(MTA) 7.3. 登录 8. 下一步该干什么 8.1. 如果您不熟悉 Unix 8.2. 让您自己转向 Debian 8.2.1. Debian 软件包系统 8.2.2. 应用程序版本管理 8.2.3. 定时任务管理 8.3. 更多信息 8.4. 编译新内核 8.4.1. 内核映象管理 A. 安装指南 A.1. 前言 A.2. 安装套件的引导 A.2.1. CDROM A.2.2. 软盘 A.2.3. 从网络启动 A.2.4. 从硬盘启动 A.3. 安装 A.4. 请给我们发一份安装报告 A.5. 末了...... B. 为 Debian 准备分区 B.1. 决定 Debian 分区以及大小 B.2. 目录树 B.3. 推荐的分区方案 B.4. Linux 里面的设备名称 B.5. Debian 分区程序 C. 其他 C.1. 预设置文件实例 C.2. Linux 里的设备 C.2.1. 设定您的鼠标 C.3. 各软件集所需的磁盘空间 C.4. 通过 Unix/Linux 系统来安装 Debian GNU/Linux C.4.1. 准备运动 C.4.2. 安装 debootstrap C.4.3. 运行 debootstrap C.4.4. 基系统的配置 C.4.5. 内核的安装 C.4.6. Boot Loader 的设置 D. 文案 D.1. 关于本文档 D.2. 帮助本文档 D.3. 主要贡献人员 D.4. 商标确认 E. GNU General Public License(此许可证只有英文原文具有法律效力) E.1. Preamble E.2. GNU GENERAL PUBLIC LICENSE E.3. How to Apply These Terms to Your New Programs 表格清单 3.1. 安装所需的硬件信息 3.2. 推荐的最低系统配置 在 m68k 上安装 Debian GNU/Linux 3.1 我们非常高兴地看到您决定试用 Debian,并确信您将发现 Debian 的 GNU/Linux 发行版 是独一无二的。Debian GNU/Linux 将带给您来自世界各地的高质量的自由软件,并将它们 整合成一个紧密的整体。您会发现整合后的结果一定会大于将各部分简单地相加。 我们也知道大多数用户都希望能够不用阅读本手册而直接安装 Debian。Debian 安装程序 的设计意图也就是尽力实现这个想法。如果您现在的确没有时间来阅读整个安装手册,我 们推荐您看看安装指南一文。该文包含了基本安装过程的简要介绍,以及当处理运行错误 或需要较专业内容时查询本手册的链接。您可以在附录 A, 安装指南阅读此文。 正如前面所提到的,我们还是希望您能抽出时间来阅读本手册的大部分内容。这通常都会 使您的安装体验变得更详尽、更成功。 第 1 章 欢迎使用 Debian 目录 1.1. 什么是 Debian? 1.2. 什么是 GNU/Linux? 1.3. 什么是 Debian GNU/Linux? 1.4. 获得 Debian 1.5. 获得本文档最新版本 1.6. 文档的组织 1.7. 关于版权与软件协议 本章将简要介绍 Debian 计划和 Debian GNU/Linux。如果您已经对 Debian 计划的历史和 Debian GNU/Linux 发行版有一定的了解,请略过本章。 1.1. 什么是 Debian? Debian 是一个致力于自由软件开发并宣扬自由软件基金会之理念的自愿者组织。Debian 计划创建于 1993 年。当时,Ian Murdock 发出一份公开信,邀请软件开发者们参与构建 一个基于较新的 Linux 内核的完整而紧密的软件发行版。经过多年的成长,那群由自由软 件基金会资助并受 GNU 哲理影响的爱好者已经演变为一个拥有大约 900 位 Debian 开发 人员的组织。 Debian 开发人员所做的工作包括有: Web 和 FTP 站点管理、图形设计、软件许可协议的 法律分析、编写文档,当然,还有维护软件包。 为了传递我们的理念并吸引那些与 Debian 有着相同信仰的开发人员,Debian 计划发表了 众多文档,以阐明我们的价值观和成为 Debian 开发人员的意义。 ● Debian 社群契约是一份 Debian 对自由软件社群的承诺声明。任何同意遵守此社群契 约的人都可以成为维护人员。任何维护人员都能将新软件引入 Debian --条件是此软 件必须满足我们对"自由"的标准要求,并且软件包必须符合我们的质量水准。 ● Debian 自由软件准则(DFSG) 是一份清晰简洁的有关 Debian 的自由软件标准的声明 。在自由软件运动中,DFSG 是一份非常有影响力的文档,并且以其为基础衍生出了开 放源代码定义。 ● Debian 政策文档是一份有关 Debian 计划质量标准的规格说明书。 Debian 开发人员还参与了许多其它计划。有些是专注于 Debian 的,还有些则是面向 Linux 社区。例如: ● Linux Standard Base (LSB) 是一个针对 GNU/Linux 系统标准化的项目,它将使第三 方软件和硬件开发者能更容易的为"普通"的 Linux 设计程序和设备驱动,而不仅仅是 为某个特定的 GNU/Linux 发行版进行开发。 ● Filesystem Hierarchy Standard (FHS) 则是朝 Linux 文件系统布局标准化方向的一 种努力。FHS 将使软件开发者能集中精力设计程序,而不需要担心软件包在不同的 GNU/Linux 发行版的安装。 ● Debian Jr. 是一个内部项目,目标是确保 Debian 能向年幼的用户提供一些有用的东 西。 关于 Debian 的更多信息,请阅读 Debian FAQ。 1.2. 什么是 GNU/Linux? Linux 是一种计算机操作系统:一系列能让您与计算机进行交互操作并运行其它程序的程 序。 操作系统由多种基础程序构成。它们使计算机可以与用户进行交流并接受指令,读取数据 或将其写入硬盘、磁带或打印机,控制内存的使用,以及运行其它软件。操作系统最重要 的组成部分是内核。在 GNU/Linux 系统中,Linux 就是内核组件。而该系统的其余部分主 要是由 GNU 工程编写和提供的程序组成。因为单独的 Linux 内核并不能成为一个可以正 常工作的操作系统,所以我们更倾向使用 "GNU/Linux" 一词来表达人们通常所说的 "Linux"。 Linux 是以 Unix 操作系统为原型创造的。自从诞生之日起,它就被设计成一种多任务、 多用户的系统。这些特点使 Linux 完全不同于其它著名的操作系统。事实上,Linux 比您 所能想象到更加特别。与其它操作系统绝然相反的是,没人真正拥有 Linux,其大部分开 发工作都是由无偿的志愿者完成的。 后来演变为 GNU/Linux 系统的开发工作开始于 1984 年。当时,自由软件基金会开始研发 被称为 GNU 的自由的类 Unix 操作系统。 GNU 工程开发了大量用于 Unix (tm) 的自由软件工具和类 Unix 操作系统,例如 Linux。 这些工具使用户能执行从日常俗事(例如在系统中复制和删除文件) 到神秘操作(例如书写 和编译程序或对多种文档格式进行熟练的编辑工作) 的各种任务。 虽然有许多组织和个人都对 Linux 的发展作出了帮助,但是自由软件基金会依然是最大的 单个贡献者。他不仅仅创造了绝大部分在 Linux 中使用的工具,还为 Linux 的存在提供 了理论和社会基础。 Linux 内核的首次面世是在 1991 年。当时,名为 Linus Torvalds 的芬兰计算机科学系 学生在 Usenet 新闻组 comp.os.minix 上发布了一种 Minix 替代内核的早期版本。请看 Linux International 的 Linux 历史。 在几个可信赖代理人的帮助下,Linus Torvalds 一直协调着数百位开发人员的工作。有关 linux-kernel 邮件列表上讨论内容的每周纪要在 Kernel Traffic上可以看到。更多有关 linux-kernel 邮件列表的信息请参考 linux-kernel 邮件列表问答。 Linux 用户在挑选软件方面有着极大的自由。例如,Linux 用户可以选择几十种不同的命 令行外壳和多种图形桌面。这通常让其它操作系统的用户手足无措,他们甚至从来没想过 命令行和桌面其实是可以更换的。 Linux 很少会崩溃、适合在同一时间运行多个程序,而且比大多数操作系统更为安全。有 了这些优势,Linux 成为在服务器市场上增长最快的操作系统。近来,它还开始在家庭和 商业用户中变得越来越流行。 1.3. 什么是 Debian GNU/Linux? 将 Debian 哲学与方法论,GNU 工具集、Linux 内核,以及其他重要的自由软件结合在一 起所构成的独特的软件发行版称为 Debian GNU/Linux。该发行版由大量的软件包组成。发 行版中的每个软件包都包含了执行文件、脚本、文档和配置信息,并拥有一位维护者,其 职责是保持软件包更新、跟踪 bug 报告,并与软件源作者保持联络。我们巨大的用户群, 结合 bug 跟踪系统可以确保问题被及时发现和修复。 Debian 对细节的注重使我们可以生产出高质、稳定和灵活的发行版。安装程序可以方便地 使之应用到各种场合,从精简的防火墙到桌面科学工作站,甚至高端网络服务器都可以轻 松胜任。 Debian 在高级用户中非常流行的原因在于它具有优秀的技术,而且它对 Linux 的深入贡 献满足了社区的需求与期望。Debian 为 Linux 引入的许多特性现在已经成为了非常通用 的标准。 例如,Debian 是第一种使用包管理系统的 Linux 发行版,它让安装和删除软件变得非常 容易。而且它还是第一个可以不用重新安装就能升级的 Linux 发行版。 Debian 一直充当着 Linux 开发的带头人。它的开发过程是开源开发模式如何工作的范例 -- 即使是用于创建和维护一个完整操作系统这样复杂的任务。 Debian 与其他 Linux 发行版最大的不同之处在于包管理系统的特性。这些工具给予 Debian 系统管理员对安装到系统上的软件包的完全控制,包括安装单个软件包和自动升级 整个操作系统。个别软件包也可以被保护不被升级。您甚至可以告诉包管理系统哪些软件 是您自己编译的以及它们所需要的依赖关系。 为了提防 "特洛伊木马" 和其他恶意软件,更好地保护您的系统,Debian 服务器会校验 Debian 注册维护人员所上传的软件包。Debian 的打包人员也会特别注意以安全的方式配 置软件包。当发布出去的软件包有安全问题时,通常会很快被修复。依靠 Debian 的简易 更新选项,安全更新可以通过互联网自动下载和安装。 为您的 Debian GNU/Linux 系统寻求技术支持和联络 Debian 开发人员的主要的,也是最 好的方法是通过 Debian 计划的邮件列表(书写本文时已有 160 个邮件列表)进行沟通。订 阅这些列表的最简单方法是访问 Debian 邮件列表订阅页并填写相应表单。 1.4. 获得 Debian 关于如何从因特网上下载 Debian GNU/Linux 或者购买官方 Debian 光盘的信息,请参阅 发行网页。Debian 镜像列表包含完整的 Debian 官方镜像,您可以很容易找到最近的一个 。 Debian 可以很容易地在安装之后升级。如果需要,安装步骤将帮助您建立系统,使您可以 在安装之后立即进行升级。 1.5. 获得本文档最新版本 本文档会不断地修订。请查阅 Debian 3.1 页面以了解最近的关于 3.1 版 Debian GNU/ Linux 系统的的信息。更新的安装手册也可以从官方安装手册页得到。 1.6. 文档的组织 本文意在成为 Debian 的新手的使用手册。尽管它对用户的专业知识水平已经做了尽量少 的假设,但我们还是设想您对计算机硬件如何工作有一个基本的了解。 专业用户可以在本手册中找到一些有趣的参考信息,包括最小安装尺寸,Debian 安装程序 支持的硬件细节,等等。我们鼓励专业用户有选择性的浏览本文档。 基本上,本手册是以单线方式组织,文章内容将沿着安装进程由始至终进行。以下是安装 Debian GNU/Linux 的步骤,以及每步相关的章节: 1. 确定您的硬件是否满足安装系统的要求,位于第 2 章系统需求。 2. 备份系统,在安装 Debian 之前进行必要的规划和硬件配置,位于第 3 章开始安装 Debian GNU/Linux 之前。如果需要多重引导系统,您可能需要为 Debian 创建分区空 间。 3. 在第 4 章获取系统安装介质,您可以获得所选安装方式所需要的安装文件。 4. 第 5 章用安装系统启动讲述的是如何启动安装系统。本章还将讨论如何解决这步操作 中会遇到的问题。 5. 执行真正的安装是在第 6 章使用 Debian 安装程序。其中涉及选择语言,设置周边驱 动模块,设置网络连接以从 Debian 服务器上获得后续安装文件(如果您不是采用光盘 方式安装),给硬盘分区和安装最小工作系统。(有关如何为 Debian 系统建立分区的 背景知识位于附录 B, 为 Debian 准备分区。) 6. 从您新安装的基本系统启动,然后执行一些额外的设置任务,第 7 章启动进入新 Debian 系统。 7. 安装额外的软件位于第 7.2.5 节 "软件包安装"。 一旦您安装完系统,可以阅读第 8 章下一步该干什么。该章将解释在哪里寻找更多有关 Unix 和 Debian 的信息,以及如何替换您的内核。 最后,是关于本文档的信息以及如何贡献您的想法,附录 D, 文案。 1.7. 关于版权与软件协议 我们相信您曾经阅读过许多商业软件的许可证 -- 它们通常要求您只能在一台计算机上使 用一份软件拷贝。本系统与它们完全不同。我们鼓励您将拷贝用到您学校或商业机构的每 台计算机上。将安装介质借给朋友,并帮助他们安装到他们的计算机上!您甚至可以制造 上千份拷贝,然后出售它们 -- 虽然有一些限制。您安装和使用系统的自由权利因为 Debian 是基于自由软件。 称软件为自由并不意味着该软件没有版权,也不是指包含该软件的 CD 必须免费分派。自 由软件,某种程度上意味着您不须为分发和使用这些程序付费。自由软件还是指任何人可 以扩展、改写、修改该软件,并且他们工作的成果也这样发布。 注意 注意,Debian 计划因为考虑用户实用性,也有不符合我们自由规则的软件包存在。这些软 件包不属于官方发行版,只存在于 contrib 或 non-free Debian 镜像区域或者第三方的 CD-ROM 中,请参阅 Debian FAQ 的 "The Debian FTP archives" 章节以了解档案布局和 内容的更多信息。 系统中很多软件所使用的许可证都是 GNU General Public License (通用公共许可证), 通常简称为 "the GPL"。GPL 要求您将程序的源码随您发布的二进制拷贝一起提供;许可 证的这项规定确保任何用户都可以修改软件。正是由于此规定,所有这些程序的源码^[1] 都可以在 Debian 系统中得到。 Debian 中的程序还有许多其他形式的版权声明和软件许可证。您可以在您的系统中找到每 个软件包相关的版权和许可证,它们位于 /usr/share/doc/软件包名/copyright ,这些文 件在您将软件包安装到系统后就存在了。 关于 Debian 如何判断软件是否足够自由到可以包括在主发行版中的信息,请参阅 Debian 自由软件准则。 在此,最重要的法律声明是此软件无担保。程序员创造此软件为的是使社群受益,而不能 保证软件适用于任何特定用途。但是,因为软件是自由的,您可以修改此软件以使其能适 用于您的需要 -- 并享用其他人采用这种途径扩展后的修改成果。 ━━━━━━━━━━━━━━ ^[1] 对于如何根据 Debian 源码包寻找、解包和创建二进制软件包,请查阅 Debian FAQ 的"Basics of the Debian Package Management System"章节。 第 2 章 系统需求 目录 2.1. 支持的硬件 2.1.1. 支持的体系 2.1.2. CPU,主板和视频支持 2.1.3. 图形卡 2.2. 安装介质 2.2.1. 软盘 2.2.2. CD-ROM/DVD-ROM 2.2.3. 硬盘 2.2.4. 网络 2.2.5. Un*x 或 GNU 系统 2.2.6. 受支持的存储系统 2.3. 外围设备与其他硬件 2.4. 特别为 GNU/Linux 采购硬件 2.4.1. 避免专有或封闭的硬件 2.4.2. 假的或"虚拟"的奇偶校验内存 2.5. 内存与磁盘空间的需求 2.6. 网络连接硬件 本章包括运行 Debian 所需硬件的信息。您还能找到更多有关 GNU 和 Linux 所支持硬件 的信息的链接。 2.1. 支持的硬件 Debian 不会超出 Linux 内核与 GNU 工具集所支持的硬件范围之外。因此,任何被移植了 Linux 内核,libc,gcc 等,并拥有对应的 Debian 移植版的硬件体系或平台都可以运行 Debian。请参考移植页面 http://www.debian.org/ports/m68k/ 以了解更多已被 Debian 测试过的 Motorola 680x0 体系。 本章仅包含一些通用的信息以及在何处可以获得更多信息的指导,而不是试图列出支持 Motorola 680x0 的所有不同硬件配置。 2.1.1. 支持的体系 Debian 3.1 支持十一种主要的体系和一些称为 "flavors" 的变种。 ┌────────────────────┬───────────┬───────────────────────────┬────────────┐ │ 体系 │Debian 命名│ 子体系 │ Flavor │ ├────────────────────┼───────────┼───────────────────────────┼────────────┤ │ │ │ │vanilla │ │ │ │ ├────────────┤ │Intel x86-based │i386 │  │speakup │ │ │ │ ├────────────┤ │ │ │ │linux26 │ ├────────────────────┼───────────┼───────────────────────────┼────────────┤ │ │ │Atari │atari │ │ │ ├───────────────────────────┼────────────┤ │ │ │Amiga │amiga │ │ │ ├───────────────────────────┼────────────┤ │ │ │68k Macintosh │mac │ │Motorola 680x0 │m68k ├───────────────────────────┼────────────┤ │ │ │ │bvme6000 │ │ │ │ ├────────────┤ │ │ │VME │mvme147 │ │ │ │ ├────────────┤ │ │ │ │mvme16x │ ├────────────────────┼───────────┼───────────────────────────┼────────────┤ │DEC Alpha │alpha │  │  │ ├────────────────────┼───────────┼───────────────────────────┼────────────┤ │ │ │ │sun4cdm │ │Sun SPARC │sparc │  ├────────────┤ │ │ │ │sun4u │ ├────────────────────┼───────────┼───────────────────────────┼────────────┤ │ │ │ │netwinder │ │ │ │ ├────────────┤ │ │ │ │riscpc │ │ARM and StrongARM │arm │  ├────────────┤ │ │ │ │shark │ │ │ │ ├────────────┤ │ │ │ │lart │ ├────────────────────┼───────────┼───────────────────────────┼────────────┤ │ │ │CHRP │chrp │ │ │ ├───────────────────────────┼────────────┤ │ │ │PowerMac │pmac │ │IBM/Motorola PowerPC│powerpc ├───────────────────────────┼────────────┤ │ │ │PReP │prep │ │ │ ├───────────────────────────┼────────────┤ │ │ │APUS │apus │ ├────────────────────┼───────────┼───────────────────────────┼────────────┤ │ │ │PA-RISC 1.1 │32 │ │HP PA-RISC │hppa ├───────────────────────────┼────────────┤ │ │ │PA-RISC 2.0 │64 │ ├────────────────────┼───────────┼───────────────────────────┼────────────┤ │Intel ia64-based │ia64 │  │  │ ├────────────────────┼───────────┼───────────────────────────┼────────────┤ │ │ │ │r4k-ip22 │ │ │ │SGI Indy/Indigo 2 ├────────────┤ │MIPS (big endian) │mips │ │r5k-ip22 │ │ │ ├───────────────────────────┼────────────┤ │ │ │Broadcom BCM91250A (SQARM) │sb1-swarm-bn│ ├────────────────────┼───────────┼───────────────────────────┼────────────┤ │ │ │Cobalt │cobalt │ │ │ ├───────────────────────────┼────────────┤ │ │ │ │r4k-kn04 │ │MIPS (little endian)│mipsel │DECstation ├────────────┤ │ │ │ │r3k-kn02 │ │ │ ├───────────────────────────┼────────────┤ │ │ │Broadcom BCM91250A (SQARM) │sb1-swarm-bn│ ├────────────────────┼───────────┼───────────────────────────┼────────────┤ │ │ │IPL from VM-reader and DASD│generic │ │IBM S/390 │s390 ├───────────────────────────┼────────────┤ │ │ │IPL from tape │type │ └────────────────────┴───────────┴───────────────────────────┴────────────┘ 本文档主要讲述的是 Motorola 680x0 体系下的安装。如果您在寻找其他 Debian 所支持 的体系的信息,请浏览 Debian 移植页面。 2.1.2. CPU,主板和视频支持 有关支持基于 M68000 (m68k完整的信息见 Linux/m68k FAQ。本节只是基本概况。 m68k 移植的 Linux 可以运行在具有 PMMU (Paged Memory Management Unit) 和 FPU (floating-point unit) 的任何 680x0 上面。这包括带有外部 68851 PMMU 的 68020、 68030,以及其它更好的处理器,不包括 "EC" 系列的 680x0 处理器。请参考 Linux/m68k FAQ 以了解更多信息。 有四个主要的 m68k 变种获得支持: Amiga, Atari, Macintosh 和 VME 机器。Amiga 与 Atari 是首批被移植 Linux 的两个系统;并且,它们也是被 Debian 移植得最好的两个。 Debian 与 Linux 内核对 Macintosh 系列的支持都是不完整的,请参考 Linux m68k for Macintosh 以了解项目的状态和支持的硬件。BVM 和 Motorola VMEbus 单板电脑最近才加 入 Debian 支持行列。移植到其它的 m68k 体系的工作,比如 Sun3 体系与 NeXT black box,还在进行中,且没有被 Debian 支持。 2.1.3. 图形卡 Debian 对显卡的支持决定于 XFree86 的 X11 系统。大多数 AGP,PCI 和 PCI 视频卡都 能在 XFree86 下工作。更多的关于图形总线,显卡,显示器和指点设备的支持情况,见 http://www.xfree86.org/。Debian 3.1 包含 XFree86 4.3.0 版。 2.2. 安装介质 本章将帮助您选定安装 Debian 可采用的不同介质。例如,您的电脑上有一个软驱,它就 可以用来安装 Debian。这里有一整章专门用于说明介质:第 4 章获取系统安装介质,并 且列出了每种类型的优缺点。当您阅读那一章的时候,可能要返回来参考本页。 2.2.1. 软盘 在某些条件下,不得不从软盘做首次启动。通常,您所需的只是一个 3.5 英寸高密 (1440kB)软驱。 2.2.2. CD-ROM/DVD-ROM 注意 每当在本手册中看到 "CD-ROM",它泛指 CD-ROM 和 DVD-ROM。因为从操作系统的角度看, 它们所用的技术是相同的。这里面除去那些既不属于 SCSI 也不属于 IDE/ATAPI 的老式的 非标准 CD-ROM 驱动器。 一些体系支持基于 CD-ROM 的安装。在支持 CD-ROM 启动的机器上,您可以完成无软盘 (floppy-less) 的安装。即使您的系统不支持从 CD-ROM 启动,您也可以结合其他技术在 启动后,使用 CD-ROM 来安装系统,参阅第 5 章用安装系统启动。 2.2.3. 硬盘 从硬盘启动安装系统是许多体系的另外一个选择。这将要求其他的操作系统从硬盘加载安 装程序。 事实上,从本地磁盘安装,对大多数 m68k 机器是推荐的做法。 2.2.4. 网络 您还可以从网络启动(boot) 系统。 无盘安装,使用网络从局域网启动,并用 NFS 挂载所有的本地文件系统,是另一种选择。 在安装了操作系统的内核以后,您可以使用任何一种网络连接方式(包括安装完基本系统以 后使用 PPP) 通过 FTP 或 HTTP 完成剩余的系统安装任务。 2.2.5. Un*x 或 GNU 系统 如果您正在运行其它的类 Unix 系统,也可以用它来安装 Debian GNU/Linux 而无须本手 册剩余部分讲述的 debian-installer 使用方法。这类安装方法可能对那些因为硬件不支 持或机器停产的用户有用。如果您对此技术感兴趣,请直接跳到第 C.4 节 "通过 Unix/ Linux 系统来安装 Debian GNU/Linux"。 2.2.6. 受支持的存储系统 Debian 启动盘包括一个用于最大可能数量系统的内核。不幸的是,这将产生一个大内核, 其中包括许多您的机器并不需要的驱动程序(参考第 8.4 节 "编译新内核"学习如何创建自 己的内核)。在通常情况下,支持最大范围内的设备是一种较合适的设计,这将使得 Debian 可以在尽可能多的硬件上安装。 基本上所有 Linux 内核支持的存储系统都被 Debian 安装系统所支持。注意,当前的 Linux 内核仍不支持 Macintosh 上的软盘,并且 Debian 安装系统也不支持 Amigas 上的 软盘。支持 Atari 上的 Macintosh HFS 系统,并以模块形式支持 AFFS。Mac 机支持 Atari(FAT) 文件系统。Amigas 支持 FAT 文件系统,HFS 则是受模块支持。 2.3. 外围设备与其他硬件 Linux 支持众多的硬件设备,比如:鼠标、打印机、扫描仪、PCMCIA 和 USB 设备。然而 ,在安装系统的时候,并不需要其中的大部分设备。 2.4. 特别为 GNU/Linux 采购硬件 现在有一些经销商,他们出售的系统是预装 Debian 或者是其他的 GNU/Linux。您或许会 多花一些钱,但是买来一份安心,因为这些硬件都已经确保能被 GNU/Linux 很好地支持。 不幸的是,很少会有厂商出售新 Motorola 680x0 机器。 无论是购买一个捆绑 Linux 的系统,还是一个已经用过的系统,检查 Linux 内核是否支 持您的硬件仍然很重要。检查您的硬件是否列在上面的参考资料中。让推销员(或者其他) 知道您是在为一个 Linux 系统采购设备。请支持对 Linux 友好的硬件销售商。 2.4.1. 避免专有或封闭的硬件 一些硬件制造商愚蠢地拒绝告诉我们如何给他们的硬件写驱动程序。其他的则要求签署不 公开的契约才能接触文档,以阻止我们发布 Linux 驱动程序源代码。 另一个例子是老式 Macintosh 产品系列的专有硬件。事实上,Macintosh 硬件没有公布任 何规格书与文档,特别是 ADB 控制器(用于鼠标和键盘)、软盘控制器、所有的视频硬件加 速和 CLUT 处理器(虽然我们不支持绝大多数内置显示芯片的 CLUT 处理器)。总之,这就 是为什么向 Macintosh 移植 Linux 的进度总是滞后于其他移植版的原因。 因为我们没有被授权查看这些设备的文档,它们自然不会在 Linux 下工作。您可以帮我们 去告诉那些制造商,要求他们发布文档。如果有足够多的人要求,他们将认识到自由软件 社区也是一个重要的市场。 2.4.2. 假的或"虚拟"的奇偶校验内存 如果您到计算机商店购买奇偶校验内存(Parity RAM),可能买到的是虚拟奇偶校验内存, 而不是真奇偶校验的内存。虚拟奇偶校验 SIMM 经常(并不总是)与同等的非奇偶校验 SIMM 区别对待,因为它们多一个芯片,而且那片芯片比其他的都要小。虚拟奇偶校验 SIMM 与 非奇偶校验内存工作方式相同。在它们并不能像主板上的真奇偶校验内存那样告诉您有一 位 RAM 错误。不要为虚拟奇偶校验多付钱。而应该为真奇偶校验 SIMM 多付,因为您真正 为每8位多买了一位。 如果您想得到关于 Motorola 680x0 内存的完整信息,以及什么才是最值得买的内存,请 参考 PC Hardware FAQ。 2.5. 内存与磁盘空间的需求 您需要至少 32MB 的内存和 110MB 硬盘空间。对最小的基于控制台的系统(包括所有标准 软件包)需要250MB。如果您要安装适当的软件,包括 X Window 系统,以及一些开发工具 和库,需要至少400MB。对于一个基本的桌面系统,需要几个 G 的空间。 在 Amiga 上,FastRAM 的大小与总的内存需求相关联。而且,使用 16 位的 Zorro RAM 卡不被支持,您要用32位的。amiboot 程序可以被用来禁止 16 位 RAM,请参考 Linux/ m68k FAQ。最近的内核可以自动禁止 16 位的 RAM。 在 Atari 上,ST-RAM 和 Fast RAM (TT-RAM) 都可以被 Linux 所使用。许多用户报告在 Fast RAM 上运行内核有问题,因此 Atari 启动将内核放在 ST-RAM。最小需要 2 MB 的 ST-RAM。您需要额外的 12 MB 或更多的 TT-RAM。 在 Macintosh 上,需要注意 RAM-based video (RBV)。物理地址 0 的 RAM 段用于显示内 存,使得默认的内核引导位置无效。替代的用于内核的 RAM 段与 RAMdisk 至少需要 4 MB 。 2.6. 网络连接硬件 任何受 Linux 内核支持的网络接口卡(NIC)也全都被引导盘所支持。您可能需要将网络驱 动作为模块挂载。同样的,请参考 http://www.linux-m68k.org/faq/faq.html 以了解详 细信息。 第 3 章 开始安装 Debian GNU/Linux 之前 目录 3.1. 安装概述 3.2. 记得备份您的所有数据! 3.3. 一些有用的信息 3.3.1. 文档 3.3.2. 提供硬件信息的资源 3.3.3. 硬件兼容性 3.3.4. 网络设置 3.4. 满足最低的硬件要求 3.5. 为多重启动系统事先分区 3.5.1. 在 AmigaOS 下分区 3.5.2. 在 Atari TOS 下分区 3.5.3. 在 MacOS 下分区 3.6. 安装前的硬件和操作系统的相关设置 3.6.1. 固件修订版和已有的 OS 配置 3.6.2. 需要留心的硬件问题 本章用于处理在启动安装程序安装 Debian 之前的准备工作。这包括备份您的数据,搜集 您硬件的信息,以及获取其他一些必要的信息。 3.1. 安装概述 先说一下有关重新安装的事情。使用 Debian 时,极少出现必须进行完全重新安装的情况 ,可能导致这种情况的大多是硬盘的物理故障。 许多常见的操作系统在遇到严重错误或者要升级到新的版本时,必须进行重新安装。就算 不需要完全重新安装,您通常还得把您的各种程序在新的系统里也再重新安装一遍才行。 在 Debian GNU/Linux 里,如果操作系统遇到出错的情况,大多数的时候您都能把它修复 而不用重新安装。在这里,升级不再需要进行大规模的安装操作,您可以就地升级它,而 这些程序也总能和新版的操作系统和平共处。如果一个程序的新版本需要其他程序的更新 的版本来支持它,Debian 软件包管理系统会自动帮您确定所有必须的软件并把它们安装上 。关键是,Debian 为了避免重新安装而做了大量努力,所以您尽可以不用去烦心这些问题 了:我们的安装程序不是设计用来重装您的旧系统的。 这是安装过程的每个步骤: 1. 把将要用来安装系统的硬盘上的所有数据或者文档都备份下来; 2. 在开始整个安装过程之前,收集您的计算机的硬件信息和可能会用到的文档; 3. 在硬盘上为 Debian 留出可以用来创建分区的空间; 4. 如果您不是使用 Debian 安装光盘,请寻找和(或)下载安装程序软件,还有用于您电 脑上的特殊硬件的驱动程序; 5. 设置从磁带、软盘、USB 盘,或者其它存有系统启动文件的设备上启动 (对于大多数 Debian 安装光盘的使用者来说,可以直接用这些光盘启动); 6. 启动安装系统; 7. 选择要安装的语言; 8. 如果可能,激活网络连接; 9. 创建并挂载用来安装 Debian 的分区; 10. 等待自动下载、安装和设置基本系统。 11. 安装启动引导器(boot loader) ,它负责启动 Debian GNU/Linux 和(或)已有的其他 系统。 12. 第一次加载新安装的系统,做一些系统初始设定; 13. 选择安装您要使用的其他的软件 (程序单元和/或软件包); 如果您在安装过程中遇到问题,下面的信息可以帮助您找到每个步骤里涉及到那些软件包 。有关这场安装"戏剧"的"主角"的介绍: 安装软件,debian-installer,是本手册的关注焦点。她将探测硬件并挂载相应的驱动程 序,还要指导 dhcp-client 去设置网络连接,还将运行 debootstrap 去安装基本系统的 软件包。在这个过程中,还有许多其他程序扮演着各自的角色,而 debian-installer 将 一直到您第一次启动新系统时才完成她的使命。 在加载新装的基本系统时,base-config 指导您添加用户、设置时区(通过 tzsetup),并 进行软件包安装系统的配置(使用 apt-setup)。然后,它将启动 tasksel 程序来安装以相 互关系分成的几个大组软件,或者 aptitude 程序来让您挑选单独的软件包。 当 debian-installer 程序运行结束,系统首次加载之前,您只有一个非常简单的基于命 令行的系统。除非您在最后一个步骤里用 tasksel 或 aptitude 选择安装了能在您的显示 器上显示窗口的图形界面,否则它将不会被自动安装。因为许多 Debian GNU/Linux 系统 是被用作服务器,它们的工作根本不需要任何图形化的用户界面,所以它在这里只是一个 可选项。 要知道,X 系统是与 debian-installer 完全分开的,实际上它的使用要复杂得多。X 窗 口安装系统的安装和问题解答不在本手册所关注的范围之内。 3.2. 记得备份您的所有数据! 开始安装之前,请确定您已经把系统中所有数据都进行了备份。除了购买机器时预装的操 作系统以外,如果这是您计算机上的第一个其他操作系统,很可能您得对硬盘进行重新分 区,来给 Debian 腾出安装的空间。不管您用什么程序,分区都会使硬盘上的所有数据全 部丢失。在我们的安装过程中使用的分区程序经过多年使用,被证明非常可靠,但它的功 能也非常强大,您可能会为一次错误操作而付出代价。即使是已经备份过数据,您也要谨 慎使用,最好在每次操作之前先认真考虑一下:两分钟的思考可能会为您节省几个小时的 不必要的恢复工作。 如果您是想把电脑做成多重引导的系统,请先确定您手头上有电脑里已经存在的这些操作 系统的安装介质。特别是当您把启动盘重新分区以后,您可能会发现必须重新安装原有操 作系统的启动引导程序,某些情况下,还得重新安装该操作系统并恢复受影响分区上的文 件。 除了 BVM 和摩托罗拉 VMEbus 系列的计算机外,m68k 系统的计算机唯一支持的安装方式 就是用 AmigaOS、TOS 或 MacOS 的引导程序从本地的硬盘或软盘上启动。所以,对于这种 类型的计算机,您必须要有原来的操作系统用来启动 Linux。而为了在 BVM 和摩托罗拉 VMEbus 系列的计算机上启动 Linux,"BVMBug"或"16xBug"引导存储器是必须的。 3.3. 一些有用的信息 3.3.1. 文档 3.3.1.1. 安装手册 您正在阅读的文档,是 Debian sarge 发行版安装指南的正式版本; 还有各种文件格式和 不同语种的翻译。 3.3.1.2. 硬件文档 通常包含设置和使用您硬件的有用信息。 ● Linux/m68k FAQ 3.3.2. 提供硬件信息的资源 许多情况下,安装程序能自动检测您的硬件。但作为预备,我们建议您还是在安装之前熟 悉一下您的硬件比较好。 获取硬件信息的途径有: ● 每个硬件附带的手册。 ● 您计算机的 BIOS 配置画面。在计算机启动时,您可以通过按组合键查看这些画面。 请从您的手册确认组合键。通常,它是 Delete 键。 ● 每个硬件的包装盒。 ● 其他操作系统里面的系统命令或工具,包括文件管理器的显示。该资源对了解 RAM 和 硬盘特别有用。 ● 您的系统管理员或者互联网服务提供商。他们可以告诉您所需的网络和 e-mail 配置 信息。 表 3.1. 安装所需的硬件信息 ┌──────┬──────────────────────────────────────────────┐ │ 硬件 │ 您需要了解的信息 │ ├──────┼──────────────────────────────────────────────┤ │ │拥有的容量 │ │ ├──────────────────────────────────────────────┤ │ │它们在系统上的次序 │ │ ├──────────────────────────────────────────────┤ │ │是 IDE 还是 SCSI(大多数计算机上是 IDE) │ │硬盘 ├──────────────────────────────────────────────┤ │ │可用空间 │ │ ├──────────────────────────────────────────────┤ │ │分区。 │ │ ├──────────────────────────────────────────────┤ │ │安装有其他操作系统的分区。 │ ├──────┼──────────────────────────────────────────────┤ │ │型号与制造商。 │ │ ├──────────────────────────────────────────────┤ │ │支持的分辨率。 │ │ ├──────────────────────────────────────────────┤ │ │水平扫描频率。 │ │显示器├──────────────────────────────────────────────┤ │ │垂直扫描频率。 │ │ ├──────────────────────────────────────────────┤ │ │支持的颜色深度(颜色数) │ │ ├──────────────────────────────────────────────┤ │ │屏幕尺寸。 │ ├──────┼──────────────────────────────────────────────┤ │ │类型:串口、PS/2 或 USB。 │ │ ├──────────────────────────────────────────────┤ │ │端口。 │ │鼠标 ├──────────────────────────────────────────────┤ │ │制造商。 │ │ ├──────────────────────────────────────────────┤ │ │按键数。 │ ├──────┼──────────────────────────────────────────────┤ │ │型号与制造商。 │ │网络 ├──────────────────────────────────────────────┤ │ │适配器类型。 │ ├──────┼──────────────────────────────────────────────┤ │ │型号与制造商。 │ │打印机├──────────────────────────────────────────────┤ │ │支持的打印分辨率。 │ ├──────┼──────────────────────────────────────────────┤ │ │型号与制造商。 │ │ ├──────────────────────────────────────────────┤ │视频卡│可用显存 │ │ ├──────────────────────────────────────────────┤ │ │支持的分辨率和颜色数(还需检验您显示器的能力)。│ └──────┴──────────────────────────────────────────────┘ 3.3.3. 硬件兼容性 多数品牌的产品在 Linux 上运行不会遇到麻烦。而且,对 Linux 的硬件支持每天都在改 善。然而,Linux 仍然不能像某些操作系统那样可以在各种不同的硬件上运行。 您可以通过以下方式检验硬件兼容性: ● 检查制造商的网站来得到新的驱动程序。 ● 查看关于仿真信息的网站或者手册。不常见的品牌有时可以使用常见品牌设备的驱动 程序或者设置。 ● 检查您计算机体系的 Linux 兼容性列表网站。 ● 搜索互联网查找其他用户的经验。 3.3.4. 网络设置 如果您的计算机一天 24 小时都连在网上(即,以太网或等价的连接 -- 而不是拨号连接) ,您需要向您的网络系统管理员咨询这项信息。 ● 您的主机名(您也许可以自己决定)。 ● 您的域名。 ● 您的计算机 IP 地址。 ● 您网络的网络掩码。 ● 路由经过的默认网关的 IP 地址,如果您的网络有网关的话。 ● 您的网络中作为 DNS(域名服务) 服务器的系统。 另一方面,如果您的系统管理员告诉您有 DHCP 服务器可用,并且推荐使用,那么您不需 了解这项信息,因为 DHCP 服务器会在安装过程中直接提供。 如果您有一个无线网络,您应该找出: ● 您的无线网络的 ESSID。 ● WEP 安全 key(如果可用)。 3.4. 满足最低的硬件要求 一旦您收集好您的计算机上硬件配置的相关信息,再复查一下您的硬件,就可以让您如愿 以偿,安装上系统。 基于您的需求,您也许可以用低于下面表格所列的配置装上系统。但是,如果无视这些建 议的话,多数用户会安装失败。 在 m68k 机器上安装,推荐使用 68030 或更快的处理器。您可能用比推荐稍小的硬盘空间 就能完成安装。 表 3.2. 推荐的最低系统配置 ┌─────────────┬─────┬─────┐ │ 安装类别 │内存 │硬盘 │ ├─────────────┼─────┼─────┤ │无桌面的系统 │24 M │450 M│ ├─────────────┼─────┼─────┤ │桌面系统 │64 M │1 G │ ├─────────────┼─────┼─────┤ │服务器 │128 M│4 G │ └─────────────┴─────┴─────┘ 这里有些常规 Debian 系统配置的样本。要了解各类软件需要占多大的硬盘空间,请参考 第 C.3 节 "各软件集所需的磁盘空间"。 常规服务器 这里有一台小型服务器范例,它适用于精简型服务器,即没有为 shell 的用户安装过 多合用称手的软件。这类服务器安装有:一个 FTP 服务、一个 web 服务、DNS、NIS 以及 POP 服务。这些服务总共需要用掉 100MB 的磁盘空间,您还需要另外算上服务 所需的数据占用的空间。 桌面 标准的桌面用机安装有 X 窗口系统、完整的桌面环境、音频软件、编辑器等。这些软 件包将总共需要约 2G 空间,尽管也可以不用这么多。 工作控制台 这是被高度精简的用户机器,它没有安装 X 窗口系统或者 X 软件。可能适用于笔记 本电脑或者手持计算机。其所需空间约为 140MB。 开发人员 这是包括所有开发软件包的桌面设置,例如 Perl、C、C++ 等。其所需空间约为 475MB。若是您为了其它用途,而另行安装了 X11 和其它的软件包,那么您需要为这 类机器规划出约 800MB 空间。 要提醒您的是上面说的空间大小并没有把其它任何资料数据包含在内。这通常包含用户的 文件、信件或者用户的数据。一般来说,最好在为您自己的文件和数据分配空间时,规划 得宽裕一些。尤其是 /var 分区里装有许多 Debian 的特定状态信息和类似日志文件这样 普通内容。dpkg所用的文件(含有所有已安装软件包的信息)很容易就会消耗掉 20MB。另外 ,apt-get 会在安装前将下载的软件包放在这里。您应当最少分配 100MB 的空间给 /var 。 3.5. 为多重启动系统事先分区 为您的硬盘分区仅仅指的是将您的硬盘空间切分成几块。分区之后,每一块都是独立于其 余部分的单独空间。这和在一个大房子里砌几堵墙有几分相似,如果您在其中一间房间里 安置家具,那么这不会对其它房间有任何影响。 如果您已经在您的机器中安装有操作系统 (Amiga OS, Atari TOS, Mac OS, ...) 同时也 希望把 Linux 装在同一块硬盘上,那么您就必须重新对硬盘分区。Debian 需要它自己专 用的硬盘分区。它不能被安装在 Windows 或者 MacOS 的分区上。它可以与其它 Linux 系 统共享一些分区,但是我们在这里不会对此进行说明。最起码,您要为 Debian 的根目录 准备一个专用的分区。 您可以通过当前的操作系统中的分区工具软件来获知您现在的分区状况,如 HD SC Setup 、HDToolBox 和 SCSITool分区工具软件总会提供一种办法让您查看现有的分区情况,而不 作任何改动。 通常情况下,改动一个已经建立文件系统的分区,会导致其中的数据信息遭到损毁。因而 ,您应当在重新分区之前总是先做一下备份。继续拿房子作比喻,在移动墙壁时,您最好 在把挡路的家具都移开,否则就要冒家具被毁坏的危险。 如果您的计算机配有不只一块硬盘,您或许可以考虑把其中一块硬盘专门分配给 Debian 使用。这样的话,您就不用在启动安装系统前再对那块硬盘进行分区了,安装程序自带的 分区程序会漂亮地完成这个任务。 若是您的机器只有一块硬盘,而且您愿意把原来的操作系统全盘替换成 Debian GNU/Linux ,那么您可以在启动安装系统后,待到安装时再进行分区(第 6.3.2.1 节 "硬盘的分区") 。但是,只有当您使用存储于磁带、CD-ROM 或者联网的机器上的安装系统,并从它们启动 安装程序时,上面的话才适用于您的情形。试想一下:假如您用放在硬盘上的文件启动, 再在安装系统中对同一块硬盘进行分区,这就会擦除那些启动文件,这时恐怕您只能祈求 上苍保佑第一次就安装成功吧。在这种情况下,若要让您的机器恢复正常,至少您还可以 有几个办法可选,比如原先系统的安装磁带或 CD。 倘若您的机器已经有多个分区,并且通过删除或替换它们中的一个或多个就能为安装提供 足够的空间,那么您一样也可以把分区操作延后,到安装时再使用 Debian 安装程序自带 的分区工具。不过,您还是应当继续读完下面的文档,因为可能会存在一些特殊的情形。 比如,分区表中现有分区的顺序问题,这也许会令您不得不在安装前先分好区。 如果您的情况不属于上面任何一种,那么您需要在开始安装之前,事先为 Debian 腾出可 用于分区的空间。要是有分区是为其它操作系统准备的,您最好用该操作系统自己的分区 软件来新建这些分区。我们建议您不要用其它操作系统里的工具为 Debian 创建 Linux 分 区。也就是说,您应当仅仅创建要保留的操作系统自身的分区。 倘若您打算在同一台机器上安装多个操作系统的话,您应当在安装 Linux 之前,先把所有 其它系统都装好。Windows 和其它操作系统的安装过程可能会让您无法启动 Linux,也可 能会怂恿您重新格式化不属于它们自己的分区。 尽管您可以在这些操作之后再恢复回来,也可以避免它们,但是首先安装原有的系统就能 够帮您免除这些烦恼。 如果您现在有一块硬盘,这块硬盘上仅有一个分区(这是桌面电脑的通常设置),同时您希 望能多重启动原有的操作系统和 Debian,那么您就需要: 1. 备份计算机里所有的数据。 2. 从原有操作系统的安装介质(如 CD-ROM 和磁带)启动。 3. 使用原有系统里的分区工具来新建属于原来系统的分区。为 Debian GNU/Linux 或者 预留一个分区,或者腾出一块空闲空间。 4. 把原有的操作系统安装到属于它的新分区上。 5. 启动到原有的操作系统,以确保一切正常,再下载 Debian 安装程序的启动文件。 6. 启动 Debian 安装程序,并继续安装 Debian。 3.5.1. 在 AmigaOS 下分区 如果您运行 AmigaOS,您可以使用 HDToolBox 程序在安装之前调整您的分区。 3.5.2. 在 Atari TOS 下分区 Atari 的分区 ID 是三个 ASCII 字符,"LNX"用于数据,"SWP"用于交换分区。如果使用小 内存安装方式,还需要一个小的 Minix 分区(大约 2MB),它的 ID 是"MNX"。错误的设置 分区 ID 不仅会因为 Debian 无法识别分区而中断安装进程,还会造成 TOS 使用 Linux 分区,让硬盘驱动程序混乱,使得整个磁盘无法访问。 有很多第三方的分区工具(Atari harddisk 工具不允许修改分区 ID),本手册无法对它们 都进行详细说明。下面的说明涵盖了 SCSITool (来自 Hard+Soft GmBH)。 1. 启动 SCSITool 然后选择您要分区的磁盘(Disk 菜单中的 select)。 2. 从 Partition 菜单,选择 New 来添加新分区或者修改现有分区的大小,或选择 Change 来修改指定的分区。除非您已经创建了合适大小的分区并只想修改分区 ID, 否则 New 大概是最佳选择。 3. 在 New 选项中,从提示初始设置的对话框里选择 existing。接下来的窗口显示的是 现有分区的列表,您可以通过滚动按钮进行调节,或者直接点击条图。分区列表的第 一列是分区类型,点击文本框就可以编辑它。当您完成分区设置,用 OK 按钮保存并 离开窗口。 4. 在 Change 选项中,从列表里面选择要修改的分区,然后在对话框中选择 other systems。接下来的窗口会列出该分区位置的详细信息,并让您修改分区 ID。用 OK 按钮保存并离开窗口。 5. 记下您为了使用 Linux 而创建或修改的每个分区的 Linux 名称 -- 参考第 B.4 节 "Linux 里面的设备名称"。 6. 退出 SCSITool 使用 Quit 选项,位于 File 菜单下。计算机将重新启动以确保 TOS 会使用修改过的分区表。如果您修改了任何 TOS/GEM 分区,它们将会失效并要重新初 始化(我们已经告诉过您需要备份磁盘上的所有数据,不是吗?)。 在 Linux/m68k 中有一个分区工具,在安装系统中被称为 atari-fdisk,但是我们现在建 议您使用 TOS 分区编辑器或其他的磁盘工具来对硬盘分区。如果您的分区编辑器没有编辑 分区类型的选项,您可以在后续阶段做这项重要任务 (从启动临时安装 RAMdisk)。 SCSITool 是我们所知的唯一支持选择任意分区类型的分区编辑器。也许还有其他的,请选 择一个符合您要求的工具。 3.5.3. 在 MacOS 下分区 Macintosh 下经过测试的分区工具包括 pdisk、HD SC Setup 7.3.5 (Apple)、HDT 1.8 (FWB)、SilverLining (LaCie) 和 DiskTool (Tim Endres, GPL)。对 HDT 和 SilverLining 要完整版。Apple 工具需要打补丁才能识别第三方的磁盘 (如何给 HD SC Setup 打补丁(使用 ResEdit)的说明位于 http://www.euronet.nl/users/ernstoud/ patch.html)。 对基于 IDE 的 Mac,您需要使用 Apple Drive Setup 为 Linux 分区创建空闲空间,然后 在 Linux 下完成分区,或者使用 MacOS 版的 pdisk,它可以从 MkLinux FTP 服务器获得 。 3.6. 安装前的硬件和操作系统的相关设置 在本节中,我们将讨论安装之前有关硬件设置的一些问题。如果这些问题的确存在的话, 您就需要在安装 Debian 前先做一些准备工作了。一般来说,准备工作包括:检查固件 (firmware) 以及为您的系统修改固件中的设定。所谓"固件"就是硬件运行所需的核心软件 。它在系统引导过程(即开机之后)中起到了至关重要的作用。我们同时也会着重提出一些 硬件问题,您系统上这些硬件问题在将会影响到 Debian GNU/Linux 的可靠性。 3.6.1. 固件修订版和已有的 OS 配置 Motorola 680x0 机器通常自行配置,不需要设置固件。但是,您应该确定您用了适宜的 ROM 和系统补丁。在 Macintosh 上,推荐使用 MacOS >= 7.1 的版本,这是由于版本 7.0.1 在视频驱动方面包含 bug,它会阻挡 boot loader 禁止视频中断,造成 boot 挂起 。在 BVM VMEbus 系统上,您应该确定使用 BVMBug 修订版 G 或更新的 boot ROM。 BVMBug boot ROM 不属于 BVM 系统的标准配置,但可用从 BVM 免费获取。 3.6.2. 需要留心的硬件问题 有很多人曾试过把他们的 90 MHz 的 CPU 超频到 100 MHz 使用,以及其他诸如此类的做 法。这有时可行,但是它有赖于外界的温度和其他因素,而且超频可能会损毁您的系统。 这个文档的作者之一曾把他的系统超频使用了有一年,从那以后他的系统在编译操作系统 的内核时,总是发现 gcc 的运行被意外的信号中止了。后来,当把 CPU 的频率调回它的 标称速度后,问题迎刃而解。 如果内存模块有故障的话(或者出现其他会使数据发生异变的硬件故障),gcc 编译器经常 是第一个停止工作的程序。因为它会生成庞大的数据结构,并把它们在内存中频繁移动。 一旦这些数据结构中有错,就会导致程序执行非法指令或者访问不存在的地址空间。表现 出症状就是gcc 被一个意外的信号中止运行。 Atari TT 内存条因其在 Linux 下的内存故障而获臭名。无论您碰到了何种怪异的问题, 请至少试试换用 ST-RAM 来运行内核。Amiga 的用户可能需要用 booter menfile 来排除 部分内存。 3.6.2.1. 大于 64 MB 内存 Linux 内核有时不能检测出您系统中的内存大小。如果这正符合您的情况,请参阅一下第  5.2 节 "引导参数"。 第 4 章 获取系统安装介质 目录 4.1. 官方的 Debian GNU/Linux 光盘套装 4.2. 从 Debian 镜像服务器下载文件 4.2.1. 在哪里能找到安装映像 4.3. 从软盘映像创建引导软盘 4.3.1. 从 Linux 或者 Unix 系统写软盘映像 4.3.2. 在 DOS、Windows、或者 OS/2 下写磁盘映像 4.3.3. 在 Atari 系统上写磁盘映像 4.3.4. 在 Macintosh 系统上写磁盘映像 4.4. 为从硬盘引导准备文件 4.5. 为使用 TFTP 网络引导准备文件 4.5.1. 设置 RARP 服务器 4.5.2. 设置 BOOTP 服务器 4.5.3. 设置 DHCP 服务器 4.5.4. 开启 TFTP 服务器 4.5.5. 将 TFTP 映像放到适当的位置 4.6. 自动化安装 4.6.1. 使用 Debian 安装程序进行自动安装 4.1. 官方的 Debian GNU/Linux 光盘套装 目前安装 Debian GNU/Linux 最容易的方法是使用一个官方的 Debian CD 盘套件。您可以 从一个销售商处购买 (参见光盘销售商)。如果您有快速的网络连接和光盘刻录机的话,也 可以从 Debian 镜像站点下载光盘映像然后自行刻录光盘 (具体参见 Debian CD 页)。如 果您有一套 Debian 的 CD 盘套件并且能在您的机器上引导这些 CD 盘,您可以直接跳至 第 5 章用安装系统启动。我们已经做了很多努力来确保 CD 中已经包含了大多数人所需要 的文件。尽管一整套预编译的二进制软件包需要好几张 CD 盘,但是您可能不会用到第三 张 CD 盘以后的内容。您也可以可以考虑使用 DVD 版本,这将为您的书架节约很多光盘存 放空间,并且您可以避免沉闷地 CD 盘切换。 如果您的机器不支持 CD 盘引导,但是您有一套 CD 光盘套件,您可以使用其他的方法比 如:软盘、硬盘、网络引导,或者从 CD 盘中手工装载内核来初始化系统安装程序。CD 盘 已经包含了通过其他方法引导所需要的文件; Debain 的网络存档和 CD 盘的文件夹组织 方式是一致的。因此如果后面有给出的用于引导的特定存档文件路径时,请在 CD 盘中同 样的文件目录和子目录下查找它们。 一旦安装程序被引导,它将能够获得 CD 盘中其他所有必需的文件。 如果您没有一套 CD 光盘套件,则您需要下载安装系统文件并且把他们放到:软盘或硬盘 或一台连网的计算机上然后他们可以被用来引导安装程序。 4.2. 从 Debian 镜像服务器下载文件 选择离您较近的(因此很可能也是最快的)镜像服务器,请参见 Debian 镜像列表。 当从 Debian 镜像服务器下载文件的时候,请确认下载的文件是处于二进制模式,而不是 文本或者自动模式。 4.2.1. 在哪里能找到安装映像 安装映像位于每一个 Debian 镜像的 debian/dists/sarge/main/installer-m68k/current /images/ -- MANIFEST 文件列出了每一个映像及其用途。 4.2.1.1. 选择一个内核 一些 m68k 子体系可以选择要安装的内核。一般来说我们推荐您首先尝试最新的版本。如 果您的子体系系统或机器需要使用 2.2.x 版的内核,请确认您选择的是一个支持对应内核 的映像。(请参见 MANIFEST)。 所有使用 2.2.x 内核的 m68k 的映像都要求使用 ramdisk_size=13000 内核参数。 4.3. 从软盘映像创建引导软盘 可启动的软盘一般被视为是在那些不能从光盘或其它方式启动的硬件上引导安装程序的最 后一种方法。 Amigas 或者 68k Macs 的软盘引导方法也不被支持。 软盘映像是一些包含完整的原始格式软盘内容的文件。类似 boot.img 这样的软盘映像不 能直接拷贝到软盘中。有一个特殊的程序可以将它们按原始模式写入软盘。这是一个必须 的步骤,因为这些映像文件是一些原始的磁盘保存方式。所以需要把文件的数据按扇区拷 贝放到软盘中。 根据平台的不同,有各种不同的方法来从软盘映像创建引导软盘。这一节将描述如何在不 同平台上从软盘映像创建引导软盘。 无论您使用何种方法来建立引导软盘,您应该在建立以后记住打开写保护的开关,以便确 保内容不会在无意被抹掉。 4.3.1. 从 Linux 或者 Unix 系统写软盘映像 为了把软盘映像写入软盘,您可能需要系统的 root 访问权限。在软驱中放入一张优质的 空白软盘,然后使用命令 $ dd if=filename of=/dev/fd0 bs=1024 conv=sync ; sync 其中 filename 是一个软盘映像文件(请参阅第 4.2 节 "从 Debian 镜像服务器下载文件" 来获知应该使用哪个 filename)。/dev/fd0 是一个常见的软驱设备名。可能在您的工作站 上面有所不同。这个命令也许在写软盘任务结束之前就会返回到命令符下。请观察软盘驱 动器上面的磁盘使用灯,并且确保在您拔出软盘的时候灯已熄灭。在某些系统上,您可能 需要运行一条命令来弹出软盘。 有些系统会在您放入软盘时自动尝试对其进行挂载。若要让工作站允许您对软盘进行原始 模式写入操作,您可能必须关闭此功能。不幸的是,如何关闭此功能的方法完全取决于具 体的操作系统。 4.3.2. 在 DOS、Windows、或者 OS/2 下写磁盘映像 如果您能操作一台 i386 机器,您可以使用如下方法之一往软盘拷贝映像文件。 rawrite1 和 rawrite2 程序可在 MS-DOS 下使用。如果想使用这些程序,首先要确定您是 从 DOS 启动。在 Windows 的 DOS 窗口或者在文件浏览器中双击使用这些程序是不能运行 的。 rwwrtwin 程序可以在 Windows 95、NT、98、2000、ME、XP 甚至可能最新的版本上运行。 要使用它您需要解压 diskio.dll 至相同目录下。 这些工具可以在官方 Debian 光盘中找到。他们位于 /tools 目录下。 4.3.3. 在 Atari 系统上写磁盘映像 您可以在与软盘映像相同的目录下找到 .../current/images/atari/rawwrite.ttp 。双击 程序图标,在 TOS 程序命令行输入框内键入您想写入软盘的软盘映像文件名。 4.3.4. 在 Macintosh 系统上写磁盘映像 没有一个 MacOS 应用程序可以用于将映像文件写到软盘(而且这也没有什么意义,因为您 也不能在 Macintosh 系统上用软盘引导安装系统来安装内核以及模块)。但是,这些文件 也被用来在后面的安装过程中安装操作系统和模块。 4.4. 为从硬盘引导准备文件 安装程序可以从硬盘分区上面用引导文件引导。它们可以在其它操作系统下面启动,或者 直接使用 BIOS 提供的引导装载程序直接启动。 采用这个技术可以实现完全的"纯网络"的安装方式。这样可以避免一些使用可移动介质带 来的的缺点,比如寻找和刻录光盘映像或是与大量且不可靠的软盘纠缠不清。 4.5. 为使用 TFTP 网络引导准备文件 如果您的机器连接到了一个局域网,您可以从网络上的另外一台机器上面通过 TFTP 来引 导它。如果您倾向从另外一台机器上面引导安装系统,则引导文件需要放在那台机器上面 的某个特殊地方,并且配置好能够能够支持对您的机器进行引导。 您需要设置一台 TFTP 服务器,并且对于很多机器来说,还需要一台 BOOTP 服务器,或 RARP 服务器,又或 DHCP 服务器。 反向地址解析协议( The Reverse Address Resolution Protocol (RARP)) 是一种告诉您 的客户它自己 IP 地址的方法。另外一种方法是采用 BOOTP 协议。 BOOTP 是一种 IP 协 议,用来告诉一台计算机它自己 IP 地址以及从网络何处获得启动映像。在 VMEbus 系统 上面的另外一种选择是:IP 地址可以能够在引导 ROM 中手工配置。 DHCP (动态主机配置 协议 Dynamic Host Configuration Protocol) 是一个更灵活,向后兼容的 BOOTP 拓展。 有一些系统只能通过 DHCP 来配置。 普通文件传输协议(Trivial File Transfer Protocol (TFTP))被用于为客户提供引导映像 。理论上,任意服务器,在任意平台上只要实现了这些协议就都能够被应用。在这一节的 一些例子里面,我们将提供在 SunOS 4.x、SunOS 5.x (即 Solaris) 和 GNU/Linux 上面 的一些操作例子。 4.5.1. 设置 RARP 服务器 为了设置 RARP ,您需要知道需要安装系统的客户机的以太网卡地址(网卡 MAC 地址)。如 果您还不知道这个信息,可以启动进入"Rescue"模式(例如使用回复软盘)并且使用 /sbin/ ifconfig eth0 命令。 在使用 Linux 2.2.x 内核的 RARP 服务器系统上,您需要通以下的命令来植入内核 RARP 表: # /sbin/rarp -s client-hostname client-enet-addr # /usr/sbin/arp -s client-ip client-enet-addr 如果看到 SIOCSRARP: Invalid argument 您可能需要加载 RARP 内核模块或重新编译内核并使之支持 RARP。试试在运行 modprobe rarp 命令后再尝试一遍 rarp 命令。 使用 Linux 2.4.x 内核的 RARP 服务器系统上并没有 RARP 模块,您应该使用 rarpd 程 序替代。操作过程很类似下面将提到的在 SunOS 上的用法。 在 SunOS 里, 您需要确定客户机的以太网硬件地址已经列在"ethers"数据库(在 /etc/ ethers 文件中或者通过 NIS/NIS+)和"hosts"数据库中,然后您需要启动 RARP 守护程序 ,在 SunOS 4 里,使用(以 root 身份): /usr/etc/rarpd -a 命令;在 SunOS 5 里,则 使用 /usr/sbin/rarpd -a 命令。 4.5.2. 设置 BOOTP 服务器 在 GNU/Linux 下面有两种 BOOTP 服务器。他们是 CMU bootpd和另外一种实际上是 DHCP 服务器的程序 ISC dhcpd,他们被包含在 Debian GNU/Linux 的 bootp 和 dhcp 软件包中 。 为了使用 CMU bootpd,您必须首先将 /etc/inetd.conf 中相关的注释标记去掉(或者加入 一些新行)。在 Debian GNU/Linux 里,您可以运行 update-inetd --enable bootps,然 后执行 /etc/init.d/inetd reload 来实现此任务。在其它系统中,这个行应该看起来像 这样: bootps dgram udp wait root /usr/sbin/bootpd bootpd -i -t 120 现在,您必须创建一个 /etc/bootptab 文件。它具有和一些老 BSD 文件很相似并使用相 同的加密格式。这些文件包括 printcap、termcap,和 disktab。参见 bootptab 的手册 页以获得更多的信息。对于 CMU bootpd,您将需要知道客户机硬件的(MAC)地址。这里有 一个示例 /etc/bootptab: client:\\ hd=/tftpboot:\\ bf=tftpboot.img:\\ ip=192.168.1.90:\\ sm=255.255.255.0:\\ sa=192.168.1.1:\\ ha=0123456789AB: 您至少需要修改"ha"选项,它指定了客户机的硬件地址。"bf"选项则指定了一个客户机应 该通过 TFTP 取得的文件名称。请从第 4.5.5 节 "将 TFTP 映像放到适当的位置" 处获得 更多的信息。 相反,通过 ISC dhcpd 设置 BOOTP 就非常容易。因为它把 BOOTP 客户程序看成一个特殊 的 DHCP 客户端。部分体系结构需要经过复杂的设置才能从 BOOTP 启动客户端。如果您的 机器属于这种情况,请阅读第 4.5.3 节 "设置 DHCP 服务器"。否则,您大概只需要将 allow bootp 指令添加到包含客户机的子网的配置部分,并重新启动 dhcpd 就可以了,重 启的命令是:/etc/init.d/dhcpd restart。 4.5.3. 设置 DHCP 服务器 ISC dhcpd 是一种自由软件 DHCP 服务器。在 Debian GNU/Linux 里,它被包含在 dhcp 软件包中。这里有它的一个配置文件的范例(通常是 /etc/dhcpd.conf): option domain-name "example.com"; option domain-name-servers ns1.example.com; option subnet-mask 255.255.255.0; default-lease-time 600; max-lease-time 7200; server-name "servername"; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.200 192.168.1.253; option routers 192.168.1.1; } host clientname { filename "/tftpboot/tftpboot.img"; server-name "servername"; next-server servername; hardware ethernet 01:23:45:67:89:AB; fixed-address 192.168.1.90; } 注意:新的(并且是推荐的) dhcp3 软件包使用 /etc/dhcp3/dhcpd.conf作为其配置文件。 在这个例子中,一台服务器 servername 负责执行包括 DHCP 服务器、TFTP 服务器和网关 在内的所有工作。您需要修改域名选项,以及服务器名和客户端硬件地址。filename 选项 应该是将要从 TFTP 获取的文件名。 在编辑了 dhcpd 配置文件后,您需要使用下面的命令重新启动它:/etc/init.d/dhcpd restart作为其配置文件。 4.5.4. 开启 TFTP 服务器 要准备好 TFTP 服务器,您首先需要确定 tftpd 已经启动。这通常可以在 /etc/ inetd.conf添加如下字句来实现: tftp dgram udp wait nobody /usr/sbin/tcpd in.tftpd /tftpboot Debian 包通常在安装后会自动把这条设置好。 检查那个文件并且记住被用作 in.tftpd 的参数的目录,您接下来将会需要它。-l 参数能 够让某些版本的 in.tftpd 将所有的请求记录到系统日志中。这将在检查错误的时候会很 有用。如果您必须修改 /etc/inetd.conf,您将必须提醒正在运行的 inetd进程该文件已 经被改变。在 Debian 系统中,您应该执行 /etc/init.d/inetd reload;而在其它系统中 ,找到 inetd 所对应的进程 ID,并且运行 kill -HUP inetd-pid。 4.5.5. 将 TFTP 映像放到适当的位置 接下来,将在第 4.2.1 节 "在哪里能找到安装映像"中找到的 TFTP 启动映像放置到tftpd 引导映像目录中。一般来说,这个目录将是 /tftpboot。您必须将该文件链接到 tftpd 所 使用的引导特定客户端的文件名。不幸的是,这个文件名完全决定于 TFTP 客户程序,并 且没有一个强制的标准。 4.5.5.1. BVM/Motorola TFTP 引导 对于 BVM 以及 Motorola VMEbus 系统来说,请先将 .../images/kernel/ vmlinuz-2.4.27-bvme6000, .../images/netboot/initrd.gz, .../images/netboot/ tftplilo.bvme, and .../images/netboot/tftplilo.conf 文件拷贝到 /tftpboot/。 接下来,配置您的启动引导 ROM 或 BOOTP 服务器,使其从 TFTP 服务器中初始装入 tftplilo.bvme 或者 tftplilo.mvme 文件。请阅读 tftplilo.txt 文件来获得更多的关于 您所使用的子体系的系统特殊配置信息。 4.6. 自动化安装 对于有多台需要安装的计算机的情况,可以采用全自动安装的方式。用于此项任务的 Debian 软件包有 fai(需要使用一台安装服务器),replicator、systemimager、 autoinstall,以及 Debian 安装程序本身。 4.6.1. 使用 Debian 安装程序进行自动安装 Debian 安装程序支持使用预先配置的文件进行自动安装。预配置文件可以从网络或移动介 质上加载,并自动回答安装过程中的问题。 虽然大多数 debian-installer 使用的对话框可以用这种方法预置,但还是有明显的例外 。您可以(重新)分区整个硬盘或使用磁盘上可用的闲置空间; 但无法使用已存在的分区。 当前还无法预先设置 RAID 和 LVM。还有,除了网络驱动模块,也无法预先设置内核模块 参数。 预配置文件是按照 debconf-set-selections 命令的格式写成的。这里有一个具有详尽注 释并能正常工作的预配置文件例子:第 C.1 节 "预设置文件实例"。 除此之外,要得到一个包含所有可被预设置的项目的完整文件,您可以进行手动安装,然 后使用 debconf-get-selections 命令(它来自 debconf-utils软件包)将 debconf 数据库 和位于 /var/log/debian-installer/cdebconf 的 cdebconf 数据库的内容导出至一个单 一的文件: $ debconf-get-selections --installer > 文件 $ debconf-get-selections >> 文件 但是,按照这些方法生成的文件将会包含一些不应该被预设置的项目,因此第 C.1 节 "预 设置文件实例" 中的文件对于大多数用户来说是一个更好的起点。 一旦您有了一个预配置文件,可以在需要时编辑它,并且上传至一个 web 服务器,或者拷 贝至安装程序的启动引导介质。无论您将此文件放置在哪里,都需要在启动安装程序时向 它传递一个参数来告诉它使用这个文件。 要让安装程序使用一个从网络下载的预配置文件,请将 preseed/url=http://url/to/ config 加入内核启动参数。当然这个预配置文件,只有安装程序能够管理网络并下载文件 后才能起作用,因此如果安装程序能够通过 DHCP 设置网络而不需要询问任何问题的话, 此方法会更有用。如果您已经被设置好了网络,可能还会想将安装优先级调至关键来避免 任何提问。请参见第 5.2.1 节 "Debian 安装程序的参数"。 要将预配置文件放置在光盘中,您将需要重新生成 ISO 映像以包括您的预配置文件。请阅 读 mkisofs 的手册来获得细节信息。另外,您也可以将预配置文件放置在一张软盘中,然 后使用 preseed/file=/floppy/preseed.cfg 参数。 第 5 章 用安装系统启动 目录 5.1. 在 Motorola 680x0 上引导安装程序 5.1.1. 选择安装方法 5.1.2. 从硬盘引导 5.1.3. 从 CD-ROM 启动 5.1.4. 用 TFTP 引导 5.1.5. 从软盘引导 5.2. 引导参数 5.2.1. Debian 安装程序的参数 5.3. 安装过程中的故障修复 5.3.1. 软盘的可靠性 5.3.2. 引导配置 5.3.3. 内核起始信息注解 5.3.4. Bug Reporter 5.3.5. 提交缺陷报告 5.1. 在 Motorola 680x0 上引导安装程序 5.1.1. 选择安装方法 一些 Motorola 680x0 子体系可以选择使用从 2.4.x 或 2.2.x linux 内核启动。如果可 以这样选取,请使用 2.4.x linux 内核。使用 2.4.x linux 内核的安装程序要求较少的 内存,因为 2.2.x 支持需要固定尺寸的 ramdisk 而 2.4.x 使用 tmpfs。 如果您使用 2.2.x linux 内核,那么必须确保 ramdisk 满足要求,参阅 MANIFEST。通常 ,这意味需要从各自的目录使用 initrd22.gz ramdisk。 确保 root=/dev/ram 在内核参数中。 如果碰到麻烦,检查 cts's Motorola 680x0 debian-installer FAQ。 ● 第 5.1.1.1 节 "Amiga" ● 第 5.1.1.2 节 "Atari" ● 第 5.1.1.3 节 "BVME6000" ● 第 5.1.1.4 节 "Macintosh" ● 第 5.1.1.5 节 "MVME147 and MVME16x" ● 第 5.1.1.6 节 "Q40/Q60" 5.1.1.1. Amiga amiga 仅支持从硬盘安装方式(参阅第 5.1.2 节 "从硬盘引导")。也就是说 cdrom 无法启 动。 当前 Amiga 不能与 bogl 一起工作,如果您看到 bogl 错误,您应该包含下面内核参数 debian-installer/framebuffer=false。 5.1.1.2. Atari atari 安装程序可以从硬盘(参阅第 5.1.2 节 "从硬盘引导") 或软盘 (参阅第 5.1.5 节 "从软盘引导")。也就是说 cdrom 无法启动。 当前 Atari 不能与 bogl 一起工作,如果您看到 bogl 错误,应该包含下面内核参数 debian-installer/framebuffer=false。 5.1.1.3. BVME6000 BVME6000 上安装程序可以从 cdrom (参阅第 5.1.3 节 "从 CD-ROM 启动"), 软盘(参阅第  5.1.5 节 "从软盘引导"),或网络(参阅第 5.1.4 节 "用 TFTP 引导")。 5.1.1.4. Macintosh mac 上启动的唯一方法是硬盘(参阅第 5.1.2 节 "从硬盘引导")。也就是说 cdrom 无法启 动。 Macs 不能工作在 2.4 内核上。 如果您的硬件中包括基于 53c9x 的 scsi 总线,那么您需要包括下面的内核参数 mac53c9x=1,0。带有两个这种 scsi 总线的硬件,如 Quadra 950,您需要 mac53c9x=2,0 参数。另外,参数指定为 mac53c9x=-1,0 可打开自动侦测,但却禁止了 SCSI 断开。注意 ,使用这种参数仅用于不止一个硬盘的情况下; 如果不指定,您的系统将运行得更快。 5.1.1.5. MVME147 and MVME16x MVEM147 和 MVEM16x 可以从软盘(参阅第 5.1.5 节 "从软盘引导")或网络(参阅第 5.1.4  节 "用 TFTP 引导")。也就是说 cdrom 无法启动。 5.1.1.6. Q40/Q60 Q40/Q60 只支持从硬盘安装(参阅第 5.1.2 节 "从硬盘引导")。也就是说 cdrom 无法启动 。 5.1.2. 从硬盘引导 从一个以存在的操作系统上引导通常是一个方便的选择;对于一些系统来说,这则是唯一 支持的安装方法。 如果要从硬盘上引导安装程序,您也许已经在第 4.4 节 "为从硬盘引导准备文件" 处下载 并且在第 4.4 节 "为从硬盘引导准备文件" 安置了所需文件。 至少有六中不同的 ramdisk 可以从硬盘启动,三个不同的类型分别用于支持或不支持 2.2.x linux 内核(参阅 MANIFEST 了解更多细节)。 这三种 ramdisk 类型为 cdrom, hd-media,和 nativehd。它们的区别仅在于安装软件包 的源不同。cdrom ramdisk 使用 cdrom 获取 debian-installer 软件包。hd-media ramdisk 使用硬盘上的 iso 映象文件。最后,nativehd ramdisk 使用网络安装软件包。 ● 第 5.1.2.1 节 "从 AmigaOS 上引导" ● 第 5.1.2.2 节 "从 Atari TOS 引导" ● 第 5.1.2.3 节 "从 MacOS 引导" ● 第 5.1.2.4 节 "从 Q40/Q60 启动" 5.1.2.1. 从 AmigaOS 上引导 在 Workbench 下,双击 StartInstall 图标来启动 Linux 安装过程,它位于 debian 目 录中。 在 Amiga 安装程序在一个窗口已经输出一些调试信息,您也可以按下 Enter 两次。之后 屏幕将变灰,这里有一些很短的延迟。接下来,一个黑屏白字将显示更多的调试信息。这 些信息可能上翻的非常快无法看到,但这没有问题。在一些时间过后,安装程序应该自动 安装,因此您可以继续参阅第 6 章使用 Debian 安装程序。 5.1.2.2. 从 Atari TOS 引导 在 GEM 桌面上,可以通过双击 bootstra.prg 图标,它位于 debian 目录下,并且在程序 选项对话框内点击 Ok 来开始启动安装过程。 当 Atari 安装程序在一个窗口输出一些调试信息以后,您可能必须按下 Enter。之后屏幕 将变灰,这里有一些很短的延迟。接下来,一个黑屏白字将显示更多的调试信息。这些信 息可能上翻的非常快没法看,但这没有问题。在一些时间过后,安装程序应该自动安装, 因此您可以继续参阅第 6 章使用 Debian 安装程序。 5.1.2.3. 从 MacOS 引导 您必须有原来的 Mac 系统,并从它启动。它是必要的,当启动 MacOS 准备启动 Penguin linux 加载器时,按住 shift 键阻止加载扩展。如果除了加载 linux 不使用 MacOS,您 可以从 Mac 的系统文件夹下清除所有的扩展和控制面板达到同样的目的。否则扩展会运行 使运行的 linux 内核参数随机错误。 Mac 要求 Penguin 加载器。如果您没有这个工具,要把 Stuffit 归档, .../current/ images/mac/penguin19.hfs 是一个 hfs 磁盘映象,带有 Penguin 解压包。第 4.3 节 " 从软盘映像创建引导软盘" 说明如何将该映象复制到软盘。 在 MacOS 桌面,启动 Linux 安装进行需要双击 Penguin Prefs 图标,它位于 Penguin 目录。Penguin 引导将开始。进入到 Settings 项,它位于 File菜单,点击 Kernel 选项 卡。选择内核(vmlinuz)和 ramdisk (initrd.gz) 映象,它位于 install 目录,点击右上 角对应的按钮,引导文件选择对话框至文件。 为 Penguin 设置启动参数,选择 File -> Settings...,然后切换到 Options 选项卡。 启动参数可以写到文本区域。如果您要一直采用这些设置,选择 File -> 保存设置为默认 。 关闭 Settings 对话框,保存设置然后开始引导用 Boot Now 项,它位于 File 菜单。 Penguin 启动将输出一些调试信息到窗口。然后,屏幕变灰,会有数秒延迟。接着,带有 文本的黑屏出现,显示各种内核调试信息。这些信息可能滚动很快无法阅读,这是正常的 。再过一段时间,安装程序就会自动运行,您可以按下面步骤继续第 6 章使用 Debian 安 装程序。 5.1.2.4. 从 Q40/Q60 启动 FIXME 安装程序就会自动运行,您可以按下面步骤继续第 6 章使用 Debian 安装程序。 5.1.3. 从 CD-ROM 启动 目前唯一 Motorola 680x0 子体系结构支持 CD 光盘引导的是 BVME6000。 对于大多数人来说,最快的途径是使用一套 Debian CD 光盘套件。如果您有此套件,并且 如果您的机器支持直接 CD 引导,太棒了!只需要插入您的 CD,重启,然后继续下一章。 注意某些特定的 CD 驱动器需要一些特殊的驱动程序,由此他们可能在安装的早期不能被 访问。如果标准的从 CD 引导的方法不能用于您的硬件,阅读本章中关于其他种类的内核 以及安装方法,它们有可能能解决问题。 即便您不能从 CD 光盘引导,依然可以安装 CD 光盘上面的 Debian 系统组件和所有软件 包。只需要使用不同的媒介,比如软盘引导系统。当安装操作系统,基础系统和任意附加 的软件包时只需指向安装系统至光盘驱动器即可。 如果您遇到引导方面的问题,请参见第 5.3 节 "安装过程中的故障修复"。 5.1.4. 用 TFTP 引导 从网络引导需要您已经具备网络的连接和一台 TFTP 网络引导服务器(DHCP, RARP 以及 BOOTP)。 支持的网络引导安装方法在第 4.5 节 "为使用 TFTP 网络引导准备文件"。 在引导 VMEbus 系统后您应该看到 LILO Boot: 提示符。在提示符下输入以下一种方法来 引导 Linux,并开始在一个 vt102 仿真终端下面安装普通的 Debian 软件。 ● 输入 i6000 Enter 来安装 BVME4000/6000 ● 输入 i162 Enter 来安装 MVME162 ● 输入 i167 Enter 来安装 MVME166/167 您也可以附加一个字符串 TERM=vt100 来使用 vt100 终端模拟。比如, i6000 TERM=vt100 Enter 。 5.1.5. 从软盘引导 对于大多数 m68k 体系来说,推荐方法是从一个本地文件系统引导安装程序。 从软盘引导的方法目前只支持 Atari 以及 VME (VME 有一个 SCSI 软驱)。 5.2. 引导参数 引导参数是 Linux 内核的参数。一般用于确保外围设备能够正确地运行。对于其中的大多 数部分来说,内核可以自动检查外围设备的相关信息。但是在某些情况下,您可能需要给 内核一点小小的帮助。 如果这是您第一次引导系统,尝试缺省的引导参数(即:不要输入任何参数)并且检查是否 工作正确。大部分情况下应该是这样,如果不是,可以重新启动,并且检查需要告诉系统 什么样的特定参数。 有关很多引导参数的信息可以查看 Linux BootPrompt HOWTO,其中包括一些老旧硬件的解 决方法。这一节只描述一些最常用的基本参数。一些常见的问题描述见第 5.3 节 "安装过 程中的故障修复"。 当内核引导的时候,有一条消息 Memory:availk/totalk available 应该显示在引导过程的早期。其中 total 应该符合您内存的总量,单位为千字节。如果此 参数不符合您实际的内存总数,需要使用 mem=ram 参数。这里 ram 被设置为内存的数量 。如是"k"则为千字节,"m"为兆字节。例如,mem=65536k 和 mem=64m 标明 64MB 内存。 如果您通过一个串行控制台引导,一般来说内核将自动检测。如果您有一块显示卡 (framebuffer)和一块键盘,通过串口附加于想引导的计算机上面,也许需要传递 console =device 参数给内核,这里 device 是串口设备。通常类似于 ttyS0。 5.2.1. Debian 安装程序的参数 安装系统能识别一些比较有用的附加引导参数 ^[2],也许比较有用。 debconf/priority 这些参数设置将设置显示的信息为最低的级别。 缺省安装使用 debconf/priority=high 。这意味着高优先的和至关重要的信息将被显 示,但是中级和低级信息将被跳过。如果其间出现了问题,安装程序将按照要求调整 优先级别。 如果您加入 debconf/priority=medium 作为引导参数,将看到安装菜单以及安装过程 中更多的控制。当使用 debconf/priority=low,将显示所有的消息(这相当于采用专 家级引导方法)。通过 debconf/priority=critical,安装系统只会显示至关重要的信 息,并且尝试正确无误地执行各项事宜。 DEBIAN_FRONTEND 这个引导参数控制用于安装程序的用户界面的类型。当前可能参数设置可以是: ● DEBIAN_FRONTEND=noninteractive ● DEBIAN_FRONTEND=text ● DEBIAN_FRONTEND=newt ● DEBIAN_FRONTEND=slang ● DEBIAN_FRONTEND=ncurses ● DEBIAN_FRONTEND=bogl ● DEBIAN_FRONTEND=gtk ● DEBIAN_FRONTEND=corba 缺省的前端是 DEBIAN_FRONTEND=newt。DEBIAN_FRONTEND=text 可以用于串口控制台 的安装。一般来说在缺省安装介质上只有 newt 前端,因此目前这个并非很有用。 BOOT_DEBUG 设置引导参数为 2 会使记录更冗长一些。设置为 3 会在引导过程的特定位置调出 debug shell。(退出 shell 以后会继续引导过程。) BOOT_DEBUG=0 此为默认。 BOOT_DEBUG=1 更多的信息。 BOOT_DEBUG=2 大量的调试信息。 BOOT_DEBUG=3 在引导过程中,安装程序将在多处不同地方运行 Shell,以进行细节上的调试。 退出 Shell 将继续引导过程。 INSTALL_MEDIA_DEV 参数的值将为用来装入 Debian 安装程序的设备路径,例如: INSTALL_MEDIA_DEV=/ dev/floppy/0 引导映像通常会扫描所有的软盘和 USB 存储设备来找到根软盘。它也可以通过此参数 来只查找一个设备。 debian-installer/framebuffer 一些体系使用内核帧缓存以提供不同的语言安装。如果帧缓存在您的系统上面有问题 ,您可以通过参数 debian-installer/framebuffer=false 关闭这个特性。这方面问 题的特征是有关 bterm 或者 bogl 的错误信息,一个空白的屏幕,或者在开始安装几 分钟后停止。 在 Amiga 1200 and SE/30 上面报告过具有有这些方面的问题。 debian-installer/probe/usb 设置成 false 可以阻止在引导的时候进行 USB 探测来杜绝引起的问题。 netcfg/disable_dhcp 缺省情况下,debian-installer 会通过 DHCP 来自动检测网络。如果检测成功的话, 您将不需要审视并且改变其获得的设定。您可以在 DHCP 检测失败的情况下手工配置 网络。 如果您的网络上面具备一台 DHCP 服务器,但是不想使用它,比如,因为它给出错误 的答案。您可以使用参数 netcfg/disable_dhcp=true 来通过 DHCP 来配置网络并且 手工输入参数。 hw-detect/start_pcmcia 设置成 false 来阻止启动 PCMCIA 服务,如果其引起各种问题。有些笔记本电脑对此 会有错误的行为。 preseed/url 指定 url 到预设文件,在安装中自动下载和使用。参阅第 4.6 节 "自动化安装"。 preseed/file 指定路径至预设文件,加载自动化安装。参阅第 4.6 节 "自动化安装"。 ramdisk_size 如果您在使用 2.2.x 内核,也许需要设置 ramdisk_size=13000 。 5.3. 安装过程中的故障修复 5.3.1. 软盘的可靠性 对于用软盘安装 Debian 的人来说,他们遇到的最大的问题很可能是软盘的可靠性。 问题出现最严重的是糟糕的引导软盘,因为他们由硬件直接读出,然后才进入 Linux 引导 。很多情况下,硬件驱动的读取并不能像 Linux 软盘驱动读取那样可靠,并且对于读到错 误的数据,它们只是停止运行并且打印一条错误的消息。驱动软盘的错误只是打印出很多 有关的 I/O 错误。 如果您在特定的软盘上陷入麻烦,第一件要做的事情,是重新下载磁盘映像并且把它写到 另外一张软盘上。仅仅只是格式化老的软盘是不够的,有可能的话甚至要在别的统上重写 这些软盘。 一个用户报告过它不得不把映像往软盘写了三最后一次的软盘才算工作良好。 其他一些用户报告过用同样的软盘重新启动若干次才能有一次成功的引导。这都是因为硬 件或者有缺陷的固件软盘驱动程序造成的。 5.3.2. 引导配置 如果在引导过程中您遇到了问题或者内核挂起,不识别实际拥有的外围设备,或者驱动是 一个不被正确识别,首先要做的事情是检查引导参数,在第 5.2 节 "引导参数"。 如果引导的是您自己的内核,而不是安装程序提供的内核,请确定 CONFIG_DEVFS 已被设 置到内核。安装程序需要 CONFIG_DEVFS。 通常,可以通过移除外挂硬件或者外围设备来解决问题,然后再次重新引导 如果您的机器上装有多于 512M 的大容量的内存,并且安装程序在引导内核时停止,您可 能需要加入一个引导参数,来限制内核能够看的的内存数量,比如 mem=512m。 5.3.3. 内核起始信息注解 在引导期间,您可以看到很多信息类似 can't find something ,或者 something not present,can't initialize something ,或者甚至 this driver release depends on something 。大多数这些信息都是无害的。您之所以看到它们,是因为安装系统内核被设 计成为可以运行在不同的计算机,并且拥有不同的外围设备。显然地,没有一个计算机可 能拥有所有的外围设备,因此操作系统可能在查找一些您没有的设备上有一些报怨。有时 可以看到系统暂停了一段时间。这是由于它在等待一台设备的回应,但是这台设备并没有 安装在您的系统上。如果您发现这个时间非常长,您可以一会创建一个自己的内核(参见第  8.4 节 "编译新内核")。 5.3.4. Bug Reporter 如果您过了初始化引导,但还是不能安装,Bug Reporter 菜单选项可能会很有用。它复制 系统的错误记录和配置信息到一张用户提供的软盘。这个信息可能提供了一些关于错误的 起因和如何解决它的线索。如果您正在提交一个 bug 报告,您可以附上这个信息。 其他相关安装期间的安装信息可以在 /var/log/ 找到,以及在计算机已经引导至安装后的 系统的 /var/log/debian-installer/ 中。 5.3.5. 提交缺陷报告 如果仍有问题,请提交安装报告。即使安装成功,我们也鼓励您发一份安装报告,这让我 们可以尽可能多的了解硬件的配置数量。 请采用下列模板填写安装报告,并发邮件到 给 installation-reports 伪软件包发送 bug 报告。 Package: installation-reports Boot method: Image version: Date: Machine: Processor: Memory: Partitions: Output of lspci and lspci -n: Base System Installation Checklist: [O] = OK, [E] = Error (please elaborate below), [ ] = didn't try it Initial boot worked: [ ] Configure network HW: [ ] Config network: [ ] Detect CD: [ ] Load installer modules: [ ] Detect hard drives: [ ] Partition hard drives: [ ] Create file systems: [ ] Mount partitions: [ ] Install base system: [ ] Install boot loader: [ ] Reboot: [ ] Comments/Problems: 在 bug 报告内,请说明问题所在,包括内核挂起后最后见到的内核消息。说明进入问题状 态时您进行的步骤。 ━━━━━━━━━━━━━━ ^[2] 注意,内核最多可以接受 8 个命令行参数和 8 个环境变量选项(包括安装程序默认 使用的选项)。如果超出,2.4 内核会丢弃过多的选项,2.6 内核则会崩溃。 第 6 章 使用 Debian 安装程序 目录 6.1. 安装程序如何工作 6.2. 组件介绍 6.3. 使用单独的组件 6.3.1. 启动 Debian 安装程序与配置硬件 6.3.2. 分区与选择挂载点 6.3.3. 安装基本系统 6.3.4. 创建启动系统 6.3.5. 完成第一阶段 6.3.6. 杂项 6.1. 安装程序如何工作 Debian 安装程序由一些特定功能的组件组成,它们完成各自的安装任务。每一组件执行任 务时,会询问一些任务相关的问题。每个任务又有各自的优先级,可以在安装程序开始时 设置优先级决定哪些问题会问到。 执行默认安装时,只有必要的(高优先级)的问题会被问到。使得安装过程可以高度自动化 ,几乎不需用户干预。组件按次序字典执行;至于哪些组件会执行,这取决于您使用的安 装方法,以及您的硬件。对于没有询问的问题,安装程序将采用默认值。 如果遇到麻烦,用户会看到错误画面,并且显示安装菜单供选择其它替代操作。如果没有 问题,用户将不会碰到安装菜单,只需依此回答每个组件的提问。严重错误提示的优先级 为"critical",因此用户总会注意到。 如果在 debian-installer 开始的时候,给启动加上一些参数,它将会影响安装程序使用 的默认值。例如,假设您希望指定静态网络连接配置(如果存在 DHCP,将会被采用),您可 以为启动参数加上 netcfg/disable_dhcp=true。参阅第 5.2.1 节 "Debian 安装程序的参 数" 了解有效的选项。 熟练的用户也许更习惯菜单驱动的交互方式,安装中的每一步都可以被用户控制,而不是 让安装程序自动依此执行。要使用菜单驱动的手动安装方式,添加启动参数选项 debconf/ priority=medium。 如果您的硬件要求给出内核模块设置选项才能安装,您就需要使用 "expert" 模式启动安 装程序。可以通过使用 expert 命令或者添加 debconf/priority=low 启动参数。专家模 式赋予您对 debian-installer 完全的控制力。 正常的安装程序是基于字符界面的(相对于常见的图形界面)。在此环境下,用户无法使用 鼠标。以下是操作各种对话框所需要使用的按键。Tab 或右箭头键向"前"移动,Shift-Tab 或左箭头键向"后"移动,它们用于按钮和选择之间。上与下箭头键用于选择可以滚动的列 表,也能滚动列表本身。另外,对于长的列表,您可以按下一个字母,让列表直接移动到 该字母开头的列表项,使用 Pg-Up 和 Pg-Down 滚动列表的不同段。空格键选择复选框的 选项。用 Enter 激活选择。 错误信息被重定向到第三个控制台。您可以访问该控制台通过按下左 Alt-F3 (按住左 Alt 键同时按下 F3 功能键);返回主安装进程使用左 Alt-F1。 这些信息还可以在 /var/log/messages 里找到。完成安装之后,该 log 会被复制到 /var /log/debian-installer/messages 您的新系统中。其它的安装信息安装时可以在 /var/ log/ 找到。在 /var/log/debian-installer/ 是系统重新启动后的记录地方。 6.2. 组件介绍 下面列出安装程序使用的组件,和各个组件目的的简要说明。如果您需要了解各组件详细 的信息,见第 6.3 节 "使用单独的组件"。 main-menu 在安装进行中,显示组件列表,并执行选中的组件。主菜单的优先级设为中,如果您 的优先级设为高或紧急(默认为高),您不会看的菜单。另一方面,假如出现问题需要 您干预,询问的优先级会临时调低,而让您解决该问题,菜单可能在这种情况下出现 。 您可以通过不断地按"返回"按钮,从当前运行的组件回到主菜单。 languagechooser 显示语言与方言的列表。除非选中的语言没有被翻译,安装程序将以您选择的语言显 示信息。对于没有翻译的语言,将显示英文信息。 countrychooser 显示国家列表。用户可以选择自己生活的国家。 kbd-chooser 显示键盘列表,用户在其中选择与自己匹配的模式。 hw-detect 自动识别绝大多数系统硬件,包括网卡、硬盘和 PCMCIA。 cdrom-detect 寻找并挂载 Debian 安装 CD。 netcfg 配置计算机网络连接,使它能连上互联网。 iso-scan 寻找 ISO 文件系统,它可能存在于 CD-ROM 或者硬盘上。 choose-mirror 列出 Debian 软件包镜像。用户可以选择从哪里安装软件包。 cdrom-checker 检验 CD-ROM。这种方法确保用户使用的安装 CD-ROM 没有损坏。 lowmem 它会检测小内存容量的系统,并采用一些技巧从内存中删除 debian-installer 不需 要的部分 (代价是丧失一些特性)。 anna Anna's Not Nearly APT。安装软件包从选择的镜像或 CD 获取。 partman 让用户为系统安排磁盘分区,创建文件系统,并分配挂载点。它包括一些有趣的特性 ,如自动模式或 LVM 支持。在 Debian 里这是推荐的分区工具。 autopartkit 根据用户预设,自动为整个硬盘分区。 partitioner 允许用户为系统安排磁盘分区。根据用户计算机的体系选择和善的分区工具。 partconf 显示分区列表,按用户指令为选择的分区创建文件系统。 lvmcfg 帮助用户配置 LVM (Logical Volume Manager)。 mdcfg 让用户设置 Software RAID (Redundant Array of Inexpensive Disks)。Software RAID 是新主板提供的廉价 IDE (虚拟硬件) RAID 控制器的高级管理。 base-installer 安装一些基本的包,让计算机重起后能在 Linux 下运行。 os-prober 检测当前计算机上安装的操作系统,将信息传递给 bootloader-installer,使它能将 检测到的操作系统添加到 bootloader 的启动菜单里面。方便用户选择启动哪个操作 系统。 bootloader-installer 在硬盘上安装启动引导程序,这是必须的一步,使得计算机不必依靠软盘和 CD-ROM 启动。许多引导程序都允许用户在启动的时候选择使用哪个操作系统。 base-config 根据用户设置提供配置系统软件包的对话框。它通常在新 Debian 系统"首次运行"时 工作。 shell 让用户能从菜单或者第二控制台执行 shell。 bugreporter 当用户遇到麻烦时,提供一种方式记录信息到软盘,用于以后给 Debian 开发人员精 确报告安装程序的问题。 6.3. 使用单独的组件 本节将会描述各个安装组件的详细信息。各组件按用户可以识别的阶段分组。它们在安装 过程中按次序显示出来。注意,每次安装并不会使用所有的模块;至于使用哪些模块,取 决于您的安装方法和您的硬件。 6.3.1. 启动 Debian 安装程序与配置硬件 假设 Debian 安装程序已经启动,然后您看到了初始画面。此时,debian-installer 的能 力还很有限。它还不了解您的硬件,首选的语言,甚至不知道要执行什么任务。不用担心 ,因为 debian-installer 相当聪明,它能自动探测您的硬件,定位其余的组件,并更新 自己以具备安装系统的能力。但您仍然要协助 debian-installer,提供给它不能自动决定 的内容 (比如选择您首选的语言,键盘布局或网络镜像)。 您会留意到 debian-installer 在本阶段执行硬件侦测多次。第一次目的是指定哪些硬件 需要安装(比如,您的 CD-ROM 或者网卡)。在第一次运行的时候并不是所有的驱动程序都 就绪,硬件侦测会在后续过程里面多次重复。 6.3.1.1. 检测有效的内存 debian-installer 首先要做的一件事是检测有效的内存。如果内存有限,该组件将修改后 续的安装进程,使您可以将 Debian GNU/Linux 安装到您的系统上。 在小内存的安装下,只有部分组件有效。其中的一个限制是您无法在安装过程中选择语言 。 6.3.1.2. 选择语言 安装的第一步,选择您希望安装过程使用的语言。语言名称列表使用英文(左侧)和该语言 本身(右侧)显示;右侧的语言可以用正确的形态表现出来。该列表以英文名称排序。 您选择的语言将用于紧接着的安装过程,对话框已经有各种语言翻译的版本。如果选择的 语言没有对应翻译的版本,安装将默认使用英文。选择的语言也将助于选择一个合适的键 盘布局。 6.3.1.3. 选择国家 如果您选择的语言第 6.3.1.2 节 "选择语言"与多个国家关联(存在于中文,英文,法文, 以及其它语言),您可以在这里选择国家。如果您从列表的底部选择其它,您将看到按大洲 分组的全部国家。 在安装过程的后面,这个选择还会被用于设置默认的时区和您所处地理位置的 Debian 镜 像。如果安装程序默认的建议不合适,您可以做其它选择。选择国家,还有选择语言,都 会影响您新 Debian 系统的本地化设置。 6.3.1.4. 选择键盘 键盘经常按照不同语言使用的字符裁剪。选择一个您的键盘使用的合适布局,或者为没有 的布局选择一个接近的。一旦系统安装完毕,您可以从更大范围内您选择键盘的布局 (在 安装完之后用 root 执行 kbdconfig)。 将高亮显示部分移到您选择的键盘,然后按下 Enter。用箭头健移到高亮显示 -- 它们位 于所以国家键盘布局相同的地方,因此独立于键盘配置。'扩展的'键盘是有 F1到F10 健, 沿着上箭头。 6.3.1.5. 寻找 Debian 安装程序 ISO 映像 当安装是使用 hd-media 方式,将会有一个动作,是寻找和挂载 Debian 安装程序 iso 映 像,用于获取其它的安装文件。组件 iso-scan 正是用来完成此任务。 首先,iso-scan 自动挂载具有已知文件系统的块设备(比如,分区),然后顺次搜索文件名 结尾是 .iso (或 .ISO 之类)。注意,首次只扫描位于根目录的文件,和第一层子目录 (例如,它找到 /whatever.iso, /data/whatever.iso,而不是 /data/tmp/whatever.iso) 。在 iso 映象文件找到后,iso-scan检查它包含的内容,确定该映象文件是不是有效的 Debian iso 映象。如为前者,任务结束;如果是后者,iso-scan 搜索其它的映象。 万一前面尝试寻找 iso 映象失败,iso-scan 会询问您是否原意进行完整的搜索。这次不 只查看最上级目录,而是真正地贯串整个文件系统。 如果 iso-scan 找不到您的安装 iso 映象,请重新启动返回到您以前的操作系统,检查映 象文件名是否正确(以 .iso结尾),是否放在一个能被 debian-installer 识别的文件系统 上,是否损坏(用 checksum 校验)。有经验的 Unix 用户可以在第二个控制台上完成这些 动作,而毋须重新启动。 6.3.1.6. 配置网络 进到这一步,如果系统检测到您有多于一个的网络接口,您将被要求选择哪个设备是您的 主网络接口,比如,您在安装中要用的那个。其他的网络接口这时不会配置。您可以在安 装完毕之后去配置额外的接口;参考 interfaces(5) man 页。 默认情况下,debian-installer 会自动尝试使用 DHCP 配置您的计算机网络。如果 DHCP 侦测成功,这一步就完成。如果失败,造成的原因会有多种因素,从没有接网线到错误设 置的 DHCP。或者您的局域网里面根本就没有 DHCP 服务器。检查第三个控制台了解更多的 解释。不管怎样,您将被要求选择再试还是手动配置。DHCP 服务器有时候响应很慢,因此 ,如果您确定都正常,再试一次。 手动配置网络会依次询问一些您网络的问题,值得注意的是 IP 地址,网络掩码,网关, 域名服务器地址,和主机名。此外,如果您有无线网络接口,您会被要求提供您的 Wireless ESSID 和一个 WEP key。填写答案第 3.3 节 "一些有用的信息"。 注意 一些技术细节您也许需要,或者不需要,放在手边:程序假定网络 IP 地址是按位与您的 系统 IP 地址和网络掩码。它还会猜测广播地址是按位或您的系统 IP 地址和按位反网络 掩码。它也会猜测您的网关。如果您不能回答这些问题,让系统猜测 -- 您可以在系统安 装完毕之后来修改它们,如果需要,编辑 /etc/network/interfaces。另外一种选择,您 可以安装 etherconf,它用来一步步进行网络配置。 6.3.2. 分区与选择挂载点 现在,经过最后的硬件检测,debian-installer 已经充满活力,按照用户定制,准备就绪 。正如本节标题指明,接下来组件的主要任务是为您的硬盘分区,创建文件系统,安排挂 载点,并为近似选项进行配置,比如 LVM 或 RAID 设备。 6.3.2.1. 硬盘的分区 现在是时候对您的硬盘进行分区了。要是您对分区还有心存疑虑,或者只是想了解更多的 细节,请参阅附录 B, 为 Debian 准备分区。 首先您可以选择对整块硬盘或是其上的空闲空间进行自动分区。这也被称为 "向导式" 分 区。倘若您不愿自动分区,那么也可以选择菜单中的手动编辑分区表。 倘若您选择了向导式分区,那么就要从下表所列的几个方式中选择其一。每个方式都各有 利弊。在附录 B, 为 Debian 准备分区中对它们中的几个有些评价。如果您没有把握,请 选择第一个选项吧。有一点要记住,就是使用向导式分区至少需要一定大小的空闲空间才 能正常运作。如果您没有给它 1GB 以上的空间(具体大小示所选的方式而不同),那么向导 式分区将以失败告终。 ┌──────────────────┬────────────┬────────────────────────────────┐ │ 分区方式 │所需最小空间│ 所新建的分区 │ ├──────────────────┼────────────┼────────────────────────────────┤ │所有文件在同一分区│600MB │/, swap │ ├──────────────────┼────────────┼────────────────────────────────┤ │桌面用机 │500MB │/, /home, swap │ ├──────────────────┼────────────┼────────────────────────────────┤ │多用户工作站 │1GB │/, /home, /usr, /var, /tmp, swap│ └──────────────────┴────────────┴────────────────────────────────┘ 在选定了分区方式后的下一个界面,您会看到关于自己分区的一张表格,上面标明了分区 是否将被格式化,将以何种方式格式化,以及它们将被挂载到哪里的相关信息。 分区表格的格式如下: IDE1 master (hda) - 6.4 GB WDC AC36400L #1 primary 16.4 MB ext2 /boot #2 primary 551.0 MB swap swap #3 primary 5.8 GB ntfs pri/log 8.2 MB FREE SPACE IDE1 slave (hdb) - 80.0 GB ST380021A #1 primary 15.9 MB ext3 #2 primary 996.0 MB fat16 #3 primary 3.9 GB xfs /home #5 logical 6.0 GB ext3 / #6 logical 1.0 GB ext3 /var #7 logical 498.8 GB ext3 #8 logical 551.5 GB swap swap #9 logical 65.8 GB ext2 本例中有两块硬盘,它们分别被分割成了几个分区。其中,第一块硬盘上还有些空闲空间 。表中,每行列出了分区编号、其类型、分区大小、可选的标志、采用的文件系统,及其 挂载点(如果有的话)。 接下来,向导式分区就要完成了。如果您对上面生成的分区信息表感到满意,那么请在菜 单中选择分区设定结束并将修改写入磁盘一项,这样,新的分区表就创建了(本节节末将会 对此进行解释)。如果您认为分区设置不如愿,那么可以选择撤销对分区设置的修改,之后 就可以再次进行向导式分区,或者按照下面将要介绍的手动分区的办法来完成自己所设想 的分区规划。 如果您选择了手动分区的话,它的界面和上面介绍的向导式分区大体上相同。不同之处在 于,界面上显示的是您当前的分区列表,而且其中并没有挂载点的信息。关于如何手动设 置您的分区表,以及新安装的 Debian 系统将如何使用这些分区,这些内容将会在本节的 后面谈到。 倘若您选用的是一块全新的硬盘,它还没有被分过区,上面也没有空闲空间。那么系统会 要求您新建一个分区表(只有这样,您才能创建新的分区)。分区表建好之后,在被选中的 磁盘条目下会出现一个新行,上面写着 "空闲空间"。 如果您选中了某块空闲空间,那么就可以在上面新建分区了。接着需要回答一系列简短的 问题,它们会就分区大小、类型(主分区还是逻辑分区)、以及分区的位置(在空闲空间的开 始部分还是在结束部分)向您询问。回答完毕后,您会看到一个小结,它详尽地总结了这个 新分区的各种参数和设置,包括挂载点、挂载选项、启动标志或者分区的用途。如果您不 喜欢预设的缺省设置的话,尽可以按照自己的喜好更改它们。比如说,选中 Use as: 选项 ,然后您可以让这个分区改用其他的文件系统,比如把它用作交换分区、软 RAID、LVM, 或者根本就放着不用。另外还有个不错的功能,就是可以把现有分区的数据拷贝到新分区 上。一旦您对新分区的设置感到满意了,就可以选择 Done setting up the partition, 然后会自动退回到 partman 的主界面。 若是您希望修改分区的设置,只要选中该分区,分区的配置菜单就会出现在您的面前。由 于这个界面和新建分区时使用的界面是相同的,所以您可以像以前那样修改那些设置项。 有一件事,可能第一眼看不大出来,就是您还可以通过选中显示分区大小的项目来调整分 区的大小。已知适用的文件系统至少有 fat16、fat32、ext2、ext3 和 swap。在这个菜单 中,您还可以删除分区。 请确保至少分出两个分区:其中一个作为 root 文件系统(它必须挂载到 /)另一个用于 swap。若是您忘记了挂载根(root)文件系统的话,partman 会拒绝让您继续下面的步骤, 直到您改正了这个错误。 由于 partman 的功能是通过安装本套件的各模块功能得以延伸和扩展的,但是具体又因您 的系统的体系架构而有所区别。因此,如果您发现安装的实际情况与我们所言不符,缺少 了某些功能特性,那么请检查一下,确保已加载了所有必须的模块(比如,partman-ext3, partman-xfs 或者 partman-lvm)。 在您对分区设置感到满意后,就可以选择分区菜单中的分区设定结束并将修改写入磁盘一 项。在这之后,会出现一个清单,它列出了即将在硬盘上进行的所有操作。此时,安装程 序会让您确认是否就照此分区。 6.3.2.2. 配置逻辑卷管理(LVM) 如果您做计算机系统管理员工作或者 "高级" 用户,您一定遇到过磁盘分区(经常是最重要 的那个)空间不足,同时其他的分区却不能平衡使用,然后您不得不靠移到或符号链接等方 法来折腾。 为了避免上面描述的情况,您可以采用逻辑卷管理(LVM)。简而言之,使用 LVM 您可以组 合您的分区(物理卷,LVM 术语) 形成一个虚拟盘(称为卷组),它可以被分割成虚拟分区( 逻辑卷)。逻辑卷(当然下面是卷组)的亮点在于它可以跨越多个物理磁盘。 当您认识到需要给更多的空间给您已有的 160 GB /home 分区时,您只需加一个新的 300GB 磁盘到计算机,添加进您已经存在的卷组,然后为 /home 分区的逻辑卷重新设置尺 寸,然后 voila -- 您的用户在更新的 460GB 分区上又有了空间。这个例子当然过于简单 。如果您还还没有读过,您应该查阅 LVM HOWTO。 在 debian-installer 里面设置 LVM 很简单。首先,您必须为 LVM 标记您的分区为物理 卷。(这由 partman 在分区设置菜单完成,那里您应该选择用做:->LVM 物理卷。)接着开 始 lvmcfg 模块(可以直接从 partman 或从 debian-installer 的主菜单) 然后组合物理 卷到卷组,它位于修改卷组(VG)菜单。之后,您应该为卷组创建逻辑卷,这是从菜单修改 逻辑卷(LV)。 从 lvmcfg 返回 partman之后,您可以看到新建的逻辑卷与其他普通的分区一样(您也应该 这样对待它们)。 6.3.2.3. 配置多磁盘设备(Software RAID) 如果您有多于一个的硬盘^[3] 安装在您的计算机上,您可以用 mdcfg 配置硬盘以提升效 能和/或更好的数据可靠性。这种结果称为多磁盘设备 MD(或者更有名的 software RAID) 。 MD 本质上是一束位于部分磁盘上的分区,组合在一起形成一个逻辑设备。该设备可以像正 常的分区一样使用(比如可以用 partman 格式化,分配挂载点,等等)。 您得到的好处取决于您创建的 MD 类型。当前支持: RAID0 它的主要目标是效能。RAID0 将进来的数据分割成 stripes 然后平均分配到组里面的 每个硬盘上。这样可以提升读/写操作速度,但是一旦其中的一个硬盘损坏,您将丢失 一切 (部分信息在好盘上,其他的曾经在坏盘上)。 典型的 RAID0 应用是视频编辑分区。 RAID1 适用于可靠性作为优先考虑的场合。它由多个(通常两个)相同尺寸的分区组成,每个 分区容纳相同的数据。这意味着三件事。第一,如果其中的一个损坏,您仍然有数据 镜像在其余的磁盘上。第二,您只能使用现有容量中的碎片 (更准确的说,它是 RAID 中尺寸最小的磁盘分区)。第三,文件读取在磁盘间负载平衡,这可以提升服务器的性 能,如文件服务器,它倾向于读的负载大于写。 可选择的是,您可以用备用的磁盘放在组中,用于顶替事故中损坏的磁盘。 RAID5 这是一个速度、可靠性和数据冗余都不错的折衷方案。RAID5 将进来的数据分割成 strips (类似于RAID0)但只平均分配到一个磁盘上。与 RAID0 不同,RAID5 还会计算 奇偶校验信息,这将会写入其他磁盘。奇偶检验磁盘不是静态的(那被称为 RAID4), 会周期性的修改,所以奇偶校验信息平均分配到所有磁盘。当其中的一个磁盘损坏, 丢失信息的部分可以从其他数据以及奇偶校验计算出来。RAID5 最少需要三个活动的 分区。作为选项,您可以用备用的磁盘放在组中,用于顶替事故中损坏的磁盘。 如您所见,RAID5 近于 RAID1 的可靠性并具有较少冗余。另一方面,它只比 RAID0 在写入的时候慢,这是因为要计算校验信息。 总结: ┌─────┬────────┬────────┬────────────────┬────────────────────────────────────┐ │类型 │最少设备│备用设备│幸免于磁盘损坏?│ 可用空间 │ ├─────┼────────┼────────┼────────────────┼────────────────────────────────────┤ │RAID0│2 │否 │否 │容量为最小分区乘以 RAID 设备数 │ ├─────┼────────┼────────┼────────────────┼────────────────────────────────────┤ │RAID1│2 │可选 │是 │容量为 RAID 最小分区 │ ├─────┼────────┼────────┼────────────────┼────────────────────────────────────┤ │RAID5│3 │可选 │是 │容量为最小分区乘以(RAID 设备数量减 │ │ │ │ │ │一) │ └─────┴────────┴────────┴────────────────┴────────────────────────────────────┘ 如果您想真正全面了解 Software RAID,看一下 Software RAID HOWTO。 为了创建 MD 设备,您需要将期望的分区标记为供 RAID 使用。(通过 Partition settings 菜单的 partman 完成,您应该选择 Use as:->physical volume for RAID。) 警告 在安装程序中支持 MD 是相对新的功能。如果您尝试结合一些 RAID 类型与启动引导器并 将 MD 用于根(/)文件系统,您也许会经历一些挫折。对有经验的用户,从 shell 手动地 处理一些配置和安装步骤,也许会绕开这些问题 下一步,您应该从 partman 主菜单选择 Configure software RAID。在 mdcfg 第一个画 面选择 Create MD device。您将看到被支持的 MD 设备列表,您应从其中选择一项(如 RAID1)。后续操作会根据您选择的 MD 类型而定。 ● RAID0 是简单的 -- 您会看到可用的 RAID 分区,然后您的任务仅是选择那些想要组 成 MD 的分区。 ● RAID1 需要一些技巧。首先,您将要求输入组成 MD 的活动设备和备用设备数量。其 次,您需要从 RAID 可用分区列表中选择哪些是活动分区,哪些是备用的。选择的分 区总数必须与之前提供的数目相同。不必担心,如果您出错选择了不同的分区数, debian-installer 将不会允许您继续下去,直到纠正错误。 ● RAID5 的配置过程类似于 RAID1,只是您至少需要三个活动分区。 完美的解决方案或许是同时使用不同的 MD 类型。例如,您有三块 200 GB 的硬盘打算用 于 MD,没块包含两个 100 GB 的分区,您可以将三块硬盘上的第一组分区组成 RAID0 (高 速的视频编辑分区),其余的三个分区(2 个活动 1 个备用) 用于 RAID1 (相当可靠的 100 GB 分区用于 /home)。 按您需要配置 MD 设备之后,您可以结束 mdcfg 返回到 partman 去创建文件系统到您的 新 MD 设备并分配挂载点这样的属性。 6.3.3. 安装基本系统 尽管这一阶段少有问题,但却需要大量时间用于整个基本系统的下载、校验和解包。如果 您用较慢的计算机或网络连接,这要花费好一会儿时间。 6.3.3.1. 基本系统安装 在基本系统安装期间,软件包解包和配置信息重定向到 tty3。您可以访问该终端通过按下 左 Alt-F3;返回主安装进程使用左 Alt-F1。 基本系统安装时解包/配置信息保存在 /var/log/messages 这是在安装程序通过串口控制 台执行的情况下。 作为安装的一部分,Linux 内核也要安装。在默认的优先级下,安装程序会选择一个与您 硬件最匹配的内核。在较低的优先级下,您可以从列表中选择一个有效的内核。 6.3.4. 创建启动系统 如果您是安装无盘工作站,显然,从本机启动是没有意义的选项,这一步可以跳过。 注意,从单机上启动多个操作系统仍然是黑色艺术。本文档无意描写各种启动引导器,它 们会依系统甚至是子系统而变化。您应该参考启动引导器的文档了解更多信息。 6.3.4.1. 检测其他的操作系统 在启动引导器安装之前,安装程序会试着侦测已经安装到计算机上的其他操作系统。如果 它找到支持的操作系统,您将在启动引导器安装步骤里得到提示,与 Debian 一起,计算 机也将配置为可以启动其他操作系统。 注意,从单机上启动多个操作系统仍然是黑色艺术。自动支持检测和设置启动引导器启动 其他操作系统,会依系统甚至是子系统而变化。如果它不能工作,您应该参考启动管理器 的文档了解更多信息。 注意 当安装程序检测操作系统的时候,如果分区已经挂载,检测可能会失败。这可能是由于您 使用 partman 选择的挂载点(如 /win)包含其他操作系统,或者通过控制台手动挂载一个 分区。 6.3.4.2. 不使用启动引导器继续进行 该选项用于完成安装而不安装引导器,这种情况要么是体系/子体系不支持,要么是因为不 想要(比如,您想使用已经存在的引导器)这个选项对 Macintosh,Atari 和 Amiga 系统特 别有用,因为它们本来的操作系统必须在机器上维护,以用于启动 GNU/Linux。 如果您打算手动设置 bootloader,需要检测安装的内核,它位于 /target/boot。您还需 要检测 initrd 存在的目录;如果有,也许需要指导 bootloader 使用它。其他需要的信 息,包括您为 / 文件系统选择的磁盘和分区,并且,如果您打算安装 /boot 到一个独立 的分区,还需要 /boot 文件系统。 6.3.5. 完成第一阶段 这是在您启动新 Debian 之前的最后一些工作。主要进行一些 debian-installer 之后的 清理。 6.3.5.1. 完成安装并重启 这是安装 Debian 进程的最后一步。您会被提醒拿出用于安装启动的媒介(CD,软盘等)。 安装程序将做最后几分钟的任务,然后启动到您的新 Debian 系统。 6.3.6. 杂项 这里的组件通常不在安装进程之内,但会在后台待命,以帮助用户遇到麻烦时处理问题。 6.3.6.1. 保存安装记录 如果安装成功,安装过程中创建的记录文件会被自动保存到 /var/log/debian-installer/ 在您的新 Debian 系统上。 从主菜单上选择保存调试记录允许您将记录文件保存到软盘上。这是用于安装过程中遭遇 严重错误的时,您想在其它系统上研究记录,或者用于报告的附件。 6.3.6.2. 使用 Shell 查看记录 有一个 Execute a Shell 菜单项。如果没有菜单,想使用 shell 要按左 Alt-F2 (在 Mac 键盘上,Option-F2) 切换到第二个虚拟控制台。就是同时按下 Alt 健,它位于空格健的 左手边,和 F2 功能键。另外一个单独的窗口运行着 Bourne shell 的克隆 ash。 因为这时您是从 RAM 盘启动,只有有限的 Unix 工具可以使用。您可以通过命令 ls /bin /sbin /usr/bin /usr/sbin 和键入 help 查看哪些程序可以使用。文本编辑器是 nano。 该 shell 有一些好用的特性,如自动完成与历史纪录。 使用菜单完成它们能完成的工作 -- shell 和命令只在出错的时候使用。尤其要使用菜单 ,而不是 shell 去激活您的交换分区,因为菜单软件无法检测到您在 shell 做的工作。 如果您用菜单打开的 shell,按下左 Alt-F1,或者键入 exit 返回菜单。 6.3.6.3. 通过网络安装 更好玩的一个组件是network-console。它可以让您使用 SSH 通过网络完成大部分安装工 作。使用网络也就是您要用控制台完成第一阶段,或者至少先建立网络。(您可以使用第  4.6 节 "自动化安装" 做这部分工作。) 该组件默认不会加载到安装主菜单,因此必须单独指定。如果使用 CD,您需要使用 medium 优先级或者打开安装主菜单并选择 Load installer components from CD,在额外 的组件列表里面选择 network-console: Continue installation remotely using SSH。 加载成功后会出现一个新的菜单项,名为 Continue installation remotely using SSH。 选择新菜单项之后,您会被问到新密码用于连接到安装系统,以及确认。就这些。现在您 应该看到一个画面,提示您使用 installer 用户远程登录,密码就是刚才您提供的。另外 一个需要留意的重要细节,是屏幕上显示的该系统的 fingerprint。您需要安全地传输该 fingerprint 给"那些要继续远程安装的人"。 当您决定继续本地安装时,不断地按 Enter,就可以返回主菜单,之后可以选择其他的组 件。 现在转到网线的另一端。有一个先决条件,您需要配置您的终端使用 UTF-8 编码,因为安 装系统使用这种编码。如果您不这样做,远程安装也可以进行,但是您可能看到奇怪的显 示,比如破碎的对话框边界,或者不可读的非 ASCII 字符。与安装系统建立连接只需键 入: $ ssh -l installer install_host 其中 install_host 是安装计算机的名字或 IP 地址。正式登录之前,会显示远程系统的 fingerprint,您需要确认是否正确。 注意 如果您依次安装多台电脑,他们碰巧使用相同的 IP 地址或主机名,那么 ssh 将拒绝连接 。造成的原因是它具有不同的 fingerprint,这通常是欺骗攻击的标志。如果您确信不是 那种情况,需要删除 ~/.ssh/known_hosts 里面相关的行,再重新来过。 登录之后您将看到一个初始画面,显示有两个可能,Start menu 和 Start shell。前一个 将带您到安装主菜单,那么您可以像普通方式一样安装。后一个打开一个 shell,您可以 检查修复远程的系统。在安装菜单只能打开一个 SSH 会话,但 shell 可以打开多个。 警告 使用 SSH 开始远程安装之后,您不该返回本地控制台运行的安装会话。这将破坏新系统配 置的数据库。结果可能导致安装失败或者安装完成的系统出现问题。 另外,如果您在 X 终端下运行 ssh 会话,也不要改变窗口大小,它可能会造成连接中止 。 6.3.6.4. 在 debian-installer 之内运行 base-config 在安装程序的第一阶段(从硬盘启动之前),chroot 环境下执行 base-config,也可以配置 基本系统。但这主要是用来测试安装程序,通常应该避免使用。 ━━━━━━━━━━━━━━ ^[3] 其实,您可以从单个物理硬盘上不同分区创建 MD 设备,但这样做不会给您带来任何 用处。 第 7 章 启动进入新 Debian 系统 目录 7.1. 关键时刻 7.1.1. BVME 6000 启动 7.1.2. Macintosh 启动 7.2. Debian 启动之后(基本)设置 7.2.1. 配置您的时区 7.2.2. 设置用户和密码 7.2.3. 设置 PPP 7.2.4. 配置 APT 7.2.5. 软件包安装 7.2.6. 软件安装过程中的命令 7.2.7. 配置您的邮件传输代理(MTA) 7.3. 登录 7.1. 关键时刻 当您系统首次依靠自己启动,这在电子工程师圈子里面称为 "冒烟测试"。 如果您直接从 Debian 启动,但系统没有起来,这时要么使用原来的安装启动媒介,要么 用您拥有的自定义启动软盘,然后重新启动系统。这种情况下,您也许需要添加一些启动 参数,像 root=root,其中 root 是您的根分区,例如 /dev/sda1。 7.1.1. BVME 6000 启动 如果您是采用无盘方式安装到 BVM 或 Motorola VMEbus 机器上:一旦系统从 TFTP 服务 器加载 tftplilo 程序,在 LILO Boot: 提示符下输入: ● b6000 然后按 Enter 启动 BVME 4000/6000 ● b162 然后按 Enter 启动 MVME162 ● b167 然后按 Enter 启动 MVME166/167 7.1.2. Macintosh 启动 进入包含安装文件的目录,然后启动 Penguin 引导器,按住 command 键。进入设置对话 框(command-T),然后定位到内核选项那行,如 root=/dev/ram video=font:VGA8x16 或近 似的。 您需要修改入口为 root=/dev/yyyy。替换 yyyy 为您安装分区的 Linux 名称(例如,/dev /sda1); 早先记下的内容。video=font:VGA8x8 特别建议小屏幕的用户使用。内核会选择 较美观的 (6x11) 字体,但该字体的控制台驱动会造成宕机,因此使用 8x16 或 8x8 对于 该阶段较安全。您可以随时修改它。 如果您不想每次启动时立即启动 GNU/Linux,去除 Auto Boot 选项。保存设置到 Prefs 文件,使用 Save Settings As Default 选项。 现在选择 Boot Now (command-B) 启动新安装的 GNU/Linux,而不是 RAMdisk 安装系统。 Debian 应该启动,然后您将看到与安装系统同样的讯息,跟着是一些新讯息。 7.2. Debian 启动之后(基本)设置 启动之后,您将被提示去完成基本系统的设置,然后选择您希望安装的额外软件包。指导 您完成此过程的应用程序称为 base-config。它的概念类似于 debian-installer 的第一 阶段。事实上,base-config 由一些特殊的元件组成,每个元件完成一项设置任务,包括 "在后台隐藏菜单" 并使用同样的导航系统。 如果您希望在完成安装之后重新运行 base-config,请以 root 身份执行 base-config。 7.2.1. 配置您的时区 欢迎画面之后,您将看到提示要求设置您的时区。首先选择设置您的系统硬件时钟为本地 还是格林威治时间(GMT或UTC)。对话框里面显示的时间可以帮您做出正确的选择。 Macintosh 硬件时钟通常设置为本地时间。如果您想多重启动,选择本地时间而不是 GMT 。 基于安装开始时选择的地理位置,您将看到系统只列出与该位置相关的单一或者有限的时 区列表。如果只列出一个时区,选择是确认或者选择否从完整列表中去选择。当列表显示 出来,从其中选择您的时区,或者选择其他列出完整列表。 7.2.2. 设置用户和密码 7.2.2.1. 设置 root 密码 root 帐户也被称为超级用户系统中的所有的安全防护措施对超级用户身份登陆者都是无效 的。root 帐户应该仅用来进行系统管理,而且使用时间应该尽可能短。 您所创建的任何密码都应该包含至少 6 个字符,同时包含大小写字母,并且最好带有标点 符号等特殊字符。因为超级用户具有最高权限,因此在您设置 root 密码时尤其需要小心 。请避免采用能够在字典中查到的单词或者很容易猜测的个人信息。 如果他人向您索取您的 root 密码,您也需要特别谨慎。除非您所管理的系统有多位管理 员,否则您通常不应该将超级用户密码交给别人。 7.2.2.2. 创建一个普通用户 系统会询问您现在是否希望创建一个普通帐户。您将使用该帐户进行日常登陆操作。切记 ,平时不要使用 root 帐户登陆或者将其作为个人帐号使用。 为什么呢?避免使用 root 特权帐户的一个原因是,它很容易对系统造成无法挽回的破坏 。另一个原因是,您有可能被恶意诱使运行特洛伊木马程序 -- 这是一种利用您的超级用 户权限在您未知的情况下损害您的系统安全的程序。任何合格的 Unix 系统管理书籍中都 会涉及到这一主题 -- 如果您不是很了解这方面的内容,建议您找一本进行学习。 您首先会被要求输入用户的全名。然后要求输入用户帐号名;通常名或者类似的便满足要 求,并为缺省值。最后,您将要求输入该帐号的密码。 如果在安装完毕后您还希望建立其它新帐户,请使用 adduser 命令。 7.2.3. 设置 PPP 如果您的计算机没有连上网络,接下来您将会被问到是否希望使用 PPP 安装其余的系统。 PPP 是通过调制解调器建立拨号连接的协议。如果您现在需要配置调制解调器,安装系统 将下载一些额外的软件包,或者在安装的下一阶段从互联网安全更新。如果您的计算机没 有调制解调器,或者希望安装完之后再配置调制解调器,您可以跳过这一节。 为了配置 PPP 连接,您需要从互联网服务器提供商(ISP)那里了解一些信息,包括电话号 码,用户名,口令和 DNS 服务器(可选)。一些 ISP 为 Linux 发行版提供安装指引。您可 以使用这些信息,即使他们并不是针对 Debian,这是因为在 Linux 发行版之间,大多数 的配置参数(和软件)都类似。 如果您选择在现在配置PPP,应用程序 pppconfig 将帮助您完成后续工作。记住,当程序 提示您输入拨号连接名称时,您应该输入 provider。 如果顺利,pppconfig 能够引导您快速完成设置。否则,您需要继续查看下面的具体命令 介绍。 在开始之前,您需要了解在GNU/Linux中的文件查看和编辑的基础知识。要查看一个文件, 您可以使用 more,和 zmore 查看后缀为 .gz 的压缩档。例如:要察看 README.debian.gz,您可以键入命令 zmore README.debian.gz。最小安装的系统中带有一 个使用简单但功能略少的编辑器,叫 nano。您也可以后续安装其它功能强大的编辑器如 jed, nvi, less,和 emacs。 编辑 /etc/ppp/peers/provider 并替换 /dev/modem 为 /dev/ttyS# 其中 # 取决于您的 Modem串口号。在Linux下,串口是从0开始计数的,您的第一个串口就叫 /dev/ttyS0 。如 果您在Macintoshes上,那么modem端口是 /dev/ttyS0 打印机的端口是 /dev/ttyS1。下一 步是编辑 /etc/chatscripts/provider 然后插入提供商的电话号码,您的用户与口令。请 勿删除 "\q" 它出现在口令后面。用来隐藏您的口令,而不出现在日志文件里面。 许多拨号提供商现在使用PAP或CHAP作为认证方法来取代最初的文本模式认证。部份ISP两 者都采用,如果您的ISP需要PAP或CHAP,您需要按如下步骤进行配置:将文件中拨号字串 下的所有内容注释掉(即从 "ATDT") 在 /etc/chatscripts/provider同样也注释掉 /etc/ ppp/peers/provider 文件中拨号字串下的内容,并添加 user name 其中 name 指的是您 在ISP的拨号用户。然后编辑 /etc/ppp/pap-secrets 或 /etc/ppp/chap-secrets在其中填 入您的密码。 您还需要编辑 /etc/resolv.conf,将您的ISP的域名服务器 (DNS) 的 IP 地址填写进去。 /etc/resolv.conf 里面内容的填写格式应该是: nameserver xxx.xxx.xxx.xxx 这里的 x 是DNS的 IP 地址。作为可选项,您也可以在 usepeerdns 中添加 /etc/ppp/peers/ provider ,这样系统能够在必要的时候选择适当的 DNS 服务器。 除非您的 ISP 的登陆方式与其它主要 ISP 有极大的差异,否则这样就配置完成了。以 root的身份键入 pon 就能打开 PPP 连接,plog 能够监控当前连接,要断开连接,则同样 是以root身份执行 poff。 阅读 /usr/share/doc/ppp/README.Debian.gz 可以获取更多Debian上的PPP配置信息。 对于静态SLIP连接来说,您需要加上 slattach 命令(从 net-tools 软件包)到 /etc/ init.d/network。动态 SLIP 要求 gnudip 软件包。 7.2.3.1. 配置 PPP over Ethernet (PPPOE) PPPOE 是与 PPP 相关的协议,用于宽带连接。当前基本系统里面不会帮您配置建立。然而 ,相应的软件包已经安装,也就意味着您可以在本阶段手动配置 PPPOE,只需切换到 VT2 ,然后执行 pppoeconf。 7.2.4. 配置 APT 本节的重点是 apt-get,这是一个人们用来安装各种软件的程序,它被包含在 apt 软件包 中。^[4] 其他的包管理前端程序,像 aptitude,synaptic 和较早的 dselect 也是使用 并依赖 apt-get。这些前端软件推荐新用户使用,因为它们在良好的用户界面下集成了一 些其他特性(搜索包与状态检验)。 您必须配置 APT,使它明白该从哪里获取软件包。有一个帮助您完成这一工作的程序叫 apt-setup。 然后该告诉 APT 其它软件包可以在什么地方获取。您可以在安装完毕后的任何时候重新运 行 apt-setup进行配置,或者手工编辑 /etc/apt/sources.list。 如果此时驱动器内放有官方发布的 CD-ROM,那么 CD-ROM 将会被自动配置为 apt 源,而 不会有提示。您可以发现系统会扫描您的光盘。 对于那些没有官方发布光盘的使用者,有一列选项会让您选择如果获取软件包: FTP、 HTTP、CD-ROM 或者本地文件系统。 您完全可以添加多个不同的 APT 源(甚至是同一 Debian 存档也可以)。apt-get 会自动挑 选出软件包中的最新版本。例如,如果您同时使用 HTTP 和 CD-ROM 的 APT 源,apt-get 会在有新版本的时候采用 HTTP 源,没有新版本时自动采用 CD-ROM 源。虽然 APT 非常智 能化,但仍然不建议您增加不必要的 APT 源,因为这会大降低检查网络存档中的新版本软 件的速度。 7.2.4.1. 配置网络软件包源 如果您计划通过网络安装系统的其它部分,通常的作法是选择 http 源。当然,ftp 源也 是可以的,只是在连接时会略慢一些。 接下来您需要告诉 apt-setup 您生活在哪个国家。Debian会为您选择最近的官方 Debian 网络镜像。根据您选择的国家,程序会列出一些可能的服务器列表。通常选择最上面的一 个,但所有服务器应该都是正常可用的。之后,进行测试,如果您发现任何问题,您应该 选择另外一个。请注意,服务器列表是在发行 Debian 时生成的,在发行与您安装的这段 时间内,一些镜像也许不在存在。 选择镜像之后,您将会被问到是否需要使用代理服务器。代理服务器是用来转发您通过 HTTP 和/或 FTP 访问互联网的服务器,通常在公司网络里用来调节和优化访问互联网。在 一些网络中只能通过代理服务器访问互联网,因此您不得不输入代理服务器名称。您也可 能还要输入用户名和口令。大多数的家庭用户毋须设置代理服务器,这是因为一些 ISP 会 提供。 选择镜像之后,系统会测试您的网络软件包源。一切正常的话,程序会提示您是否想要配 置其它的网络源。如果您的软件包源有问题,可以尝试不同的镜像站点(从您的国家列表中 或者全体列表)或者使用不同的网络软件包源。 7.2.5. 软件包安装 接下来,您将看到 Debain 事先配置好的一些软件包。您可以逐个选择哪些需要安装到您 的新系统上。这是 aptitude 程序的目的,后面会说明。但这可能是一项艰巨的任务,因 为有 14700 个软件包存在于 Debian 中。 所以,您可以先选择 tasks ,然后再单独添加软件包。task 松散地代表了您要在计算机 上从事的一系列工作,比如 "desktop environment", "web server"或者 "print server" ^[5]。第 C.3 节 "各软件集所需的磁盘空间" 列出各任务所需的空间。 一旦您选择了任务,选择 Ok。此时,aptitude 将安装您选中的软件包。 注意 注意,即使您没有选择任何任务,但标准的、重要的,或者系统优先级要求的软件包将被 安装。该功能相当于执行 tasksel -ris 在命令行下,当前包括下载一个大约 37M 的包。 您会看到将要安装的一系列软件包,以及软件包的大小,在需要时它们会被下载。 如果您想基于软件包安装软件包,选择位于 tasksel 的 "manual package selection" 选 项。如果您选择该选项旁的一个或多项任务,aptitude 将以 --visual-preview 选项执行 。意思是您可以检查^[6] 那些将要安装的软件包。如果您不选择任何任务,通常 aptitude 画面会打开。作出选择之后,您按下 "g" 开始下载安装软件包。 注意 如果您选择 "manual package selection" 而不选择任务,默认不会安装任何软件包。这 就是说,如果您希望安装一个最小系统,并且您的系统(启动之前)不需要选择安装任何软 件包,可用使用该选项。 在 14700 的 Debian 软件包中,只有少数被任务安装器涵盖。为了了解更多软件包的信息 ,使用 apt-cache search search-string 查找搜索字符串(参考 apt-cache(8) man 页), 或者执行 aptitude 下面有说明。 7.2.5.1. 高级软件包选择 aptitude Aptitude 是管理软件包的流行软件。aptitude 允许您选择单独的软件包,匹配给定标准 的软件包(针对高级用户),或者整个任务。 最基本的绑定键是: ┌────────┬──────────────────────────┐ │ 按键 │ 动作 │ ├────────┼──────────────────────────┤ │Up, Down│上下移到选项。 │ ├────────┼──────────────────────────┤ │Enter │打开/关闭/激活项目。 │ ├────────┼──────────────────────────┤ │+ │标注要安装的软件包。 │ ├────────┼──────────────────────────┤ │- │标注要删除的软件包。 │ ├────────┼──────────────────────────┤ │d │显示软件包依赖关系。 │ ├────────┼──────────────────────────┤ │g │实际下载/安装/删除软件包。│ ├────────┼──────────────────────────┤ │q │关闭当前视图。 │ ├────────┼──────────────────────────┤ │F10 │激活菜单 │ └────────┴──────────────────────────┘ 查看更多的帮助请按 ? 键。 7.2.6. 软件安装过程中的命令 您通过 tasksel 或 aptitude 选择的每个软件包,都是由 apt-get 和 dpkg 程序下载、 解包并安装的。部份特殊的软件在安装过程中需要用户提供更多的信息,在这一过程中会 有相关提示。您需要留意该过程的屏幕输出,以判断安装中是否存在错误(尽管通常情况下 如果一个软件包无法安装,您会收到一个明确的错误信号)。 7.2.7. 配置您的邮件传输代理(MTA) 今天,电子邮件已经成为很多人生活中不可或缺的部份,所以,Debian 让您在安装过程中 配置邮件传输代理,并不是件奇怪的事。Debian 中的标准邮件传输代理是 exim4。这是一 个非常小巧、灵活并且容易理解的工具。 您可能会问,我的电脑并没有连接到网络上,是否也需要做这一步工作呢?简短的答案: 是。稍长一些的解释:部份系统工具(比如 cron, quota, aide 等)的重要通知都是通过邮 件发送的。 所以,在第一个屏幕上您可以看到几个常见的邮件配置方案。请选择一个最适合您需求的 。 互联网站 您的系统被连接到网络上,并且您通过 SMTP 直接收发邮件。在接下来的几页中,程 序会询问您一些基本问题,如:您的机器的邮件名称、您接受或转发邮件的域等等。 用 smarthost 发信 在这个方案中,您的外发邮件将被另一台我们称之为 "smarthost"主机转发,由它来 完成实际的邮件发送工作。Smarthost 通常也能存放将要投递到您的电脑上的邮件, 因此您并不需要永远在线。也就是说,您必须通过诸如 fetchmail 之类的程序将邮件 从 smarthost 下载回来。这一选项通常适合拨号用户。 仅在本地投递 您的系统并未连接网络,而且邮件仅仅在本地用户间传递时。即使您不打算发送任何 邮件,我们也建议您选择此选项,因为部份系统工具可能随时会发送一些警告信息(比 如:可爱的 "Disk quota exceeded")。由于选择此项后不需要回答任何问题,因此这 一选项也非常适合新手。 现在不进行配置 除非您真的知道这是在干什么,否则请不要选择这一选项。这会留下一个未配置的邮 件系统 -- 在您再次配置它之前,您都无法收发任何邮件,并且可能会错过一些系统 工具发来的重要信息。 如果以上的方案都不适合您的需求,或者您需要一个更好的配置,在安装完毕后,您可以 编辑 /etc/exim4 目录下的配置文件。您还可以在 exim4下找到更多关于 /usr/share/doc /exim4 的资料。 7.3. 登录 安装完软件包以后,您会看到登录提示符。使用您选择的登录用户名和密码。您的系统现 在就能使用了。 如果您是新用户,您也许希望开始使用后可以浏览已经安装到系统上的文档。当前多个文 档系统,由不同类型的文档组成。这里是一些出发点。 伴随程序的文档安装在 /usr/share/doc/,并在程序名命名的子目录下。例如,APT 用户 指南是关于 apt 安装其他的程序到系统,位于 /usr/share/doc/apt/guide.html/ index.html。 另外,还有一些特殊的目录位于 /usr/share/doc/ 组织里。 Linux HOWTOs 以 .gz 格式 安装,放在 /usr/share/doc/HOWTO/en-txt/。安装 dhelp之后,可以浏览 /usr/share/ doc/HTML/index.html 文档索引。 一种查看文档简易的方法是 cd /usr/share/doc/,然后键入 lynx 后面是空格加一个点 (点是指当前目录)。 您也可以键入 info command 或 man command 在去查看大多数的命令行下的命令。键入 help 将显示 shell 命令的帮助。键入命令后面加上 --help 通常会显示命令用法的简短 摘要。如果命令的结果滚动超出屏幕顶端,键入 | more 于命令之后,可以让输出暂停在 滚出顶端屏幕。查看某子母开始的所有可用命令,键入该子母,再是两个 tab。 了解更多的 Debian 和 GNU/Linux,请参阅 /usr/share/doc/debian-guide/html/ noframes/index.html。 ━━━━━━━━━━━━━━ ^[4] 事实上,真正用来安装软件包的程序是 dpkg。但这是一个比较低层次的工具。 apt-get 是一个高级工具,它可以在适当的时候执行 dpkg ,还知道在安装某个软件包时 自动安装所需的其它软件包,并且能够从您的光盘、网络或其它地方下载它们。 ^[5] 您应该知道,代表这个列表,base-config 仅是执行 tasksel 程序。手动选择安装 软件包,aptitude 程序被调用。安装之后的任何时候,只要需要安装(或者删除)更多的软 件包,它都被调用。如果您寻找特定的软件包,当安装完成后,只需执行 aptitude install package, 其中 package 是您需要的软件包名。 ^[6] 您可以修改这项默认选择。如果您希望选择额外的软件包,使用 View->New Package View. 第 8 章 下一步该干什么 目录 8.1. 如果您不熟悉 Unix 8.2. 让您自己转向 Debian 8.2.1. Debian 软件包系统 8.2.2. 应用程序版本管理 8.2.3. 定时任务管理 8.3. 更多信息 8.4. 编译新内核 8.4.1. 内核映象管理 8.1. 如果您不熟悉 Unix 如果您不熟悉 Unix,您也许应该出去买些书来读。还可以从 Debian Reference 找到到大 量有用的信息。Unix 常见问题解答中包含了大量的 Usenet 文档,它提供过去很有用的参 考。 Linux 是 Unix 的一种实现。Linux 文档计划 (LDP) 收集了大量的 HOWTO 和 Linux 的在 线书籍。这些文档绝大部分可以在本地安装;只要安装 doc-linux-html 包(HTML 版本)或 者 doc-linux-text包(ASCII 版本),然后在 /usr/share/doc/HOWTO 里面就能找到。在 Debian 软件包里面也提供 LDP HOWTO 的国际化版本。 8.2. 让您自己转向 Debian Debian 和其它的发行版有些不同。即使您熟悉其它发行版的 Linux,您也应该了解 Debian 的一些东西,以便保持您的系统处在整洁良好的状态。本章包的材料可以帮助您转 向;但这并不是一个如何使用 Debian 的入门指南,而仅仅是对整个系统的一个粗略的介 绍。 8.2.1. Debian 软件包系统 要掌握的最重要概念是 Debian 的软件包系统。事实上,您系统的绝大部分都应该由软件 包系统来控制。包括: ● /usr (除了 /usr/local) ● /var (您可以创建 /var/local,在那里面进行安全的操作) ● /bin ● /sbin ● /lib 例如,如果您替换了 /usr/bin/perl,它可以正常工作,但以后升级了您的 perl 软件包 ,那个文件仍将被替换回来。有经验的用户可以将软件包设置为 "hold"状态,以避免这种 情况,这需要使用 aptitude。 apt 是最好的安装方法之一。您可以使用命令行模式的 apt-get 或者全屏幕文本模式的 aptitude。注意 apt 也可以让您合并 main,contrib 以及 non-free 版本的软件包,从 而使您可以在使用标准版本的同时使用限制出口的软件包。 8.2.2. 应用程序版本管理 可选版本的应用程序可以通过 update-alternatives 来管理。如果您维护着多个版本的应 用程序,请参阅 update-alternatives 的 man 手册。 8.2.3. 定时任务管理 任何系统管理员权限内的任务都必须位于 /etc 内,这是因为它们都是配置文件。如果您 有一些需要以管理员身份每天(daily),每周(weekly)或每月(monthly)运行的定时任务, 请将它们放置在 /etc/cron.{daily,weekly,monthly} 中。它们将在 /etc/crontab 中被 激活,然后按照文件名的字典顺序依次运行。 另一方面,如果您有某个定时任务需要以某个特定的用户身份运行,或者需要在某个特定 时刻或以特定周期运行,您或者可以使用 /etc/crontab 或 /etc/cron.d/whatever,而后 者会更好一些。这些特殊的文件可以包含一个额外的域,允许您指定运行该定时任务的用 户帐户。 在任何情况下,您只需编辑这些文件,cron 将会自动处理它们。没有必要再运行某个特殊 的命令。欲了解更多的信息,请参阅 cron(8),crontab(5),以及 /usr/share/doc/cron/ README.Debian。 8.3. 更多信息 如果您想查阅某个程序的更详细资料,应该先试试 man 程序名称,或者 info 程序名称。 在 /usr/share/doc 目录里有很多有用的文档,特别是 /usr/share/doc/HOWTO和 /usr/ share/doc/FAQ 里有很多值得一读的文章。如果您想提交错误报告,请先查阅这些文件: /usr/share/doc/debian/bug*。针对某个程序,其有关于 Debian 的内容可以查阅文件: /usr/share/doc/(package name)/README.Debian。 在 Debian 网站上有大量的 Debian 相关文档。尤其要看看 Debian GNU/Linux FAQ 和 Debian Reference。更多的 Debian 文档位于 Debian Documentation Project。Debian 社区是靠用户们自己的力量支撑起来的; 如果您想要订阅 Debian 的邮件列表,请访问 Mail List Subscription 页面。最后,相当重要的,Debian Mailing List Archives 包 含了 Debian 丰富的信息。 在 GNU/Linux 世界里,最常用的文档资料来源是: Linux 文档计划项目。在这里您可以 找到有关于 GNU/Linux 系统各个部分的非常有价值的 HOWTO 文档以及其他指导。 8.4. 编译新内核 为什么有些人想要编译新内核? Debian 自带的默认内核已经包含了绝大部分配置,所以编 译新内核并不是必需的。并且,Debian 提供了多个内核供选择。所以您应该先确认一下, 有没有适合您硬件的内核映像软件包存在。然而,基于下列理由,编译新内核还是很有用 的: ● 支持某些特殊的硬件,或者默认的内核配置和某些硬件冲突 ● 使用某些不为所提供的内核支持的选项 (例如,支持 high memory) ● 通过删除无用的驱动程序来优化内核,以减少启动时间 ● 创建整体的而不是模块化的内核 ● 运行最新的内核或开发中的内核 ● 深入了解 linux 内核 8.4.1. 内核映象管理 不要害怕尝试编译内核。它很有趣而且很合算。 为了以 Debian 的方式编译内核,您需要一些软件包: fakeroot,kernel-package, kernel-source-2.4.27(此文档写作时最新的版本) 以及其它一些您可能已经安装过的软件 包(完整的列表请参阅 /usr/share/doc/kernel-package/README.gz)。 此方法将从您的内核源码创建一个 .deb 文件,并且,如果您有非标准模块,将同时创建 它们的同步依赖 .deb 文件。这是一个管理内核的较好的方法; /boot 目录将保存内核, System.map,以及当前编译的活动配置文件的日志。 注意您不一定要以 "Debian 方式"编译内核;但我们发现使用软件包系统来管理您的内核 ,确实可以更加安全和易用。事实上,您可以直接从 Linus 那里而非 kernel-source-2.4.27,得到内核源码,并仍使用 kernel-package 的编译方法。 注意您可以找到完整的文档,通过使用 kernel-package 它在 /usr/share/doc/ kernel-package里。本节只包含一个简单的入门指南。 此后,我们假设您具有操作您机器的权力,可以将内核源码解压到您的 home 目录^[7]。 我们还假设您的内核版本是 "2.4.27。确定您处于打算解开内核源码的目录,然后使用 tar xjf /usr/src/kernel-source-2.4.27.tar.bz2 解压,并进入 kernel-source-2.4.27 刚才创建的目录。 现在,您可以开始配置您的内核了。如果您已经安装配置好,并正在运行 X11,请执行 make xconfig;否则请执行 make menuconfig(必须已经安装好 libncurses5-dev)。请花 点时间阅读在线帮助并仔细地作选择。如果有疑问,通常来说包含您所不确定的设备驱动 程序 (用来管理硬件外设的软件,例如以太网卡,SCSI 控制器等) 会比较好一点。注意: 对于与特殊硬件无关的其它选项,如果您不了解它们,最好保持默认值。不要忘记选择 "Kernel module loader" 中的 "Loadable module support" (它们默认并没有被选择)。 否则,您的 Debian 安装将会遇到问题。 清除源码树并复原 kernel-package 参数。也就是使用 make-kpkg clean。 现在,开始编译内核: fakeroot make-kpkg --revision=custom.1.0 kernel_image。其 中版本号 "1.0" 可以随便您修改;它仅是一个用来跟踪您的内核编译的版本号。同样地, 您也可以用任何您喜欢的单词替换 "custom" (例如,您的主机名称)。编译内核可能要花 费较长的时间,这取决于您的机器的性能。 一旦编译完成,您就可以像安装其它软件包一样安装您的内核。以 root 身份,执行 dpkg -i ../kernel-image-2.4.27-subarchitecture_custom.1.0_m68k.deb。其中 subarchitecture 部分是一个可选的子结构,这取决于您所设置的内核选项。dpkg -i kernel-image... 将安装内核以及其它的一些支持文件。例如 System.map 可能会被安装 (用来辅助调试内核问题),/boot/config-2.4.27 也将被安装,它包含了您当前的配置。 新的 kernel-image-2.4.27 软件包将会自动地使用您的系统上的启动引导器来更新引导区 ,因此您不必重新运行启动引导器即可引导系统。如果您创建了一个模块软件包,例如 PCMCIA,您也必须同时安装该软件包。 下面到了重启系统的时刻了;请仔细阅读前述步骤所产生的所有警告信息,然后执行 shutdown -r now。 欲获得关于 kernel-package 的更多信息,请参阅 /usr/share/doc/kernel-package。 ━━━━━━━━━━━━━━ ^[7] 可以在其他目录解开内核源码并编译自定义内核,但是不需要额外的权限是最简单的 方式。 附录 A. 安装指南 目录 A.1. 前言 A.2. 安装套件的引导 A.2.1. CDROM A.2.2. 软盘 A.2.3. 从网络启动 A.2.4. 从硬盘启动 A.3. 安装 A.4. 请给我们发一份安装报告 A.5. 末了...... 本文介绍了如何在 Motorola 680x0 ("m68k") 架构的计算机上,使用新版的 debian-installer 安装 Debian GNU/Linux sarge。这是一次对安装过程的走马观花式的 简介,但是它应该囊括了大多数情况下您进行安装所必须的信息。当有必要获得更多信息 时,我们会有相应的较详尽的说明文档 Debian GNU/Linux安装指南。 A.1. 前言 如果您在安装时碰到程序出错,请参考第 5.3.5 节 "提交缺陷报告" 回报错误。倘若本文 档不能够回答您所有的疑问,那么请带着这些问题去 debian-boot 的邮件列表 (debian-boot@lists.debian.org)问问看,或者您也可以在 irc (即 freenode 站点的 # debian-boot 频道)上直接提问。 A.2. 安装套件的引导 Debian-cd 小组在 Debian CD 页上提供了使用 debian-installer CD 映像的已编译版本 。如果您需要了解有关如何得到这些 CD 的更多信息,请看第 4.1 节 "官方的 Debian GNU/Linux 光盘套装"。 有些安装方法需要其它种类的映像而非 CD 的映像。第 4.2.1 节 "在哪里能找到安装映像 " 会告诉您如何在 Debian 的映像站点找到那些映像文件。 下面小节会就每种可能的安装方法,具体讲授如何获得所需的映像文件。 A.2.1. CDROM 现在有两种不同的 netinst CD 映像可以用来通过 debian-installer 安装 sarge。这些 映像文件是被用来刻成光盘的。然后让电脑从光盘启动,再由安装程序从网络上下载安装 其它的软件包。"netinst"的名字由此得来。两种映像的区别在于,在完整版的 netinst 映像上包含了基本的软件包,而使用名片版的映像安装则需要从网络上下载它们。如果喜 欢的话,您可以下载一个标准大小的 CD 映像文件,用它的话就可以不借助网络安装了。 这只需要一套光盘中的第一张就行了。 您想用哪种办法装,就下载相应的映像文件,再把它刻成光盘。 A.2.2. 软盘 如果您无法从 CD 启动,不妨下载一些软盘的映像文件,用它们来安装 Debian。这时,您 需要 floppy/boot.img 和 floppy/root.img,也许还要那些驱动盘中的某一张。 启动软盘就是其上存有 boot.img 的一张软盘。当使用这张盘启动时,它会提示您插入第 二张软盘 --,这时请使用里面存有 root.img 的那张盘。 倘若您计划从网络安装,一般来说,您就要准备好 floppy/net-drivers.img,这里面包含 了许多种以太网卡的驱动程序,同时它还加入了对 PCMCIA 的支持。 假如您有光驱,但是不能从它启动,那么您可以从软驱启动,再用存在驱动盘里的 floppy /cd-drivers.img 来接着完成基于光盘的安装。 软盘是最不可靠的存储介质之一,因此您最好有碰到许多坏盘的准备(请参看第 5.3.1 节 "软盘的可靠性")。您所下载的每个 .img 文件其实就是一张软盘。您可以用 dd 命令把它 写到 /dev/fd0,也可以用其他方法来做这件事(具体细节请参看第 4.3 节 "从软盘映像创 建引导软盘" )。既然您将会弄出好几张软盘,不妨给它们做上标签吧。 A.2.3. 从网络启动 要完全从网络上启动(即 netboot) debian-installer 也是可行的。而具体采取哪种方法 来从网络启动,这取决于您的硬件架构和网络启动的相关设置。在 netboot/ 目录里的文 件是用来从网络启动 debian-installer 的。 A.2.4. 从硬盘启动 除了从移动介质启动安装套件,其实从手中现有的安装了其它操作系統的硬盘启动也是可 行的。把 hd-media/initrd.gz、hd-media/vmlinuz 和一个 Debian CD 映像文件下载到硬 盘最底层的目录里。请确保这个 CD 映像文件的文件名是以 .iso 结尾的。接下来的问题 就是用 initrd 启动 linux 了。 A.3. 安装 一旦安装套件开始运行后,会有一个初始画面迎接您。要启动的话,请按 Enter;也可以 先看一下其它的启动方式以及各种参数(参阅第 5.2 节 "引导参数")。 再过一会儿,您就会可以选择您所使用的语言了。用上下箭头键来选择一门语言,然后摁 Enter 继续下面的步骤。接下来,您要选择您的国家,选项里包括了那些使用您所选语言 的国家。如果在那个稍短的列表里找不到您要找的国家,还有一个含有世界上所有国家的 列表以备选择。 您还可能被要求确认一下您的键盘布局(keyboard layout)。请选择缺省的那个,除非您清 楚更合适的布局。 现在可以坐下来,松口气,休息一下了。这时 debian-installer 会侦测您的一部分硬件 ,并从 CD、软驱、USB 或其它设备里把它的其余部分加载进系统。 接下来,安装程序会想办法侦测您和网络相关的硬件,再用 DHCP 完成网络的设置。如果 您没有连接网络,或是没有用 DHCP,那么您也可以手动配置网络。 好,现在该对您的硬盘分区了。首先,您可以选择对整个驱动器或是驱动器上的空闲空间 进行自动分区。我们推荐新手或者手头有急事的朋友使用自动分区。不过要是您不想用自 动分区的话,请在菜单中选择手动分区。 在接下来的界面里,您可以看到自己有关分区的一张表,上面标出了各分区将以何种方式 格式化,以及它们将来的挂载点在何处。要修改分区的设置或是删除分区,可以先选中它 ,再进行操作。如果您先前选择的是自动分区,那么您现在只要选分区结束, 使用自动分 区的设置即可。有一点,请不要忘记至少要分配一个分区作为交换空间,还有必须把一个 分区挂载到 /上。附录 B, 为 Debian 准备分区有更多关于分区方面的信息。 现在 debian-installer 会把您的分区格式化,然后安装基系统。这两步会花些时间。接 着,它会安装内核。 最后一步就是安装 boot loader 了。如果安装程序发现您的计算机还安装有其它的操作系 统,它会把它们加入启动菜单,并通知您。 debian-installer 现在会告诉您安装已经完成了。把光盘从光驱里取出或者取下其它启动 介质,然后敲一下 Enter 就可以重新启动您的机器了。重启后,它会进入安装过程的下一 个阶段,在第 7 章启动进入新 Debian 系统有对它的详尽说明。 如果您想要更多的安装过程相关信息,请看第 6 章使用 Debian 安装程序。 A.4. 请给我们发一份安装报告 如果您用 debian-installer 安装成功,请抽空给我们写一份报告。在新装好的系统里,/ root 目录下有一个名为 install-report.template 的模板文件。请填写内容,并把它作 为 installation-reports 软件包的 bug 报告发送回来,具体操作,见第 5.3.5 节 "提 交缺陷报告"。 如果您到不了 base-config 这一步,或者碰到了其它的麻烦,那么您也许发现了一个 debian-installler 的错误。要改进安装程序,就很有必要让我们知道这些异状,因此, 请抽空把这些错误报告给我们。您也可以使用 installation report 来回报错误。如果安 装彻底失败了,请参看第 5.3.4 节 "Bug Reporter"。 A.5. 末了...... 我们祝愿您的 Debian 安装顺利愉快,并希望您能发现 Debian 在您这里的用武之地。还 有您也许可以读一下第 8 章下一步该干什么。 附录 B. 为 Debian 准备分区 目录 B.1. 决定 Debian 分区以及大小 B.2. 目录树 B.3. 推荐的分区方案 B.4. Linux 里面的设备名称 B.5. Debian 分区程序 B.1. 决定 Debian 分区以及大小 最小化情况下,GNU/Linux 需要一个分区。您可以有一个包含整个操作系统,应用程序以 及您私人数据的分区。大多数人感到一个分离的交换分区也是很有必要的,尽管它并非严 格要求。"Swap" 是一个操作系统用的空白空间,允许系统使用磁盘来提供 "虚拟内存"。 通过放置交换空间至一个分离的分区,Linux 可以非常有效地使用它。强迫 Linux 使用一 个普通文件作为交换空间也是可行的,但是并不推荐这种做法。 但是大多数人选择给 GNU/Linu 更多的分区。这里有两个原因使您愿意把系统放置到一些 较小的分区上。第一个问题是安全性。如果文件系统出现了问题,一般来说只是一个分区 会受到影响。因此,您只需要更换(来自于您小心维护的备份)一个分区。在原始最小化阶 段,您应该考虑创建所谓的 "根分区"。它含有最基础的系统组件。如果其它分区出现了问 题,您仍然可以引导至 GNU/Linux 来修复系统。这个可以让您不用从头重新安装系统。 第二个理由对商业设置来说更重要,但它实际上取决于您机器的使用。比如,一个邮件服 务器接受到很多垃圾邮件会很快填满一个分区,如果您创建 /var/mail在一个分离的分区 上面,大多数系统在您得到太多垃圾邮件的情况下会继续工作。 使用更多分区的唯一缺点很难知道您将来的需求。如果您建立了一个分区容量太小,则您 将或者重装系统或者不停地移动数据来给分区分配空间。在另外一个方面,如果您建立的 分区过大,您将浪费一些可以用在别的地方的空间。磁盘容量目前很便宜,但是为什么您 要把金钱随意抛洒呢? B.2. 目录树 Debian GNU/Linux 依照文件系统层次标准 (Filesystem Hierarchy Standard) 安排文件 以及文件命名。这个标准允许用户以及软件程序预测文件以及目录的位置。根层次目录只 是简单表现为 /。在根层次,所有的 Debian 系统包括这些目录: ┌─────┬───────────────────────────────────┐ │目录 │ 内容 │ ├─────┼───────────────────────────────────┤ │bin │基础命令执行文件 │ ├─────┼───────────────────────────────────┤ │boot │启动引导器的静态链结文件 │ ├─────┼───────────────────────────────────┤ │dev │设备文件 │ ├─────┼───────────────────────────────────┤ │etc │主机特定的系统配置 │ ├─────┼───────────────────────────────────┤ │home │用户活动目录 │ ├─────┼───────────────────────────────────┤ │lib │基本共享库以及内核模块 │ ├─────┼───────────────────────────────────┤ │media│包含移动介质的挂载点 │ ├─────┼───────────────────────────────────┤ │mnt │用于临时挂接一个文件系统 │ ├─────┼───────────────────────────────────┤ │proc │系统信息的虚拟目录(2.4 和 2.6 内核)│ ├─────┼───────────────────────────────────┤ │root │根用户的活动目录 │ ├─────┼───────────────────────────────────┤ │sbin │基本的系统级程序 │ ├─────┼───────────────────────────────────┤ │sys │系统信息的虚拟目录(2.6 内核) │ ├─────┼───────────────────────────────────┤ │tmp │临时文件 │ ├─────┼───────────────────────────────────┤ │usr │第二层次 │ ├─────┼───────────────────────────────────┤ │var │活动数据 │ ├─────┼───────────────────────────────────┤ │opt │附加的应用程序软件包 │ └─────┴───────────────────────────────────┘ 下面列出关于目录和分区的重要考虑。要注意磁盘的使用随系统配置和特定用途有很大变 化。这里所推荐的是通用指引,提供一个分区的起点。 ● 根分区 / 必须总是物理地包含 /etc,/bin,/sbin,/lib 以及 /dev,否则您将不能 引导。典型的 root 分区需要 150-250MB 大小空间。 ● /usr:包含所有的用户程序(/usr/bin),库文件(/usr/lib),文档(/usr/share/doc) ,等等。这是文件系统需要最多的空间的部分。您需要提供至少 500MB 磁盘空间。总 容量的增长依据您要安装的软件包数量和类型。大的工作站或服务器安装应该需要 4-6 GB。 ● /var:所有的可变数据,如新的文章,电子邮件,网站,数据库,软件包系统的缓存 等等,将被放置入这个目录。这个目录的大小取决于您对计算机的使用,但是对于大 多数人来说将主要用在软件包系统的管理工具。如果您准备一次性地做一个完整的安 装,包含 Debian 提供的所有程序,/var 下面 2 或 3GB 的空间应该满足需求。如果 您准备逐次安装(也就是,安装服务程序和工具,然后是文本处理工具,然后是 X ,...),您可以在 /var 下准备 300--500 MB。如果硬盘空间很紧张,并且您不准备 做主要的系统升级,您可以为 /var 配置 30-40MB 大小。 ● /tmp: 程序创建的临时数据大都存到这个目录。通常 40-100 MB 应该足够。一些应用 程序 -- 包括档案处理器,CD/DVD 制作工具,和多媒体软件 -- 可能会使用 /tmp 临 时保存映像文件。如果您要使用这些程序,应该依据需要调整 /tmp 目录的大小。 ● /home:每个用户将放置他的个人数据到这个目录的子目录下。其大小取决于有多少用 户将使用系统和有什么文件放在他们的目录下。取决于您计划的使用量,您应该为每 个用户准备 100MB 空间,不过这个值应该迎合您的需求。假如您的 home 目录计划保 存大量的多媒体文件(MP3,电影),您该预备更多的空间。 B.3. 推荐的分区方案 对于新用户,个人 Debian 系统,家庭系统以及其它单用户配置来说,一个单一 / 分区 (加上交换分区)可能是最容易的方案。但是如果您的分区大于6GB,请选择 ext3 作为您的 分区类型。ext2 分区需要周期性的系统完整性检查并且当分区很大的时候,这个特性将导 致引导期间的延迟。 对于多用户系统或者有很多磁盘空间的系统,最好放置 /usr, /var, /tmp, 以及 /home 到每个他们自己的分区空间以和 / 分区分离开来。 当您计划安装许多不是 Debian 分发版本的程序的时候,您也许需要运行一个独立的 /usr /local 分区。如果您的机器是一个小的邮件服务器,您也许需要为 /var/mail 建立一个 独立的分区。通常情况下放置 /tmp 至它独立的分区,比如20至50MB是一个好主意。如果 您正在配置一个服务器带有放多用户帐户,通常需要一个独立的大 /home 分区。一般来说 ,分区状况对每台计算机都有所不同,这取决于他们的用途。 对于非常复杂的系统来说,您应该阅读 Multi Disk HOWTO。其中包含了很多对于 ISP 以 及配置服务器的用户很有用的高级信息。 在交换分区大小方面,这里有很多观点。我们的建议是使用和内存大小相同的交换分区。 在大多数情况下它也应该不小于16MB。当然,这里有一些例外。如果您正在尝试在一个有 256MB 内存的机器上解决10000 个联立方程式,您也许需要 1G (或者更多)的交换分区。 在另外一个方面,Atari Falcons 以及 Macs 会对交换感到很痛苦,因此建立一个大的交 换分区不如获得尽可能多的 RAM 。 在 32 位体系结构(i386, m68k, 32位 SPARC 以及 PowerPC)下,最大尺寸的交换分区是 2GB。这应该基本满足任何安装情况。但是如果您的交换分区需求非常大,您应该尝试分离 交换分区至不同磁盘中(这也叫做 "spindles" ),并且如果可能的话,不同的 SCSI 或者 IDE 通道。内核将在多个交换空间平衡用量来达到更好的性能。 作为一个例子,在一个较老的家用机器上,可能具有 32MB 内存以及一个在 /dev/hda 上 1.7GB 的 IDE 驱动器。这里 /dev/hda1 上是一个 500MB 的分区用于其它操作系统,一个 32MB 交换分区在 /dev/hda3,以及一个 1.2GB 分区 /dev/hda2 用于 Linux 分区。 对于不同任务所需要多大的空间的概念,您也许对于安装系统后加入的安装感兴趣,请检 查第 C.3 节 "各软件集所需的磁盘空间"。 B.4. Linux 里面的设备名称 Linux 磁盘以及分区名称可能和其它的操作系统有所不同。您需要知道 Linux 用于创建以 及挂接分区的设备名称。这里是基本的命名方案: ● 第一个软盘驱动器被命名为 /dev/fd0。 ● 第二个软盘驱动器被命名为 /dev/fd1。 ● 第一个 SCSI 驱动器 (SCSI ID 反向地址) 被命名为 /dev/sda。 ● 第二个 SCSI 驱动器 (反向地址) 被命名为 /dev/sdb,等等。 ● 第一个 SCSI 光盘驱动器被命名为 /dev/scd0,也叫 /dev/sr0。 ● 主 IDE 驱动器下的主磁盘被命名为 /dev/hda。 ● 第二个控制器的主磁盘和从磁盘会分别被叫做 /dev/hdb。 ● 第二个控制器的主磁盘和从磁盘会分别被叫做 /dev/hdc 以及 /dev/hdd,较新的 IDE 控制器实际上有两个通道,扮演着两个控制器的角色。字母可能和 mac 程序 pdisk 显示有所不同。(在 pdisk 上的 /dev/hdc 可能在 Debian 中显示为 /dev/hda)。 ● 第一个 ACSI 设备被命名为 /dev/ada ,第二个则是 /dev/adb。 每个磁盘的分区名的显示,是通过在磁盘名称后面附加一个十进制数字: sda1 以及 sda2 表示您系统里第一个 SCSI 磁盘驱动器的第一个和第二个分区。 这里有一个具体的例子。假设您有一个系统带有两个 SCSI 磁盘,一个 SCSI 地址是 2 并 且另外一个地址是 4。第一个磁盘(在 2 上)会被命名为 sda并且第二个是 sdb。如果 sda 驱动器有 3 个分区,它们将被命名为 sda1,sda2,以及 sda3。这同样适合 sdb 及其分 区。 注意如果您有两个 SCSI 主机总线适配器(控制器),设备的顺序可能会比较混乱。最好的 解决方案是观察引导信息,假设您知道驱动器模式以及/或者容量。 VMEbus 系统使用的 TEAC FC-1 SCSI 软盘驱动器将被看成正常的 SCSI 磁盘。为了让驱动 器辨认更强容易安装软件将创建一个符号链接至合适的设备并且称为 /dev/sfd0。 B.5. Debian 分区程序 Debian 开发人员配置了几种在不同硬盘和不同体系结构上的分区程序。下面是一个适合您 的结构的程序列表。 partman 推荐的 Debian 分区工具。这个小而全的工具可以修改分区大小,创建文件系统以及 联系分区至挂接点。 atari-fdisk Atari 版本的 fdisk。 amiga-fdisk Amiga-aware 版本的 fdisk。 mac-fdisk Mac-aware 版本的 fdisk。 pmac-fdisk PowerMac 的 fdisk版本,同时也用于 BVM 以及 Motorola VMEbus 系统。 当您选择对硬盘进行分区时,程序之一将会运行。如果缺省运行的那个非您所希望,退出 分区程序,在 shell (tty2) 下按下 Alt 以及 F2,并且手工输入您想使用的程序名称(以 及可能的参数)。然后跳过对硬盘进行分区步骤至 debian-installer 并继续进行下一步。 如果您的 ide 磁盘上会超过多过 20 个分区,您将需要为 21 以上的分区创建设备。除非 有正确的设备存在,否则下一步初始化分区将失败。作为一个例子,这里列举了相关的命 令,让您可以在 tty2 中使用或者在运行一个 Shell 下加入一个设备文件,令第 21 个的 分区能够被初始化。 # cd /dev # mknod hda21 b 3 21 # chgrp disk hda21 # chmod 660 hda21 除非在目标系统上有合适的设备名称,否则引导一个新的系统将会失败。在安装完内核和 模块以后,执行: # cd /target/dev # mknod hda21 b 3 21 # chgrp disk hda21 # chmod 660 hda21 为 Mac 类型磁盘分区的关键点是,交换分区是根据其名称确定的,它必须被命名为"swap" 。所有的 Mac Linux 分区都是相同的 Apple_UNIX_SRV2 分区类型。请阅读合适的手册。 我们还建议您阅读 mac-fdisk Tutorial,其中包括了如何同 MacOS 共享磁盘的步骤。 附录 C. 其他 目录 C.1. 预设置文件实例 C.2. Linux 里的设备 C.2.1. 设定您的鼠标 C.3. 各软件集所需的磁盘空间 C.4. 通过 Unix/Linux 系统来安装 Debian GNU/Linux C.4.1. 准备运动 C.4.2. 安装 debootstrap C.4.3. 运行 debootstrap C.4.4. 基系统的配置 C.4.5. 内核的安装 C.4.6. Boot Loader 的设置 C.1. 预设置文件实例 这是一个完整的用于自动安装的预设置文件的实例。使用的说明在第 4.6 节 "自动化安装 "。您可以在使用该文件前去除某些行前面的注释。 注意 为了能在手册中正确显示这个例子,我们不得不分割一些行。通过使用行连接符 "\" 和下 一行的缩进标明。在实际的预置文件中,这些分割的行必须合并成单独的一行。如果您没 有这样做,预设置文件会造成不可预估的失败。 "clean" 例子文件位于 http://www.debian.org/releases/sarge/example-preseed.txt。 #### Startup. # To use a preseed file, you'll first need to boot the installer, # and tell it what preseed file to use. This is done by passing the # kernel a boot parameter, either manually at boot or by editing the # syslinux.cfg (or similar) file and adding the parameter to the end # of the append line(s) for the kernel. # # If you're netbooting, use this: # preseed/url=http://host/path/to/preseed # If you're remastering a CD, you could use this: # preseed/file=/cdrom/preseed # If you're installing from USB media, use this, and put the preseed file # in the toplevel directory of the USB stick. # preseed/file=/hd-media/preseed # Be sure to copy this file to the location you specify. # # Some parts of the installation process cannot be automated using # some forms of preseeding, because the questions are asked before # the preseed file is loaded. For example, if the preseed file is # downloaded over the network, the network setup must be done first. # One reason to use initrd preseeding is that it allows preseeding # of even these early steps of the installation process. # # If a preseed file cannot be used to preseed some steps, the install can # still be fully automated, since you can pass preseed values to the kernel # on the command line. Just pass path/to/var=value for any of the preseed # variables listed below. # # While you're at it, you may want to throw a debconf/priority=critical in # there, to avoid most questions even if the preseeding below misses some. # And you might set the timeout to 1 in syslinux.cfg to avoid needing to hit # enter to boot the installer. # # Note that the kernel accepts a maximum of 8 command line options and # 8 environment options (including any options added by default for the # installer). If these numbers are exceeded, 2.4 kernels will drop any # excess options and 2.6 kernels will panic. With kernel 2.6.9 or newer, # you can use 32 command line options and 32 environment options. # # Some of the default options, like 'vga=normal' may be safely removed # for most installations, which may allow you to add more options for # preseeding. # It is not possible to use preseeding to set language, country, and # keyboard. Instead you should use kernel parameters. Example: # languagechooser/language-name=English # countrychooser/shortlist=US # console-keymaps-at/keymap=us #### Network configuration. # Of course, this won't work if you're loading your preseed file from the # network! But it's great if you're booting from CD or USB stick. You can # also pass network config parameters in on the kernel params if you are # loading preseed files from the network. # netcfg will choose an interface that has link if possible. This makes it # skip displaying a list if there is more than one interface. d-i netcfg/choose_interface select auto # If you have a slow dhcp server and the installer times out waiting for # it, this might be useful. #d-i netcfg/dhcp_timeout string 60 # If you prefer to configure the network manually, here's how: #d-i netcfg/disable_dhcp boolean true #d-i netcfg/get_nameservers string 192.168.1.1 #d-i netcfg/get_ipaddress string 192.168.1.42 #d-i netcfg/get_netmask string 255.255.255.0 #d-i netcfg/get_gateway string 192.168.1.1 #d-i netcfg/confirm_static boolean true # Note that any hostname and domain names assigned from dhcp take # precedence over values set here. However, setting the values still # prevents the questions from being shown even if values come from dhcp. d-i netcfg/get_hostname string unassigned-hostname d-i netcfg/get_domain string unassigned-domain # Disable that annoying WEP key dialog. d-i netcfg/wireless_wep string # The wacky dhcp hostname that some ISPs use as a password of sorts. #d-i netcfg/dhcp_hostname string radish #### Mirror settings. d-i mirror/country string enter information manually d-i mirror/http/hostname string http.us.debian.org d-i mirror/http/directory string /debian d-i mirror/suite string testing d-i mirror/http/proxy string #### Partitioning. # If the system has free space you can choose to only partition that space. #d-i partman-auto/init_automatically_partition \ # select Use the largest continuous free space # Alternatively, you can specify a disk to partition. The device name can # be given in either devfs or traditional non-devfs format. # For example, to use the first disk devfs knows of: d-i partman-auto/disk string /dev/discs/disc0/disc # You can choose from any of the predefined partitioning recipes: d-i partman-auto/choose_recipe select \ All files in one partition (recommended for new users) #d-i partman-auto/choose_recipe select Desktop machine #d-i partman-auto/choose_recipe select Multi-user workstation # Or provide a recipe of your own... # The recipe format is documented in the file devel/partman-auto-recipe.txt. # If you have a way to get a recipe file into the d-i environment, you can # just point at it. #d-i partman-auto/expert_recipe_file string /hd-media/recipe # If not, you can put an entire recipe in one line. This example creates # a small /boot partition, suitable swap, and uses the rest of the space # for the root partition: #d-i partman-auto/expert_recipe string boot-root :: \ # 20 50 100 ext3 $primary{ } $bootable{ } method{ format } format{ } \ # use_filesystem{ } filesystem{ ext3 } mountpoint{ /boot } . \ # 500 10000 1000000000 ext3 method{ format } format{ } \ # use_filesystem{ } filesystem{ ext3 } mountpoint{ / } . \ # 64 512 300% linux-swap method{ swap } format{ } . # For reference, here is that same recipe in a more readable form: # boot-root :: # 40 50 100 ext3 # $primary{ } $bootable{ } # method{ format } format{ } # use_filesystem{ } filesystem{ ext3 } # mountpoint{ /boot } # . # 500 10000 1000000000 ext3 # method{ format } format{ } # use_filesystem{ } filesystem{ ext3 } # mountpoint{ / } # . # 64 512 300% linux-swap # method{ swap } format{ } # . # This makes partman automatically partition without confirmation. d-i partman/confirm_write_new_label boolean true d-i partman/choose_partition select \ Finish partitioning and write changes to disk d-i partman/confirm boolean true #### Boot loader installation. # Grub is the default boot loader (for x86). If you want lilo installed # instead, uncomment this: #d-i grub-installer/skip boolean true # This is fairly safe to set, it makes grub install automatically to the MBR # if no other operating system is detected on the machine. d-i grub-installer/only_debian boolean true # This one makes grub-installer install to the MBR if if finds some other OS # too, which is less safe as it might not be able to boot that other OS. d-i grub-installer/with_other_os boolean true # Alternatively, if you want to install to a location other than the mbr, # uncomment and edit these lines: #d-i grub-installer/bootdev string (hd0,0) #d-i grub-installer/only_debian boolean false #d-i grub-installer/with_other_os boolean false #### Finishing up the first stage install. # Avoid that last message about the install being complete. d-i prebaseconfig/reboot_in_progress note #### Shell commands. # d-i preseeding is inherently not secure. Nothing in the installer checks # for attempts at buffer overflows or other exploits of the values of a # preseed file like this one. Only use preseed files from trusted # locations! To drive that home, and because it's generally useful, here's # a way to run any shell command you'd like inside the installer, # automatically. # This first command is run as early as possible, just after # preseeding is read. #d-i preseed/early_command string anna-install some-udeb # This command is run just before the install finishes, but when there is # still a usable /target directory. #d-i preseed/late_command string echo foo > /target/etc/bar # This command is run just as base-config is starting up. #base-config base-config/early_command string echo hi mom # This command is run after base-config is done, just before the login: # prompt. This is a good way to install a set of packages you want, or to # tweak the configuration of the system. #base-config base-config/late_command string \ # apt-get install zsh; chsh -s /bin/zsh ###### Preseeding the 2nd stage of the installation. #### Preseeding base-config. # Avoid the introductory message. base-config base-config/intro note # Avoid the final message. base-config base-config/login note # If you installed a display manager, but don't want to start it immediately # after base-config finishes. #base-config base-config/start-display-manager boolean false # Some versions of the installer can report back on what you've installed. # The default is not to report back, but sending reports helps the project # determine what software is most popular and include it on CDs. #popularity-contest popularity-contest/participate boolean false #### Clock and time zone setup. # Controls whether or not the hardware clock is set to UTC. #base-config tzconfig/gmt boolean true # If you told the installer that you're in the United States, then you # can set the time zone using this variable. # (Choices are: Eastern, Central, Mountain, Pacific, Alaska, Hawaii, # Aleutian, Arizona East-Indiana, Indiana-Starke, Michigan, Samoa, other) #base-config tzconfig/choose_country_zone/US select Eastern # If you told it you're in Canada. # (Choices are: Newfoundland, Atlantic, Eastern, Central, # East-Saskatchewan, Saskatchewan, Mountain, Pacific, Yukon, other) #base-config tzconfig/choose_country_zone/CA select Eastern # If you told it you're in Brazil. (Choices are: East, West, Acre, # DeNoronha, other) #base-config tzconfig/choose_country_zone/BR select East # Many countries have only one time zone. If you told the installer you're # in one of those countries, you can choose its standard time zone via this # question. #base-config tzconfig/choose_country_zone_single boolean true # This question is asked as a fallback for countries other than those # listed above, which have more than one time zone. You can preseed one of # the time zones, or "other". #base-config tzconfig/choose_country_zone_multiple select #### Account setup. # To preseed the root password, you have to put it in the clear in this # file. That is not a very good idea, use caution! #passwd passwd/root-password password r00tme #passwd passwd/root-password-again password r00tme # If you want to skip creation of a normal user account. #passwd passwd/make-user boolean false # Alternatively, you can preseed the user's name and login. #passwd passwd/user-fullname string Debian User #passwd passwd/username string debian # And their password, but use caution! #passwd passwd/user-password password insecure #passwd passwd/user-password-again password insecure #### Apt setup. # This question controls what source the second stage installation uses # for packages. Choices are cdrom, http, ftp, filesystem, edit sources list # by hand base-config apt-setup/uri_type select http # If you choose ftp or http, you'll be asked for a country and a mirror. base-config apt-setup/country select enter information manually base-config apt-setup/hostname string http.us.debian.org base-config apt-setup/directory string /debian # Stop after choosing one mirror. base-config apt-setup/another boolean false # You can choose to install non-free and contrib software. #base-config apt-setup/non-free boolean true #base-config apt-setup/contrib boolean true # Do enable security updates. base-config apt-setup/security-updates boolean true #### Package selection. # You can choose to install any combination of tasks that are available. # Available tasks as of this writing include: Desktop environment, # Web server, Print server, DNS server, File server, Mail server, # SQL database, Laptop, Standard system, manual package selection. The # last of those will run aptitude. You can also choose to install no # tasks, and force the installation of a set of packages in some other # way. We recommend always including the Standard system task. tasksel tasksel/first multiselect Desktop environment, Standard system #tasksel tasksel/first multiselect Web server, Standard system #### Mailer configuration. # During a normal install, exim asks only a few questions. Here's how to # avoid even those. More complicated preseeding is possible. exim4-config exim4/dc_eximconfig_configtype \ select no configuration at this time exim4-config exim4/no_config boolean true exim4-config exim4/no_config boolean true # It's a good idea to set this to whatever user account you choose to # create. Leaving the value blank results in postmaster mail going to # /var/mail/mail. exim4-config exim4/dc_postmaster string #### X Configuration. # Preseeding Debian's X config is possible, but you probably need to know # some details about the video hardware of the machine, since Debian's X # configurator does not do fully automatic configuration of everything. # X can detect the right driver for some cards, but if you're preseeding, # you override whatever it chooses. Still, vesa will work most places. #xserver-xfree86 xserver-xfree86/config/device/driver select vesa # A caveat with mouse autodetection is that if it fails, X will retry it # over and over. So if it's preseeded to be done, there is a possibility of # an infinite loop if the mouse is not autodetected. #xserver-xfree86 xserver-xfree86/autodetect_mouse boolean true # Monitor autodetection is recommended. xserver-xfree86 xserver-xfree86/autodetect_monitor boolean true # Uncomment if you have an LCD display. #xserver-xfree86 xserver-xfree86/config/monitor/lcd boolean true # X has three configuration paths for the monitor. Here's how to preseed # the "medium" path, which is always available. The "simple" path may not # be available, and the "advanced" path asks too many questions. xserver-xfree86 xserver-xfree86/config/monitor/selection-method \ select medium xserver-xfree86 xserver-xfree86/config/monitor/mode-list \ select 1024x768 @ 60 Hz #### Everything else. # Depending on what software you choose to install, or if things go wrong # during the installation process, it's possible that other questions may # be asked. You can preseed those too, of course. To get a list of every # possible question that could be asked during an install, do an # installation, and then run these commands: # debconf-get-selections --installer > file # debconf-get-selections > > file # If you like, you can include other preseed files into this one. # Any settings in those files will override pre-existing settings from this # file. More that one file can be listed, separated by spaces; all will be # loaded. The included files can have preseed/include directives of their # own as well. Note that if the filenames are relative, they are taken from # the same directory as the preseed file that includes them. #d-i preseed/include string x.cfg # More flexibly, this runs a shell command and if it outputs the names of # preseed files, includes those files. For example, to switch configs based # on a particular usb storage device (in this case, a built-in card reader): #d-i preseed/include_command string \ # if $(grep -q "GUID: 0aec3050aec305000001a003" /proc/scsi/usb-storage-*/*); \ # then echo kraken.cfg; else echo otherusb.cfg; fi # To check the format of your preseed file before performing an install, # you can use debconf-set-selections: # debconf-set-selections -c preseed.cfg C.2. Linux 里的设备 在 Linux 里,您会在 /dev 发现许多很特别的文件。这些文件被称为设备文件。在 Unix 世界里,访问硬件的方式有些不一样。这些特别的文件的背后其实运行着驱动程序,而正 是驱动程序控制着硬件。设备文件就是访问真实的系统部件的接口。/dev 目录下的文件的 各种特性也和普通文件大相径庭。下面列举了最重要的一些设备文件。 ┌───┬───────────┐ │fd0│第一个软驱 │ ├───┼───────────┤ │fd1│第二个软驱 │ └───┴───────────┘ ┌─────┬───────────────────────────────────────┐ │hda │在第一个 IDE 口(Master)的 IDE 硬盘/光驱│ ├─────┼───────────────────────────────────────┤ │hdb │在第一个 IDE 口(Slave)的 IDE 硬盘/光驱 │ ├─────┼───────────────────────────────────────┤ │hdc │在第二个 IDE 口(Master)的 IDE 硬盘/光驱│ ├─────┼───────────────────────────────────────┤ │hdd │在第二个 IDE 口(Slave)的 IDE 硬盘/光驱 │ ├─────┼───────────────────────────────────────┤ │hda1 │在第一块 IDE 硬盘上的第一个分区 │ ├─────┼───────────────────────────────────────┤ │hdd15│在第四块 IDE 硬盘上的第十五个分区 │ └─────┴───────────────────────────────────────┘ ┌─────┬───────────────────────────────────┐ │sda │SCSI ID (比如 0)最小的 SCSI 硬盘 │ ├─────┼───────────────────────────────────┤ │sdb │下一个 SCSI ID (比如 1)的 SCSI 硬盘│ ├─────┼───────────────────────────────────┤ │sdc │下一个 SCSI ID (比如 2)的 SCSI 硬盘│ ├─────┼───────────────────────────────────┤ │sda1 │在第一块 SCSI 硬盘上的第一个分区 │ ├─────┼───────────────────────────────────┤ │sdd10│在第四块 SCSI 硬盘上的第十个分区 │ └─────┴───────────────────────────────────┘ ┌───┬───────────────────────────┐ │sr0│SCSI ID 最小的 SCSI 光驱 │ ├───┼───────────────────────────┤ │sr1│下一个 SCSI ID 的 SCSI 光驱│ └───┴───────────────────────────┘ ┌───────┬─────────────────────────────────────┐ │ttyS0 │串口 0,即 MS-DOS 下的 COM1 │ ├───────┼─────────────────────────────────────┤ │ttyS1 │串口 1,即 MS-DOS 下的 COM2 │ ├───────┼─────────────────────────────────────┤ │psaux │PS/2 鼠标设备 │ ├───────┼─────────────────────────────────────┤ │gpmdata│伪设备,中转从GPM(鼠标)服务传来的数据│ └───────┴─────────────────────────────────────┘ ┌─────┬──────────────────────────┐ │cdrom│指向光驱的符号链接 │ ├─────┼──────────────────────────┤ │mouse│指向鼠标设备文件的符号链接│ └─────┴──────────────────────────┘ ┌────┬────────────────────────────┐ │null│所有指向该设备的东西都会消失│ ├────┼────────────────────────────┤ │zero│可以从该设备永无休止地读出零│ └────┴────────────────────────────┘ C.2.1. 设定您的鼠标 无论在 Linux 的控制台(console)里(通过 gpm),还是在 X 窗口环境之中,您都可以使用 鼠标。这两种用法是可以兼容的,只要设置 gpm 转发器,令其让信号流往 X 服务器: mouse => /dev/psaux => gpm => /dev/gpmdata -> /dev/mouse => X /dev/ttyS0 (repeater) (symlink) /dev/ttyS1 把转发器的协议设为直接(raw)模式(在 /etc/gpm.conf 里),同时在 /etc/X11/ XF86Config 或者 /etc/X11/XF86Config-4 里设置一下,让 X 使用原始的鼠标协议。 用这种方法使用 gpm 的话,就算在 X 里也有其优势。如果不小心把鼠标拔下来后,只要 像这样重新启动 gpm 就可以了: # /etc/init.d/gpm restart 如此就可以在软件层面上重新连接鼠标,而不用重启 X 了。 如果您禁用了 gpm,或者因为某些原因没有安装它,请确保设置里是让 X 从鼠标设备(比 如 /dev/psaux) 直接读取数据的。欲知详情,请参阅三键鼠标的迷您指南,即 /usr/ share/doc/HOWTO/en-txt/mini/3-Button-Mouse.gz、man gpm、/usr/share/doc/gpm/ FAQ.gz 以及 README.mouse 里设置一下,让 X 使用原始的鼠标协议。 C.3. 各软件集所需的磁盘空间 在 i386 架构上,基本的安装默认使用 2.4 内核,需要 573MB 的磁盘空间,这里面包含 了所有的标准软件包。 下面的表格一一列出了 tasksel 中每个软件集所需的磁盘空间大小。该报表是使用 aptitude 生成的。请注意,有些软件集之间会有相重叠的部分,所以两个软件集一同安装 后所占的空间,可能会小于这两个软件集分别安装所占的空间。 注意您需要将表格中列出的尺寸加上基本安装尺寸以决定分区的大小。多数列出的尺寸如" 安装尺寸"将用在 /usr;列在"下载尺寸"是(临时地)用在 /var。 ┌──────────┬─────────────┬─────────────┬─────────────────────┐ │ 任务 │安装尺寸 (MB)│下载尺寸 (MB)│用于安装所需空间 (MB)│ ├──────────┼─────────────┼─────────────┼─────────────────────┤ │桌面 │1392 │460 │1852 │ ├──────────┼─────────────┼─────────────┼─────────────────────┤ │Web 服务器│36 │12 │48 │ ├──────────┼─────────────┼─────────────┼─────────────────────┤ │打印服务器│168 │58 │226 │ ├──────────┼─────────────┼─────────────┼─────────────────────┤ │DNS 服务器│2 │1 │3 │ ├──────────┼─────────────┼─────────────┼─────────────────────┤ │文件服务器│47 │24 │71 │ ├──────────┼─────────────┼─────────────┼─────────────────────┤ │邮件服务器│10 │3 │13 │ ├──────────┼─────────────┼─────────────┼─────────────────────┤ │SQL 数据库│66 │21 │87 │ └──────────┴─────────────┴─────────────┴─────────────────────┘ 注意 桌面任务将同时安装 Gnome 和 KDE 桌面环境。 如果安装英文之外的其他语言,tasksel 在语言有对应 locale 时,可以自动安装 localization task。每种语言需要的空间不同;您应该给 200MB 以上的空间用于下载和 安装。 C.4. 通过 Unix/Linux 系统来安装 Debian GNU/Linux 本节说明了如何通过现有的 Unix 或 Linux 系统来安装 Debian GNU/Linux,而非使用本 手册后面要谈到的由菜单驱动的安装软件。这篇"交叉安装(cross-install)" HOWTO 是应 用户的要求而撰写的。他们原来是 Redhat、Mandrake 和 SUSE 的用户,现转而使用 Debian GNU/Linux。在本节中,我们假设您对于输入 *nix 命令以及在文件系统中穿梭移 动并不生疏。同时,在本节中,$ 标志着这个命令是在用户当前使用的系统中输入的,而 # 则表示这个命令是在 Debian chroot 环境中输入的。 您一旦根据自己的要求配置好了新的 Debian 系统,就可以将您的原来系统中的用户数据 (如果有的话)悉数迁移到 Debian 里去。然后就能继续爽了。一言以蔽之,这是一次"不停 机"的 Debian GNU/Linux 安装。同时,这也是处理那些因为硬件原因不能通过任何引导或 者安装介质完成安装的权宜之计。 C.4.1. 准备运动 根据需要,用已经安装的 *nix 的分区工具重新分区,要划分出至少一个文件系统外加交 换分区。您如果只用控制台(console)的话,至少要准备 150MB 空间,倘若想要装 X,就 需要至少 300MB 的空间了。 这里谈一下如何在您的分区上创建文件系统。举例来说,如果要在 /dev/hda6 分区(以后 的例子中,将把它作为 root 分区) 建立一个 ext3 格式的文件系统,就像这样: # mke2fs -j /dev/hda6 如果想建立的是 ext2 格式的文件系统,就要去掉 -j。 初始化并激活交换分区(请把分区编号替换成您希望用作交换分区的分区编号): # mkswap /dev/hda5 # sync; sync; sync # swapon /dev/hda5 把一个分区挂载(mount)到 /mnt/debinst(这是安装的位置,将来作为您新系统的根(/)文 件系统)。挂载点的名称是任意的,后面的步骤将会用到它。 # mkdir /mnt/debinst # mount /dev/hda6 /mnt/debinst 注意 如果您打算将部分文件系统(例如,/usr)放到独立的分区,在进入下一阶段之前,需要手 动创建和加载这些目录。 C.4.2. 安装 debootstrap Debian 安装程序调用的软件,同时也为官方所采用,被用来安装基系统的工具是 debootstrap。它调用了 wget 和 ar,否则就仅仅依赖 /bin/sh。安装 wget 和 ar 如果 您的系统里没有,然后再下载并安装 debootstrap。 如果您用的是基于 rpm 的系统,那么可以用 alien 将 .deb 文件转换成为 .rpm 文件, 或者下载已被打包成 rpm 包的版本,它位于 http://people.debian.org/~blade/install /debootstrap 或者您也可以通过下面的步骤手动安装它。先新建一个工作目录,它被用来安放解压缩后 的 .deb 文件: # mkdir work # cd work debootstrap 的二进制文件被打包在 Debian 的归档文件中(请确保选择了与您架构相对应 的文件)。下载 debootstrap .deb 它位于 pool,把它拷贝到工作目录,并从该文件解压 缩出这些二进制文件。要把二进制文件安装到系统中,您必须要拥有 root 的权限。 # ar -x debootstrap_0.X.X_arch.deb # cd / # zcat /full-path-to-work/work/data.tar.gz | tar xv 注意,运行 debootstrap 可能需要您有最小版本的 glibc (当前为 GLIBC_2.3)。 debootstrap 本身是一个 shell 脚本,但它会调用 glibc 的一下工具。 C.4.3. 运行 debootstrap debootstrap 执行后,它会自己从归档文件库直接下载所需的文件。您可以把下面的命令 行例子中的 http.us.debian.org/debian 替换成任何一个 Debian 归档文件库的镜像。选 择镜像时,可以根据您的网络情况选择较近的一个。镜像的列表在 http:// www.debian.org/misc/README.mirrors。 如果您已经把一张 sarge 版本的 Debian GNU/Linux CD 挂载在了 /cdrom 那么也可以把 http URL 替换成 file URL,即:file:/cdrom/debian/ 请将下列架构中的一个替换 ARCH 于 debootstrap 命令中: alpha, arm, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390,或 sparc。 # /usr/sbin/debootstrap --arch ARCH sarge \\ /mnt/debinst http://http.us.debian.org/debian C.4.4. 基系统的配置 现在您在硬盘上已经装上了一套真正的 Debian 操作系统,尽管它还很瘦小。Chroot 用来 进入该系统: # LANG= chroot /mnt/debinst /bin/bash C.4.4.1. 分区的挂载 您需要新建 /etc/fstab。 # editor /etc/fstab 这里有个样板,您不妨根据自己的情况来修改它: # /etc/fstab: static file system information. # # file system mount point type options dump pass /dev/XXX / ext3 defaults 0 1 /dev/XXX /boot ext3 ro,nosuid,nodev 0 2 /dev/XXX none swap sw 0 0 proc /proc proc defaults 0 0 /dev/fd0 /mnt/floppy auto noauto,rw,sync,user,exec 0 0 /dev/cdrom /mnt/cdrom iso9660 noauto,ro,user,exec 0 0 /dev/XXX /tmp ext3 rw,nosuid,nodev 0 2 /dev/XXX /var ext3 rw,nosuid,nodev 0 2 /dev/XXX /usr ext3 rw,nodev 0 2 /dev/XXX /home ext3 rw,nosuid,nodev 0 2 您可以通过 mount -a 来挂载您的 /etc/fstab 中所标明的所有文件系统,您也可以一个 一个地分别挂载这些文件系统,像: # mount /path # e.g.: mount /usr 您可以多次挂载 proc 文件系统。尽管通常把它挂载到 /proc,但是它还是可以被挂载到 任意的地方。如果您没有用 mount -a,那么请一定要再接着做之前先把 proc 挂载好: # mount -t proc proc /proc ls /proc 命令现在应该列出非空目录。如果失败,您应该从 chroot: 以为加载 proc。 # mount -t proc proc /mnt/debinst/proc C.4.4.2. 键盘的配置 若要配置您的键盘,请: # dpkg-reconfigure console-data 注意,在 chroot 里面不能设置键盘,但重新启动以后可以。 C.4.4.3. 网络的配置 要配置网络,请修改 /etc/network/interfaces, /etc/resolv.conf 和 /etc/hostname。 # editor /etc/network/interfaces 这里有些简单的例子,来自 /usr/share/doc/ifupdown/examples: ###################################################################### # /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) # See the interfaces(5) manpage for information on what options are # available. ###################################################################### # We always want the loopback interface. # auto lo iface lo inet loopback # To use dhcp: # # auto eth0 # iface eth0 inet dhcp # An example static IP setup: (broadcast and gateway are optional) # # auto eth0 # iface eth0 inet static # address 192.168.0.42 # network 192.168.0.0 # netmask 255.255.255.0 # broadcast 192.168.0.255 # gateway 192.168.0.1 填入您的 nameserver(s) 和搜索指令到 /etc/resolv.conf: # editor /etc/resolv.conf 这里有个简单的 /etc/resolv.conf: search hqdom.local\000 nameserver 10.1.1.36 nameserver 192.168.9.100 输入您的系统的主机名 (2 到 63 个字符): # echo DebianHostName > /etc/hostname 如果您有多块网卡,在您修改 /etc/modules 文件时,一定要按照期望的顺序排列驱动模 块的名字。这样的话,在系统启动时,每块网卡就能获得您所预期的 interface 名称了 (eth0、eth1 等等)。 C.4.4.4. 时区、用户和 APT 的配置 设置您的时区,添加一个普通用户,再运行下面的指令选择您的 apt 源 # /usr/sbin/base-config new C.4.4.5. locales 的设置 要配置您的 locale 设定,以便使用英语以外的其它语言,就需要安装提供 locales 支持 的软件包,同时配置之: # apt-get install locales # dpkg-reconfigure locales 注意:在此之前必须配置好 apt,即在 base-config 阶段就配置好它。在使用非 ASCII 或 latin1 的字符集的 locale 之前,请先参阅相应的本地化指南(localisation HOWTO) 。 C.4.5. 内核的安装 您若想启动这个系统,您很可能还需要一个 Linux 内核和一个 boot loader。可以用下面 指令找到那些目前可用的被打好包的内核 # apt-cache search kernel-image 接下来把您所选中的内核的软件包名作为命令行的参数来安装它。 # apt-get install kernel-image-2.X.X-arch-etc C.4.6. Boot Loader 的设置 要让您的 Debian GNU/Linux 系统能够启动,还要设置您的 boot loader,好让它能加载 已安装的内核并用上新的根分区。注意 debootstrap 不会安装 boot loader,因此您要在 Debian 的 chroot 中使用 apt-get 完成。 附录 D. 文案 目录 D.1. 关于本文档 D.2. 帮助本文档 D.3. 主要贡献人员 D.4. 商标确认 D.1. 关于本文档 本手册为 Sarge 版 debian-installer 创建,基于 Woody 版的软盘安装手册,而那份手 册又是基于更早版本的 Debian 安装手册和 2003 年 GPL 协议下的 Progeny 分发手册。 本文档由 DocBook XML 写成。有很多程序可以使用 docbook-xml 和 docbook-xsl 包中的 信息得到各种输出格式。 为了提升本文档的可维护性,我们使用了一些 XML 的特性,比如 entities 和 profiling 属性。它们充当类似于编程语言中变量与条件的角色。本文档的 XML 源文件包含了各种硬 件体系的信息 -- profiling 属性用于分开体系相关的文档碎片。 D.2. 帮助本文档 对于本文档,如果您有问题或者建议,您该提交关于包 debian-installer-manual的 bug 报告。参见 reportbug包或者阅读Debian Bug Tracking System的在线文档。良好的习惯 做法是先检查关于 debian-installer-manual 处于 open 状态的 bug了解是否您遇到的问 题已经被其他人报告。如果有,您可以提供确认或者帮助信息到 , 其中 XXXX代表已报告的 bug 号码。 更佳的途径是取得一份本文档的 DocBook 源文件拷贝,给它打一个补丁。DocBook 的源文 件位于 debian-installer WebSVN。如果您不熟悉 DocBook,别发愁:在 manuals 目录下 有一个简单的 cheatsheet 文件可以帮您开始。它像 html 文件,但更侧重于文字的含义 而不是显示。欢迎将补丁提交到 debian-boot 邮件列表(见下)。关于如何从 SVN 检出 (check out) 源文件,请参考源文件目录中的 README 。 请勿直接联系本文档的作者。还有一个关于 debian-installer 的邮件列表,它包含本手 册的讨论。这个邮件列表是 。订阅此邮件列表的指引在 Debian Mailing List Subscription页面;您也可以在线浏览Debian Mailing List Archives 。 D.3. 主要贡献人员 本文档最初版本由 Bruce Perens, Sven Rudolph, Igor Grobman, James Treacy 和 Adam Di Carlo 撰写。Sebastian Ley 撰写了 Installation Howto。有许许多多的 Debian 用 户和开发人员给本文档提供帮助。特别是 Michael Schmitz (m68k 支持),Frank Neumann ( Amiga 安装手册的最初作者),Arto Astala, Eric Delaunay/Ben Collins (SPARC 信 息),Tapio Lehtonen 和 Stéphane Bortzmeyer 做了大量的编辑与文稿。我们还要感谢 Pascal Le Bail 提供有关从 USB 内存盘上启动的相关信息。Miroslav Kuře 为 Sarge 版 debian-installer 的大量新功能编写文档。 我们还从下列文档中获得了非常有用的文稿和信息,它们是 Jim Mintha's 的网络启动 HOWTO(没有有效的URL),Debian FAQ,Linux/m68k FAQ,Linux for SPARC Processors FAQ,Linux/Alpha FAQ,以及其他。这些文档的维护者们提供了丰富的信息源必须要说明 。 本手册中有关 chroot 安装的内容(第 C.4 节 "通过 Unix/Linux 系统来安装 Debian GNU /Linux")来源于 Karsten M. Self 版权所有的文档。 D.4. 商标确认 所有商标的所有权归各自的商标所有者。 附录 E. GNU General Public License(此许可证只有英文原文具有法律效力) 目录 E.1. Preamble E.2. GNU GENERAL PUBLIC LICENSE E.3. How to Apply These Terms to Your New Programs Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. -- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. E.1. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the gnu General Public License is intended to guarantee your freedom to share and change free software -- to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the gnu Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and /or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. E.2. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION ● This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. ● You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. ● You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. ● You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. ● You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. ● You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. ● Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. ● If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. ● If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. ● The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. ● If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY ● because the program is licensed free of charge, there is no warranty for the program, to the extent permitted by applicable law. except when otherwise stated in writing the copyright holders and/or other parties provide the program "as is" without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. the entire risk as to the quality and performance of the program is with you. should the program prove defective, you assume the cost of all necessary servicing, repair or correction. ● in no event unless required by applicable law or agreed to in writing will any copyright holder, or any other party who may modify and/or redistribute the program as permitted above, be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use the program (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of the program to operate with any other programs), even if such holder or other party has been advised of the possibility of such damages. END OF TERMS AND CONDITIONS E.3. How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. one line to give the program's name and a brief idea of what it does. Copyright (C) year name of author This program is free software; you can redistribute it and/or modify it under the terms of the gnu General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the gnu General Public License for more details. You should have received a copy of the gnu General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with absolutely no warranty; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items -- whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. signature of Ty Coon, 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the gnu Library General Public License instead of this License.