Debian GNU/Linux 2004, 2005, 2006, 2007, 2008, 2009 Debian Installer GNU (GPL) ( ) F, GNU Debian GNU/Linux 6.0 ( "squeeze") Intel x86 ("i386") Debian 注意 虽然这份基于 i386 体系的安装指南是最新的版本,但我们计划在官方发布 squeeze 之后 ,继续对手册进行修改和重新组织文档的某些章节。更新的手册可以通过 Internet 在 debian-installer 主页上找到。您还可以在那里找到另外一些翻译版。 Debian 安装手册简体中文版翻译项目当前由 Ji YongGang(szjungle) 进行维护。如果您 想参与翻译和校对,或对翻译项目有什么建议,请发邮件到 Debian 简体中文邮件列表: debian-chinese-gb@lists.debian.org。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 目录 在 i386 上安装 Debian GNU/Linux 6.0 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.1.4. 多处理器 2.1.5. 图形卡支持 2.1.6. 网络连接硬件 2.1.7. 盲文点触设备(Braille Display) 2.1.8. 硬件语音合成(Hardware Speech Synthesis) 2.1.9. 外围设备与其他硬件 2.2. 需要固件的设备 2.3. 特别为 GNU/Linux 采购硬件 2.3.1. 避免专有或封闭的硬件 2.3.2. Windows 专用硬件 2.4. 安装介质 2.4.1. CD-ROM/DVD-ROM 2.4.2. 硬盘 2.4.3. U 盘 2.4.4. 网络 2.4.5. Un*x 或 GNU 系统 2.4.6. 受支持的存储系统 2.5. 内存与磁盘空间的需求 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. 从 DOS 或 Windows 分区 3.6. 安装前的硬件和操作系统的相关设置 3.6.1. BIOS 设置菜单的使用 3.6.2. 选择引导设备 3.6.3. BIOS 设置的其余项目 3.6.4. 需要留心的硬件问题 4. 获取系统安装介质 4.1. 官方的 Debian GNU/Linux 光盘套装 4.2. 从 Debian 镜像服务器下载文件 4.2.1. 在哪里能找到安装映像 4.3. 为从 U 盘引导准备文件 4.3.1. 复制文件 -- 轻松的途径 4.3.2. 复制文件 -- 灵活的方法 4.3.3. 从 U 盘启动 4.4. 为从硬盘引导准备文件 4.4.1. 硬盘安装程序引导使用 LILO 或 GRUB 4.5. 为使用 TFTP 网络引导准备文件 4.5.1. 设置 DHCP 服务器 4.5.2. 架设 BOOTP 服务器 4.5.3. 开启 TFTP 服务器 4.5.4. 将 TFTP 映像放到适当的位置 4.6. 自动化安装 4.6.1. 使用 Debian 安装程序进行自动安装 5. 用安装系统启动 5.1. 在 Intel x86 上引导安装程序 5.1.1. 从 CD-ROM 启动 5.1.2. 从 Windows 引导 5.1.3. 引导 Linux 使用 LILO 或 GRUB 5.1.4. 从 U 盘引导 5.1.5. 用 TFTP 引导 5.1.6. 引导界面 5.2. 辅助功能 5.2.1. USB 盲文点显器 5.2.2. 串口盲文点显器 5.2.3. 硬件语音合成(Hardware Speech Synthesis) 5.2.4. 板卡设备 5.2.5. 高亮主题 5.3. 引导参数 5.3.1. Debian 安装程序的参数 5.4. 安装过程中的故障修复 5.4.1. CD-ROM 的可靠性 5.4.2. 引导配置 5.4.3. Intel x86 常见安装问题 5.4.4. 内核起始信息注解 5.4.5. 报告安装问题 5.4.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.3.7. 完成安装 6.3.8. 杂项 6.4. 加载缺失的固件 6.4.1. 准备介质 6.4.2. 固件和安装好的系统 7. 启动进入新 Debian 系统 7.1. 关键时刻 7.2. 挂载加密卷 7.2.1. dm-crypt 7.2.2. loop-AES 7.2.3. 故障处理 7.3. 登录 8. 下一步该干什么 8.1. 关闭系统 8.2. 如果您不熟悉 Unix 8.3. 让自己适应 Debian 8.3.1. Debian 软件包系统 8.3.2. 应用程序版本管理 8.3.3. 定时任务管理 8.4. 更多信息 8.5. 让您的系统使用 E-Mail 8.5.1. 默认的 E-Mail 配置 8.5.2. 发送邮件到系统之外 8.5.3. 配置 Exim4 MTA 8.6. 编译新内核 8.6.1. 内核映象管理 8.7. 修复损坏的系统 A. 安装指南 A.1. 前言 A.2. 安装套件的引导 A.2.1. CDROM A.2.2. U 盘 A.2.3. 从网络启动 A.2.4. 从硬盘启动 A.3. 安装 A.4. 请给我们发一份安装报告 A.5. 末了... B. 使用预置自动进行安装 B.1. 介绍 B.1.1. 预置方法 B.1.2. 限制 B.2. 使用预置 B.2.1. 加载预置文件 B.2.2. 使用引导参数预置问题的答案 B.2.3. auto 模式 B.2.4. 预置中有用的别名 B.2.5. 使用 DHCP 服务器指定预置文件 B.3. 创建预置文件 B.4. 预置文件的内容(squeeze) B.4.1. 本地化 B.4.2. 网络设置 B.4.3. 网络控制台 B.4.4. 镜像设置 B.4.5. 时钟与时区设置 B.4.6. 分区 B.4.7. 基本系统安装 B.4.8. 帐号设置 B.4.9. 设置 apt B.4.10. 选择软件包 B.4.11. 安装 bootloader B.4.12. 完成安装 B.4.13. 预置其他的软件包 B.5. 高级选项 B.5.1. 安装过程中运行用户命令 B.5.2. 使用预置修改默认值 B.5.3. 预置文件链 C. 为 Debian 准备分区 C.1. 决定 Debian 分区以及大小 C.2. 目录树 C.3. 推荐的分区方案 C.4. Linux 里面的设备名称 C.5. Debian 分区程序 C.5.1. 为 Intel x86 准备分区 D. 其他 D.1. Linux 里的设备 D.1.1. 设定您的鼠标 D.2. 各软件集所需的磁盘空间 D.3. 通过 Unix/Linux 系统来安装 Debian GNU/Linux D.3.1. 准备开始 D.3.2. 安装 debootstrap D.3.3. 运行 debootstrap D.3.4. 基本系统的配置 D.3.5. 内核的安装 D.3.6. Boot Loader 的设置 D.3.7. 最后一笔 D.4. 通过 Parallel Line IP (PLIP) 来安装 Debian GNU/Linux D.4.1. 需求 D.4.2. 建立源 D.4.3. 安装目标 D.5. 通过 PPP over Ethernet (PPPPoE) 来安装 Debian GNU/Linux D.6. 图形安装程序 D.6.1. 使用图形安装程序 E. 文案 E.1. 关于本文档 E.2. 帮助本文档 E.3. 主要贡献人员 E.4. 商标确认 F. GNU 通用公共授权 表格清单 3.1. 安装所需的硬件信息 3.2. 推荐的最低系统配置 在 i386 上安装 Debian GNU/Linux 6.0 我们非常高兴地看到您决定试用 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 哲理影响的爱好者已经演变为一个拥有大约 890 位 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 内核有一个 official website。有关 linux-kernel 邮件列表更多的信息可以在 linux-kernel mailing list FAQ 上找到。 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 计划的邮件列表(书写本文时已有 215 个邮件列表)进行沟通。订 阅这些列表的最简单方法是访问 Debian 邮件列表订阅页并填写相应表单。 1.4. 获得 Debian 关于如何从因特网上下载 Debian GNU/Linux 或者购买官方 Debian 光盘的信息,请参阅 发行网页。Debian 镜像列表包含完整的 Debian 官方镜像,您可以很容易找到最近的一个 。 Debian 可以很容易地在安装之后升级。如果需要,安装步骤将帮助您建立系统,使您可以 在安装之后立即进行升级。 1.5. 获得本文档最新版本 本文档会不断地修订。请查阅 Debian 6.0 页面以了解最近的关于 6.0 版 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 系统建立分区的背景 知识位于附录 C, 为 Debian 准备分区。) 6. 从您新安装的基本系统启动,第 7 章启动进入新 Debian 系统。 一旦您安装完系统,可以阅读第 8 章下一步该干什么。该章将解释在哪里寻找更多有关 Unix 和 Debian 的信息,以及如何替换您的内核。 最后,是关于本文档的信息以及如何贡献您的想法,附录 E, 文案。 1.7. 关于版权与软件协议 我们相信您曾经阅读过许多商业软件的许可证 -- 它们通常要求您只能在一台计算机上使 用一份软件拷贝。本系统与它们完全不同。我们鼓励您将 Debian GNU/Linux 拷贝用到您 的学校或商业机构的每台计算机上。将安装介质借给朋友,并帮助他们安装到他们的计算 机上!您甚至可以制作上千份拷贝,然后出售它们 -- 尽管有一些限制。您安装和使用系 统的自由权利因为 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.1.4. 多处理器 2.1.5. 图形卡支持 2.1.6. 网络连接硬件 2.1.7. 盲文点触设备(Braille Display) 2.1.8. 硬件语音合成(Hardware Speech Synthesis) 2.1.9. 外围设备与其他硬件 2.2. 需要固件的设备 2.3. 特别为 GNU/Linux 采购硬件 2.3.1. 避免专有或封闭的硬件 2.3.2. Windows 专用硬件 2.4. 安装介质 2.4.1. CD-ROM/DVD-ROM 2.4.2. 硬盘 2.4.3. U 盘 2.4.4. 网络 2.4.5. Un*x 或 GNU 系统 2.4.6. 受支持的存储系统 2.5. 内存与磁盘空间的需求 本章包括运行 Debian 所需硬件的信息。您还能找到更多有关 GNU 和 Linux 所支持硬件 的信息的链接。 2.1. 支持的硬件 Debian 不会超出 Linux 内核与 GNU 工具集所支持的硬件范围之外。因此,任何被移植了 Linux 内核、libc、gcc 等,并拥有对应的 Debian 移植版的硬件体系或平台都可以运行 Debian。请参考移植页面 http://www.debian.org/ports/i386/ 以了解更多已被 Debian 测试过的 Intel x86 体系。 本章仅包含一些通用的信息,以及在何处可以获得更多信息的指导,而不是试图列出支持 Intel x86 的所有不同硬件配置。 2.1.1. 支持的体系 Debian 6.0 支持十一种主要的体系和一些称为 "flavors" 的变种。 ┌────────────────────┬───────────┬─────────────────────────────┬─────────┐ │ 体系 │Debian 命名│ 子体系 │ Flavor │ ├────────────────────┼───────────┼─────────────────────────────┼─────────┤ │Intel x86-based │i386 │  │  │ ├────────────────────┼───────────┼─────────────────────────────┼─────────┤ │AMD64 & Intel EM64T │amd64 │  │  │ ├────────────────────┼───────────┼─────────────────────────────┼─────────┤ │ │ │Intel IOP32x │iop32x │ │ │ ├─────────────────────────────┼─────────┤ │ │ │Intel IXP4xx │ixp4xx │ │ │ ├─────────────────────────────┼─────────┤ │ARM │armel │Marvell Kirkwood │kirkwood │ │ │ ├─────────────────────────────┼─────────┤ │ │ │Marvell Orion │orion5x │ │ │ ├─────────────────────────────┼─────────┤ │ │ │Versatile │versatile│ ├────────────────────┼───────────┼─────────────────────────────┼─────────┤ │ │ │PA-RISC 1.1 │32 │ │HP PA-RISC │hppa ├─────────────────────────────┼─────────┤ │ │ │PA-RISC 2.0 │64 │ ├────────────────────┼───────────┼─────────────────────────────┼─────────┤ │Intel IA-64 │ia64 │  │  │ ├────────────────────┼───────────┼─────────────────────────────┼─────────┤ │ │ │SGI IP22 (Indy/Indigo 2) │r4k-ip22 │ │ │ ├─────────────────────────────┼─────────┤ │ │ │SGI IP32 (O2) │r5k-ip32 │ │MIPS (big endian) │mips ├─────────────────────────────┼─────────┤ │ │ │MIPS Malta (32 bit) │4kc-malta│ │ │ ├─────────────────────────────┼─────────┤ │ │ │MIPS Malta (64 bit) │5kc-malta│ ├────────────────────┼───────────┼─────────────────────────────┼─────────┤ │ │ │Cobalt │cobalt │ │ │ ├─────────────────────────────┼─────────┤ │MIPS (little endian)│mipsel │MIPS Malta (32 bit) │4kc-malta│ │ │ ├─────────────────────────────┼─────────┤ │ │ │MIPS Malta (64 bit) │5kc-malta│ ├────────────────────┼───────────┼─────────────────────────────┼─────────┤ │ │ │PowerMac │pmac │ │IBM/Motorola PowerPC│powerpc ├─────────────────────────────┼─────────┤ │ │ │PReP │prep │ ├────────────────────┼───────────┼─────────────────────────────┼─────────┤ │ │ │sun4u │ │ │Sun SPARC │sparc ├─────────────────────────────┤sparc64 │ │ │ │sun4v │ │ ├────────────────────┼───────────┼─────────────────────────────┼─────────┤ │ │ │来自 VM-reader 和 DASD 的 IPL│generic │ │IBM S/390 │s390 ├─────────────────────────────┼─────────┤ │ │ │来自 tape 的 IPL │type │ └────────────────────┴───────────┴─────────────────────────────┴─────────┘ 本文档主要讲述的是 Intel x86 体系下的安装。如果您在寻找其他 Debian 所支持的体系 的信息,请浏览 Debian-Ports 页面。 2.1.2. CPU,主板和视频支持 完整的周边设备支持情况信息可以在 Linux Hardware Compatibility HOWTO 中找到。本 节只是基本的概况。 2.1.2.1. CPU 几乎所有个人计算机中基于 x86 (IA-32) 的处理器都支持,包括所有的 Intel "Pentium" 系列变种。还包括 32 位 AMD 和 VIA (前身是 Cyrix) 处理器,以及像 Athlon XP 和 Intel P4 Xeon 这些处理器。 然而,Debian GNU/Linux squeeze 将不能运行在 386 或更早的处理器上。尽管体系命名 为 "i386",Debian 的 Sarge (r3.1) 版已经放弃对真正的 80386 处理器(以及它们的克 隆)的支持,过去的版本曾经支持^[2]。(Linux 从来没有任何版本支持 286 或更早的芯片 。) 所有的 i486 和后续的处理器仍然支持^[3]。 注意 假如您的系统中有 64 位 AMD64、Intel EM64T 家族的处理器,那么您该用 amd64 架构的 安装程序替代 (32位) i386 架构的安装程序。 2.1.2.2. I/O 总线 系统总线作为主板的一部分用于 CPU 和诸如存储设备之类的周边设备通讯。您的计算机必 须使用 ISA、EISA、PCI、PCIe 或者 VESA Local Bus(VLB, 有时称为 VL 总线)。近年来 出售的个人电脑都会使用里面的一种。 2.1.3. 便携机 便携机也受到支持,而且现今大多数便携机都支持。因为便携机通常使用特制或专有的硬 件,因此有些特定的功能无法得到支持。要了解您的便携机是否能在 GNU/Linux 下正常工 作,请参考 Linux 便携机页面。 2.1.4. 多处理器 多处理器支持 -- 又称 "symmetric multiprocessing" 或 SMP -- 在本体系架构下可以使 用。标准的 Debian 6.0 内核映像在编译时已经加入了 SMP-alternatives 支持。也就是 内核可以侦测处理器的数量(或者处理器核心数),并在单内核系统上自动关闭 SMP 的功能 。 Intel x86 的 486 Debian 内核映像软件包没有支持 SMP 。 2.1.5. 图形卡支持 您应该给终端控制台使用 VGA 兼容的显示接口。几乎所有的新显卡都兼容 VGA。在不使用 X11 支持的情况下,您也可以用古老的 CGA、MDA 或 HGA 工作。注意,在本文所述的安装 过程中并不会使用 X11 图形界面。 Debian 对显卡的支持决定于 X.Org 的 X11 系统。大多数 AGP、PCI 和 PCIe 视频卡都能 在 X.Org 下工作。更多的关于图形总线、显卡、显示器和指点设备的支持情况,见 http: //xorg.freedesktop.org/。Debian 6.0 包含 X.Org 7.5 版。 2.1.6. 网络连接硬件 几乎所有被 Linux 内核支持的网络接口卡(NIC)也全都被安装系统所支持;驱动模块通常 会自动加载。这包含大多数 PCI 和 PCMCIA 卡。许多旧的 ISA 卡也能支持。 ISDN 虽也获得支持,不过不能在安装阶段使用。 2.1.6.1. 无线网卡 无线网络也能得到很好地支持。虽然大多数都需要加载固件,正式的 Linux 内核能支持的 无线网卡也越来越多。如果需要固件,安装程序会提示您加载。参阅第 6.4 节 "加载缺失 的固件" 了解如何在安装过程中加载固件的更多信息。 有些无线网卡不被正式的 Linux 内核支持,虽然可以在 Debian GNU/Linux 下工作,但是 却不能在安装过程中使用。 加密无线网络在安装过程中还有所限制,现在仅可以使用 WEP。如果您的 AP 采用了更健 壮的加密方法,在安装时就无法使用。 如果您在安装过程中使用无线网络遇到问题,并且手头也没有其他的网卡可以使用,仍然 可以使用完整的 CD-ROM 或 DVD 映像来安装 Debian GNU/Linux。选择不配置网络选项, 然后只安装存在于 CD/DVD 上的软件包。在安装完成(重新启动之后)安装驱动程序和固件 ,并手动配置网络。 有些情况下,您需要的驱动程序不包含在 Debian 软件包里面。必须在互联网上寻找它们 的源码,并自己动手编译驱动程序。该如何做已经超出了本手册的范围。如果没有 Linux 驱动程序,您最后可以用 ndiswrapper 软件包,它让您使用 Windows 的驱动程序。 2.1.7. 盲文点触设备(Braille Display) 对于盲文点触设备的支持取决于 brltty 的支持。大多数设备可以在 brltty 下面工作, 它们通过串口、USB 或蓝牙连接。支持盲文设备的详细情况可以查阅 brltty website。 Debian GNU/Linux 6.0 使用的 brltty 版本是 4.1 。 2.1.8. 硬件语音合成(Hardware Speech Synthesis) 对于硬件语音合成设备的支持取决于 speakup 的支持。speakup 只支持板卡集成和外部串 口设备(支持非 USB 或 serial-to-USB 适配器)。支持硬件语音合成设备的详细情况可以 查阅 speakup website。Debian GNU/Linux 6.0 使用的 speakup 版本是 3.1.4。 2.1.9. 外围设备与其他硬件 Linux 支持众多的硬件设备,比如:鼠标、打印机、扫描仪、PCMCIA 和 USB 设备。然而 ,在安装系统的时候,并不需要其中的大部分设备。 USB 硬件通常工作得很好,只有一些 USB 键盘需要额外的配置(参阅第 3.6.4 节 "需要留 心的硬件问题")。 另外,请查考 Linux Hardware Compatibility HOWTO 来判断您的硬件是否被 Linux 支持 。 2.2. 需要固件的设备 除了需要设备驱动程序,有些硬件还要在使用之前加载 firmware 或 microcode。这对于 网卡(特别是无线网卡)来说很常见,但有些 USB 设备甚至是硬盘控制器也需要固件 (fireware)。 根据 Debian GNU/Linux 项目的标准,大多数情况下这些固件属于 non-free,不能被包含 在主发行版或安装系统里面。如果设备驱动程序被包含到发行版里面,并且 Debian GNU/ Linux 可以合法地发布固件,它通常被单独地放置在仓库的 non-free 区里面。 然而,这并不意味着该硬件不能在安装时使用。从 Debian GNU/Linux 5.0 开始, debian-installer 支持从可移动的介质,比如软盘或 USB 盘,加载固件或包含固件的软 件包。参阅第 6.4 节 "加载缺失的固件" 了解如何在安装时加载固件文件或软件包的的详 细信息。 2.3. 特别为 GNU/Linux 采购硬件 现在有一些经销商,他们出售的系统是预装 Debian 或者是其他的 GNU/Linux。您或许会 多花一些钱,但是买来一份安心,因为这些硬件都已经确保能被 GNU/Linux 很好地支持。 如果您不得不购买一台捆绑 Windows 系统的机器,请仔细阅读 Windows 附带的软件许可 证,您也许可以拒绝该许可证,并从经销商那里获得一定的折扣。在互联网上用 "windows refund" 搜索可以查到一些有益的信息。 无论是购买一个捆绑 Linux 的系统,还是一个已经用过的系统,检查 Linux 内核是否支 持您的硬件仍然很重要。检查您的硬件是否列在上面的参考资料中。让推销员(或者其他) 知道您是在为一个 Linux 系统采购设备。请支持对 Linux 友好的硬件销售商。 2.3.1. 避免专有或封闭的硬件 一些硬件制造商愚蠢地拒绝告诉我们如何给他们的硬件写驱动程序。其他的则要求签署不 公开的契约才能接触文档,以阻止我们发布 Linux 驱动程序源代码。 因为我们没有被授权查看这些设备的文档,它们自然不会在 Linux 下工作。您可以帮我们 去告诉那些制造商,要求他们发布文档。如果有足够多的人要求,他们将认识到自由软件 社区也是一个重要的市场。 2.3.2. Windows 专用硬件 一个令人不安的趋势是 Windows 规格的调制解调器和打印机的增长。在某些情况下它们专 为微软的 Windows 操作系统设计并且标有 "WinModem" 或 "专为基于 Windows 的计算机 制造" 字样。这通常是省掉硬件的内嵌处理器,将它的工作交给 Windows 驱动程序并由您 计算机中的 CPU 来完成。这样做是为了降低硬件成本,但是常常并不能为用户节省任何开 销,并且可能还会比同等功能的保留内嵌处理器的设备昂贵。 有两个原因让您应当避免使用 Windows 规格的硬件。首先,这些制造商一般不提供相应资 料用于编写 Linux 驱动程序。通常,这些设备的软硬件接口是专有的,即使相关资料存在 ,但不签署封闭的契约也无法得到它们。这就排除了被自由软件使用的可能,因为自由软 件的开发者不会将它们的软件源码封闭起来。其次,这些设备是没有内嵌处理器的,操作 系统必须承担本该由这些处理器完成的工作,并且经常是在实时优先级下,因此 CPU 在驱 动这些设备时就无法运行您的程序。因为典型的 Windows 用户并不像 Linux 用户那样对 多任务有强烈要求,这些制造商希望 Windows 用户不会注意到 CPU 为他们硬件的开销。 但是,任何多任务操作系统,甚至是 Windows 2000 或 XP,都要忍受这些制造商克扣内嵌 处理器造成的性能下降。 您可以帮助改变这种状况,要求制造商发布相应的文档和资料,让我们可以编写他们硬件 的程序,但最好还是避免使用这些硬件,直到它们被列入 Linux Hardware Compatibility HOWTO。 2.4. 安装介质 本章将助您选则安装 Debian 所采用的介质。例如,您的电脑上有一个软驱,就可以用来 安装 Debian。这里有一整章专门用于说明介质:第 4 章获取系统安装介质,并列出了每 种类型的优缺点。当您阅读那一章的时候,可能要返回来参考本页。 2.4.1. 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 章用安装系统启动。 SCSI、SATA 和 IDE/ATAPI CD-ROMs 都获得支持。Linux CD-ROM HOWTO 包含在 Linux 下 使用 CD-ROM 的进一步信息。 USB CD-ROM 也是被支持的。而 FireWire 设备则是通过 ohci1394 和 sbp2 驱动程序来获 得支持。 2.4.2. 硬盘 从硬盘启动安装系统是许多体系的另外一个选择。这将要求其他的操作系统从硬盘加载安 装程序。 2.4.3. U 盘 许多 Debian 机器只在设置系统和急救用途时才需要软盘和 CD-ROM 驱动器。如果使用过 服务器,您也许已经想过怎么样省掉这些驱动器,而用 U 盘来安装和(在必需时)恢复系统 。这对那些没有足够空间容纳不必要驱动器的小型系统非常有用。 2.4.4. 网络 安装过程中可以使用网络来获取安装所需要的文件。是否使用网络取决于您选择的安装方 法和安装过程中回答的特定问题。安装系统支持大多数类型的网络连接(包括 PPPoE,但不 含 ISDN 或 PPP),使用 HTTP 或 FTP。安装完成之后,您还可以配置您的系统使用 ISDN 和 PPP。 您还可以从网络引导(boot)系统。 无盘安装,使用网络从局域网启动,并用 NFS 挂载所有的本地文件系统,是另一种选择。 2.4.5. Un*x 或 GNU 系统 如果您正在运行其它的类 Unix 系统,也可以用它来安装 Debian GNU/Linux 而无须本手 册剩余部分讲述的 debian-installer 使用方法。这类安装方法可能对那些因为硬件不支 持或机器停产的用户有用。如果您对此技术感兴趣,请直接跳到第 D.3 节 "通过 Unix/ Linux 系统来安装 Debian GNU/Linux"。 2.4.6. 受支持的存储系统 Debian 启动盘包括一个用于最大可能数量系统的内核。不幸的是,这将产生一个大内核, 其中包括许多您的机器并不需要的驱动程序(参考第 8.6 节 "编译新内核"学习如何创建自 己的内核)。在通常情况下,支持最大范围内的设备是一种较合适的设计,这将使得 Debian 可以在尽可能多的硬件上安装。 通常,Debian 安装系统支持软盘、IDE (也称为 PATA)驱动器、IDE 软盘、并口 IDE 驱动 器、SATA 和 SCSI 控制器和驱动器、USB 和 FireWire。支持的文件系统有 FAT、Win-32 FAT 扩展(VFAT) 和 NTFS。 模拟 "AT" 硬盘接口的磁盘接口 -- 称为 MFM、RLL、IDE 或 PATA -- 可以得到支持。大 部分厂商生产的 SATA 和 SCSI 磁盘控制器都能获得支持。请参阅 Linux Hardware Compatibility HOWTO 以获得更详细信息。 2.5. 内存与磁盘空间的需求 您必须至少有 44MB 的内存和 500MB 的硬盘空间来进行普通安装。注意这是最小的数字, 要了解实际的情况,参阅第 3.4 节 "满足最低的硬件要求"。 在较小的内存^[4]或磁盘空间上安装系统或许可行,但只针对有经验的用户。 ━━━━━━━━━━━━━━ ^[2] 我们已经尽力避免,但由于编译器和内核的一系列因素,起因是 GCC 提供的 C++ ABI 的 bug,最终只能如此。如果您自己动手从源码编译内核和所有的软件包,仍然可以 将 Debian GNU/Linux 运行在真正的 80386 处理器上,这部分内容超出了本手册的范畴。 ^[3] 许多 Debian 软件包在新的计算机上可以运行地稍微快一点,但另一方面却舍弃了对 旧芯片的支持。1989 年发布的 i486 有三个 opcode (bswap、cmpxchg 和 xadd),然而 1986 年发布的 i386 却没有。以前,Debian 软件包不能使用它们,现在可以了。 ^[4] 支持图形界面的安装映象会比文本界面需要更多的内存,并且内存不应少于 44MB 。 如果可以在普通和图形界面两种方式之间选择,应选择普通方式。 第 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. 从 DOS 或 Windows 分区 3.6. 安装前的硬件和操作系统的相关设置 3.6.1. BIOS 设置菜单的使用 3.6.2. 选择引导设备 3.6.3. BIOS 设置的其余项目 3.6.4. 需要留心的硬件问题 本章涉及在启动安装程序安装 Debian 之前的准备工作。这包括备份您的数据、搜集您硬 件的信息,以及获取其他一些必要的信息。 3.1. 安装概述 先说一下有关重新安装的事情。使用 Debian 时,极少出现必须进行完全重新安装的情况 ,导致这种情况的可能大多是硬盘的物理故障。 许多常见的操作系统在遇到严重错误,或者要升级到新的版本时,必须进行重新安装。就 算不需要完全重新安装,通常还得把您的各种程序在新的系统里也再重新安装一遍才行。 在 Debian GNU/Linux 里,如果操作系统遇到出错的情况,您大多时候都能把它修复而不 用重新安装。升级不再需要进行大规模的安装操作,您可以就地升级它,而这些程序也总 能和新版的操作系统和平共处。如果一个程序的新版本需要其他程序的更新版本来支持它 ,Debian 软件包管理系统会自动帮您确定所有必须的软件,并把它们安装上。关键是, Debian 为了避免重新安装而做了大量努力,所以您尽可以不用去烦心这些问题了。安装程 序不是设计用来重装您的系统的。 这是安装过程的每个步骤: 1. 把将要用来安装系统的硬盘上的所有数据或者文档都备份下来; 2. 在开始整个安装过程之前,收集您的计算机的硬件信息和可能会用到的文档; 3. 在硬盘上为 Debian 留出可以用来创建分区的空间; 4. 如果您不是使用 Debian CD,请寻找和(或)下载安装程序软件,还有用于您电脑上的 特殊硬件的驱动程序; 5. 设置从磁带/软盘/USB 盘,或者其它存有系统启动文件的设备上启动(对于大多数 Debian CD 使用者来说,可以直接用一个 CD 启动); 6. 启动安装系统; 7. 选择要安装的语言。 8. 如果可能,激活网络连接; 9. 创建并挂载用来安装 Debian 的分区; 10. 等待自动下载、安装和设置基本系统。 11. 安装 boot loader,它负责启动 Debian GNU/Linux 和(或)已有的其他系统。 12. 第一次加载新安装的系统; 对于 Intel x86,您可以选择使用一个图形界面的安装系统。有关图形安装程序的更多信 息,请参阅第 D.6 节 "图形安装程序"。 如果您在安装过程中遇到问题,下面的信息可以帮助您找到每个步骤里涉及到那些软件包 。有关这场安装"戏剧"的"主角"的介绍: 安装软件,debian-installer,是本手册的关注焦点。它探测硬件并加载相应的驱动程序 ,使用 dhcp-client 建立网络连接,运行 debootstrap 安装基本系统的软件包,还运行 tasksel 让您安装某些附加软件。在这个过程中,还有许多其他程序扮演着各自的角色, 而 debian-installer 将伴随您到第一次启动新系统时才完成它的使命。 要调节系统满足需求,tasksel 允许您选择安装各种预先定义的软件包集合,例如 Web 服 务器或一个桌面环境。 安装过程中一个重要的选项是要不要安装图形桌面环境,它由 X Window System 和一个图 形桌面环境组成。如果没有选择"桌面环境"任务,就只有一个相对基本的、命令行驱动的 系统。把安装桌面环境任务作为选项,是因为它需要大量的磁盘空间,而且由于许多 Debian GNU/Linux 系统是作为服务器,并不需要图形用户界面来完成它们的工作。 要知道,X Window System 是与 debian-installer 完全分开的,实际上它要复杂得多。X Window System 的安装和问题解答不在本手册所关注的范围之内。 3.2. 记得备份您所有的数据! 开始安装之前,请确定您已经把系统中所有数据都进行了备份。如果这是您首次安装非预 装的操作系统,很可能需要对硬盘进行重新分区,来给 Debian 腾出安装的空间。不管使 用什么程序,分区都会使硬盘上的所有数据全部丢失。在我们的安装过程中使用的分区程 序经过多年使用,被证明非常可靠,但它的功能也非常强大,您可能会为一次错误操作而 付出代价。即使是已经备份过数据,也要谨慎使用,最好在每次操作之前先认真考虑一下 。两分钟的思考可能会为您节省几个小时的不必要的恢复工作。 如果是想把电脑做成多重引导的系统,请先确定您手头上有电脑里已经存在的这些操作系 统的安装介质。特别是当您把启动盘重新分区以后,可能会发现必须重新安装原有操作系 统的启动引导程序,某些情况下,还得重新安装该操作系统并恢复受影响分区上的文件。 3.3. 一些有用的信息 3.3.1. 文档 3.3.1.1. 安装手册 您正在阅读的文档,是纯文本、HTML 或者 PDF 格式。 ● install.zh_CN.txt ● install.zh_CN.html ● install.zh_CN.pdf 3.3.1.2. 硬件文档 通常包含设置和使用您硬件的有用信息。 ● Linux 硬件兼容性指南 3.3.2. 提供硬件信息的资源 许多情况下,安装程序能自动检测您的硬件。但作为预备,我们建议您还是在安装之前熟 悉一下您的硬件比较好。 获取硬件信息的途径有: ● 每个硬件附带的手册。 ● 您计算机的 BIOS 配置画面。在计算机启动时,可以通过按组合键查看这些画面。请 从您的手册确认组合键。通常,它是 Delete 键。 ● 每个硬件的包装盒。 ● Windows 控制面板里面的系统窗口。 ● 其他操作系统里面的系统命令或工具,包括文件管理器的显示。该资源对了解 RAM 和 硬盘特别有用。 ● 您的系统管理员或者互联网服务提供商。他们可以告诉您所需的网络和 e-mail 配置 信息。 表 3.1. 安装所需的硬件信息 ┌──────┬──────────────────────────────────────────────┐ │ 硬件 │ 您需要了解的信息 │ ├──────┼──────────────────────────────────────────────┤ │ │拥有的容量。 │ │ ├──────────────────────────────────────────────┤ │ │它们在系统上的次序。 │ │ ├──────────────────────────────────────────────┤ │ │是 IDE (也称为 PATA)、SATA 或 SCSI。 │ │硬盘 ├──────────────────────────────────────────────┤ │ │可用空间。 │ │ ├──────────────────────────────────────────────┤ │ │分区。 │ │ ├──────────────────────────────────────────────┤ │ │安装有其他操作系统的分区。 │ ├──────┼──────────────────────────────────────────────┤ │ │型号与制造商。 │ │ ├──────────────────────────────────────────────┤ │ │支持的分辨率。 │ │ ├──────────────────────────────────────────────┤ │ │水平扫描频率。 │ │显示器├──────────────────────────────────────────────┤ │ │垂直扫描频率。 │ │ ├──────────────────────────────────────────────┤ │ │支持的颜色深度(颜色数)。 │ │ ├──────────────────────────────────────────────┤ │ │屏幕尺寸。 │ ├──────┼──────────────────────────────────────────────┤ │ │类型:串口、PS/2 或 USB。 │ │ ├──────────────────────────────────────────────┤ │ │端口。 │ │鼠标 ├──────────────────────────────────────────────┤ │ │制造商。 │ │ ├──────────────────────────────────────────────┤ │ │按键数。 │ ├──────┼──────────────────────────────────────────────┤ │ │型号与制造商。 │ │网络 ├──────────────────────────────────────────────┤ │ │适配器类型。 │ ├──────┼──────────────────────────────────────────────┤ │ │型号与制造商。 │ │打印机├──────────────────────────────────────────────┤ │ │支持的打印分辨率。 │ ├──────┼──────────────────────────────────────────────┤ │ │型号与制造商。 │ │ ├──────────────────────────────────────────────┤ │视频卡│可用显存。 │ │ ├──────────────────────────────────────────────┤ │ │支持的分辨率和颜色数(还需检验您显示器的能力)。│ └──────┴──────────────────────────────────────────────┘ 3.3.3. 硬件兼容性 多数品牌的产品在 Linux 上运行不会有问题。而且,对 Linux 的硬件支持每天都在改善 。然而,Linux 仍然不能像某些操作系统那样可以在各种不同的硬件上运行。 特别是,Linux 通常不能驱动那些需要某些版本 Windows 才运行的硬件上。 虽然可以让某些 Windows 规格的硬件运行在 Linux 上,但这通常需要额外的工作。另外 ,对应 Windows 规格硬件的 Linux 驱动程序常指定在某一特定版本的 Linux 内核上。因 此,它们很快就会被废弃。 被称为 win-modem 的设备是这类硬件的典型。但打印机和其他设备也有是 Windows 规格 的。 您可以通过以下方式检验硬件兼容性: ● 检查制造商的网站来得到新的驱动程序。 ● 查看网站或者手册以获取有关仿真的信息。不常见的品牌有时可以使用常见品牌设备 的驱动程序或者设置。 ● 检查您计算机体系的 Linux 兼容性列表网站。 ● 搜索互联网查找其他用户的经验。 3.3.4. 网络设置 如果您的计算机一天 24 小时都连在网上(即,以太网或等价的连接 -- 而不是拨号连接) ,您需要向您的网络系统管理员咨询这项信息。 ● 您的主机名(您也许可以自己决定)。 ● 您的域名。 ● 您的计算机 IP 地址。 ● 您网络的网络掩码。 ● 路由经过的默认网关的 IP 地址,如果您的网络有网关的话。 ● 您的网络中作为 DNS(域名服务) 服务器的系统。 另一方面,如果您的系统管理员告诉您有 DHCP 服务器可用,并且推荐使用,那么您不需 了解这项信息,因为 DHCP 服务器会在安装过程中直接提供。 如果您有一个无线网络,您应该找出: ● 您的无线网络的 ESSID。 ● WEP 安全密钥(如果可用)。 3.4. 满足最低的硬件要求 您一旦收集好计算机上硬件配置的相关信息,复查一下您的硬件,就可以让您如愿以偿, 安装上系统。 基于您的需求,也许可以用低于下面表格所列的配置装上系统。但是,如果无视这些建议 的话,多数用户会安装失败。 Pentium 4、1GHz 的系统是桌面系统的最低推荐配置。 表 3.2. 推荐的最低系统配置 ┌────────────┬──────────────┬──────────────┬────┐ │ 安装类别 │RAM (最低要求)│RAM (推荐配置)│硬盘│ ├────────────┼──────────────┼──────────────┼────┤ │无桌面的系统│64 MB │256 MB │1 GB│ ├────────────┼──────────────┼──────────────┼────┤ │桌面系统 │64 MB │512 MB │5 GB│ └────────────┴──────────────┴──────────────┴────┘ 实际的内存最低要求会略低于表中的数字。根据各自的体系,Debian 可以在 20MB (s390) 到 48MB (i386 和 amd64) 这样少的内存上安装。同样,对磁盘空间也是如此,取决于您 选择安装的应用软件。参阅第 D.2 节 "各软件集所需的磁盘空间" 了解磁盘空间需求的内 容。 在老的或低阶的系统上也可以运行图形桌面环境,但这种情况下建议安装那些消耗资源比 GNOME 或 KDE 桌面环境少的窗口管理器,比如 xfce4、icewm 和 wmaker,有很多可供选 择。 很难说清楚服务器安装该需要多少内存和磁盘空间,这完全取决于服务器的用途。 要提醒您的是,上面所说的空间大小并没有把任何其它的资料数据包含在内。这通常包含 用户的文件、信件或者数据。在考虑您自己的文件和数据空间时,越慷慨越好。 在推荐的系统需求中已经包含流畅运行 Debian GNU/Linux 所需的磁盘空间。尤其是 /var 分区里装有许多 Debian 的特定状态信息和类似日志文件这样的常规内容。dpkg 所用的文 件(含有所有已安装软件包的信息)很容易就会消耗掉 40MB。另外,apt-get 会在安装前将 下载的软件包放在这里。您应当最少分配 200MB 的空间给 /var,如果您安装了图形桌面 系统,还要更多空间。 3.5. 为多重启动系统事先分区 为您的硬盘分区仅仅指的是将您的硬盘空间切分成几块。分区之后,每一块都是独立于其 余部分的单独空间。这和在一个大房子里砌几堵墙有几分相似,如果您在其中一间房间里 安置家具,那么这不会对其它房间有任何影响。 如果您已经在您的机器中安装有操作系统 (Windows 9x、Windows NT/2000/XP、OS/2、 MacOS、Solaris、FreeBSD,...) ,同时也希望把 Linux 装在同一块硬盘上,那么您就必 须重新对硬盘分区。Debian 需要它自己专用的硬盘分区。它不能被安装在 Windows 或者 MacOS 的分区上。它可以与其它 Linux 系统共享一些分区,但是我们在这里不会对此进行 说明。最起码,您要为 Debian 的根目录准备一个专用的分区。 通过当前的操作系统中的分区工具,您可以获知现在的分区状况,如 fdisk 和 PartitionMagic。分区工具总会提供一种办法让您查看现有的分区情况,而不作任何改动 。 通常情况下,改动一个已经建立文件系统的分区,会导致其中的数据信息遭到损毁。因而 ,您应当在重新分区之前总是先做一下备份。继续拿房子作比喻,在移动墙壁时,您最好 在把挡路的家具都移开,否则就要冒家具被毁坏的危险。 如果您的计算机配有不只一块硬盘,您或许可以考虑把其中一块硬盘专门分配给 Debian 使用。这样的话,您就不用在启动安装系统前再对那块硬盘进行分区了,安装程序自带的 分区程序会漂亮地完成这个任务。 若是您的机器只有一块硬盘,而且您愿意把原来的操作系统全盘替换成 Debian GNU/Linux ,那么可以在启动安装系统后,待到安装时再进行分区(第 6.3.2 节 "分区与选择挂载点" )。但是,只有当您使用存储于磁带、CD-ROM 或者联网的机器上的安装系统,并从它们启 动安装程序时,上面的话才适用于您的情形。试想一下:假如您用放在硬盘上的文件启动 ,再在安装系统中对同一块硬盘进行分区,这就会擦除那些启动文件,这时恐怕您只能祈 求上苍保佑第一次就安装成功吧。在这种情况下,若要让您的机器恢复正常,至少您还可 以有几个办法可选,比如原先系统的安装磁带或 CD。 倘若您的机器已经有多个分区,并且通过删除或替换它们中的一个或多个就能为安装提供 足够的空间,那么您一样也可以把分区操作延后,到安装时再使用 Debian 安装程序自带 的分区工具。不过,您还是应当继续读完下面的文档,因为可能会存在一些特殊的情形。 比如,分区表中现有分区的顺序问题,这也许会令您不得不在安装前先分好区。 如果您的计算机上有 FAT 或 NTFS 文件系统,它被 DOS 和 Windows 使用,您可以等到用 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. 从 DOS 或 Windows 分区 如果您想在已有的 FAT 或 NTFS 分区上动手,那么建议您或者按照下面介绍的方案操作, 或者使用 Windows 或者 DOS 自己的工具软件。否则的话,真的没必要从 DOS 或者 Windows 分区,一般来说,Linux 的分区软件会做得更好。 但是,如果您有一块 IDE 接口的大硬盘,而且使用的既不是 LBA 寻址或 overlay 驱动 (有时候硬盘厂商会提供这种驱动),也没用支持大硬盘访问扩展的新款(1998 年以后) BIOS,那么必须小心地划分 Debian 的引导分区。在这种情形下,一定要把引导分区分在 硬盘开始的 1024 柱面之内(BIOS 不换算的话,大约 524 MB)。为此,您可能需要移动已 存在的 FAT 或 NTFS 分区。 3.5.1.1. 在 DOS、Win-32 或者 OS/2 上的无损分区 在常见的安装中,有一种是希望在已装有 DOS(含 Windows 3.1)、Win32(如 Windows 95、 98、Me、NT、2000、XP) 或者 OS/2 的系统上安装 Debian 到同一块硬盘,并保留原有系 统。注意,安装程序支持改变 DOS 和 Windows 所使用的 FAT 和 NTFS 文件系统的容量。 只需启动安装程序,选择 Manual 选项,并选择需要调整大小的分区,指定新的尺寸。在 多数情况下您并不需要使用下面的方法。 在继续之前,您应该先想好如何分割硬盘。本节所述的方法只会把一个分区一分为二。分 出来的其中一片放原来的操作系统,而另一片则归 Debian 使用。在 Debian 的安装过程 中,您会有机会把您认为合适的那部分硬盘划归 Debian 使用。比如说,用作交换分区或 者放置文件系统。 办法就是在更改分区信息之前,把这个分区中的所有的数据移到分区的前面部分,这样数 据就会分毫无损。有一点很重要,即在移动数据之后,和重新分区之前这段时间之内,尽 量不要往分区的后部写数据。否则就会减少从能该分区分出去的空间大小。 第一件需要的东西是一份 fips 的拷贝。您可以从离您最近的 Debian 镜像里的 tools/ 目录下载它。解开这个 zip 压缩文件,把 RESTORRB.EXE、FIPS.EXE 和 ERRORS.TXT 复制 到一张启动软盘里。您可以在 DOS 下面用 sys a: 来制作启动盘。fips 带有相当不错的 文档,您也许会想看看的。倘若您正在用磁盘压缩驱动程序或者磁盘管理器,那么您绝对 有必要读一下那个文档。在为这块硬盘清理磁盘碎片之前,请先做一张启动盘并好好阅读 那份文档。 下一件要做的事,是把所有的数据移动到分区的前面部分。DOS 自 6.0 后就带有 defrag 程序,它可以很方便地完成这个任务。请参阅 fips 文档查看其他可用来执行此任务的软 件列表。要提醒一下,如果您用的是 Windows 9x,那么必须在 Windows 里运行 defrag, 原因是 DOS 不能识别 Windows 95 及其以后版本所使用的支持长文件名的 VFAT 分区。 磁盘碎片清理程序(defragmenter)运行完毕后(如果是硬盘比较大,那么得等上一会儿了) ,用您在软驱里生成的 fips 软盘重启。只须输入 a:\fips,然后按照提示操作。 需要提醒一下,如果觉得 fips 不好用,还有许多其它的分区工具可供差遣。 3.5.1.2. 为 DOS 分区 如果您用 Linux 的工具软件来为 DOS 硬盘分区,或者改动 DOS 分区的大小的话,请注意 ,有许多人在这样做了以后,在使用新分出来的或者大小被改变的 FAT 分区的过程中发现 存在着各种各样的问题。举例来说,有些人回报说发现性能下降,有的人则在使用 scandisk 时发现有一致性(consistent)的问题,还有其它在 DOS 或 Windows 中发现的各 种古怪的错误。 显然,当您为 DOS 新建分区或者改动分区大小时,最好把前面几个扇区全部清零。您应该 在运行 DOS 的 format 命令之前,到 Linux 系统中,像这样做: # dd if=/dev/zero of=/dev/hdXX bs=512 count=4 3.6. 安装前的硬件和操作系统的相关设置 在本节中,我们将讨论安装之前有关硬件设置的一些问题。如果这些问题的确存在的话, 您就需要在安装 Debian 前先做一些准备工作了。一般来说,准备工作包括:检查或者修 改为您的系统中固件(firmware)的设定。所谓"固件"就是硬件运行所需的核心软件。它在 系统引导过程(即开机之后)中起到了至关重要的作用。我们同时也会着重提出一些硬件问 题,您系统上这些硬件问题在将会影响到 Debian GNU/Linux 的可靠性。 3.6.1. BIOS 设置菜单的使用 BIOS 为引导您的机器提供了基本的帮助,进而能让操作系统能访问您的硬件。您的系统应 该会有 BIOS 的设置菜单,通过它,我们就能配置 BIOS。在进行安装前,您一定要确保 BIOS 的设置是正确无误的。否则,可能会导致经常性的系统崩溃或者根本无法安装 Debian。 本节接下来的部分取自 http://www.faqs.org/faqs/pc-hardware-faq/part1/ 中对"如何 进入 CMOS 设置菜单"一问的回答。您怎样才能进入 BIOS(或"CMOS") 设置菜单取决于 BIOS 软件的作者是谁: AMI BIOS Delete 键,在 POST(power on self test) 过程中 Award BIOS Ctrl+Alt+Esc,或 Delete 键,在 POST 过程中 DTK BIOS Esc 键,在 POST 过程中 IBM PS/2 BIOS Ctrl+Alt+Insert 在按下面的组合键之后 Ctrl+Alt+Delete Phoenix BIOS Ctrl+Alt+Esc 或 Ctrl+Alt+S 或 F1 若希望知道有关 BIOS 其它功能和设置的信息,您可以参阅 http://www.tldp.org/HOWTO/ Hard-Disk-Upgrade/install.html。 有些 Intel x86 架构的机器在 BIOS 中没有附带 CMOS 设置菜单。要对它们进行设置,就 需要有相应的 CMOS 设置软件。如果没有与您机器对应的安装或者诊断盘片,那么不妨试 一下共享软件或自由软件。请去以下网址找找看 ftp://ftp.simtel.net/pub/simtelnet/ msdos/。 3.6.2. 选择引导设备 许多 BIOS 的设置菜单都能让您选择用来引导系统的设备。我们来设置一下,让它先在 A: (第一个软驱)中找寻可引导的操作系统,不行的话,再在第一个 CD-ROM 设备(有可能就是 D: 或 E:)中找,然后接着在 C:(第一块硬盘)找。照这样设定的话,就能让您从软盘或者 CD-ROM 引导。这是安装 Debian 最常用的两个引导设备。 如果您有较新型号的 SCSI 控制器,而且您的 CD-ROM 是接在它上面的,那么很可能可以 从这个 CD-ROM 引导。所要做的仅仅是在您的控制器的 SCSI-BIOS 的设置中允许从 CD-ROM 引导系统。 另外一个常见的选项是从 USB 存储设备(也叫 USB 记忆棒或者 U 盘)引导。有些 BIOS 支 持从 USB 存储器直接引导,而有的 BIOS 不行。如果要从 USB 设备引导系统的话,您需 要在 BIOS 设置中,让系统从 "Removable drive" 或者 "USB-ZIP" 引导。 下面讲述了有关如何设置启动顺序的一些细节。请记住,在安装完 Linux 后,要恢复原来 的启动顺序,这样,您就能像以前一样从硬盘启动了。 3.6.2.1. 修改 IDE 接口计算机的引导顺序 1. 当您的计算机启动时,可以按下某些键进入 BIOS 的设置软件。一般来说,按 Delete 键就可以了。若要知道按键的确切信息,可以参考硬件的相关文档。 2. 在 BIOS 设置软件中可以查看引导顺序。具体在 BIOS 的什么地方看,这和您的 BIOS 有关。不管如何,您要找的是列有驱动器名的栏位。 对 IDE 机器而言,列表里常见的表项是 C、A、cdrom 或者 A、C、cdrom。 C 就是硬盘,而 A 则是软驱。 3. 修改启动顺序的设置,让 CD-ROM 或者软盘排在第一位。通常,用 Page Up 或者 Page Down 键能够循环地选中可能的选项。 4. 然后,保存您对设置的修改。屏幕上的提示会告诉您如何才能保存修改过的到计算机 。 3.6.2.2. 修改 SCSI 接口计算机的引导顺序 1. 当您的计算机启动时,可以按下某些键进入 SCSI 的设置软件。 计算机启动过程中,您可以在内存检测结束后,当屏幕出现如何进入 BIOS 设置程序 的提示的时候,启动 SCSI 设置软件。 您要按的键通常因设置软件而不同。一般来说,是按 Ctrl+F2。若要知道按键的确切 信息,还是要参考硬件的相关文档。 2. 找到用来修改引导顺序的工具软件。 3. 通过这个工具软件修改设置,让光盘驱动器的 SCSI ID 排在列表的首位。 4. 然后,保存您对设置的修改。屏幕上的提示会告诉您如何才能保存您的配置。通常, 您需要按下 F10。 3.6.3. BIOS 设置的其余项目 3.6.3.1. CD-ROM 的设置 有些 BIOS 系统(如 Award BIOS)允许让您能自动设置 CD 的读取速度。应当尽量不要那样 设置,相反,应该把它设成最低速。要是您碰到了 seek failed 的错误提示,那么就有可 能是您的设置问题了。 3.6.3.2. 扩展内存与扩充内存 如果您的系统同时提供了扩展(extended)和扩充(expanded)内存,那么就把扩展内存设置 得尽量大一些,而把扩充内存设置得尽量小。Linux 需要使用扩展内存,但无法利用扩充 内存。 3.6.3.3. 病毒保护 禁用您的 BIOS 提供的所有病毒警告功能。如果您安装了防病毒卡或是其它特定的硬件, 请在运行 GNU/Linux 期间,把它禁用或者拆除。它们与 GNU/Linux 是不兼容的。更进一 步说,归功于文件系统的权限管理和 Linux 内核的内存保护机制,病毒已然绝迹^[5]。 3.6.3.4. 影像(shadow)内存 您的主板或许会有影像内存(shadow RAM)或者 BIOS caching 的功能设置。您可能会发现 "Video BIOS Shadow"、"C800-CBFF Shadow"等等的设置选项。禁用所有的内存映象。影像 内存被用来提高对主板上或者某些控制卡上的 ROM 的访问速度。一旦 Linux 启动之后, 它就不会再使用这些 ROM。Linux 弃之不用的原因是:Linux 自己提供了更快的32位的软 件来替代了 ROM 中的16位程序的功能。禁用影像内存就可以让程序能使用更多的常规内存 。而继续开启影像内存则有可能妨碍 Linux 存取硬件设备。 3.6.3.5. 内存空洞 如果您的 BIOS 有类似"15-16 MB Memory Hole"的选项,请禁用它。如果您有那么多内存 的话,Linux 就会认为在那儿应该能找到内存块。 我们收到报告称,有一款 Intel 的主板,它的设置中有名为"LFB"或"Linear Frame Buffer"的选项。该选项有两个选择:"Disabled"和"1 Megabyte"。请把它设为"1 Megabyte"。如果禁用它,那么读取安装软盘时将会出错,而系统最后会崩溃。在撰写本文 时,我们尚无法弄清这个设备出了什么问题 -- 现在仅仅知道,如果这样设置,那么就一 切正常,否则的话就不行。 3.6.3.6. 高级电源管理 倘若您的主板提供了高级电源管理(APM)的支持,请配置让 APM 来管理电源。请同时禁用 doze、standby、suspend、nap 和 sleep 模式,另外还要禁用硬盘的电源关闭定时器。 Linux 可以接管所有这些模式的控制权,而且能比 BIOS 的电源管理做得更好。 3.6.4. 需要留心的硬件问题 USB BIOS 支持与键盘. 倘若您没有 AT 键盘,只有一个 USB 的键盘的话,您需要在 BIOS 设置里开启老式 AT 键盘模拟功能。这只在安装系统使用 USB 模式失败的情况下进行。反 之,对其他系统(特别是便携机)也许您的键盘没有响应,这需要禁止老式 USB 支持。请查 阅您的主板手册并查看 BIOS 中"Legacy keyboard emulation"或"USB keyboard support" 选项。 ━━━━━━━━━━━━━━ ^[5] 在安装完成之后,如果您希望的话也可以重新开启启动扇区保护功能,这并不会为 Linux 带来任何额外的安全保护,但如果您还运行着 Windows,它还是有可能帮助您避免 一场灾难。在启动管理器安装并设置好之后,就不再需要更动主引导扇区(MBR)了。 第 4 章 获取系统安装介质 目录 4.1. 官方的 Debian GNU/Linux 光盘套装 4.2. 从 Debian 镜像服务器下载文件 4.2.1. 在哪里能找到安装映像 4.3. 为从 U 盘引导准备文件 4.3.1. 复制文件 -- 轻松的途径 4.3.2. 复制文件 -- 灵活的方法 4.3.3. 从 U 盘启动 4.4. 为从硬盘引导准备文件 4.4.1. 硬盘安装程序引导使用 LILO 或 GRUB 4.5. 为使用 TFTP 网络引导准备文件 4.5.1. 设置 DHCP 服务器 4.5.2. 架设 BOOTP 服务器 4.5.3. 开启 TFTP 服务器 4.5.4. 将 TFTP 映像放到适当的位置 4.6. 自动化安装 4.6.1. 使用 Debian 安装程序进行自动安装 4.1. 官方的 Debian GNU/Linux 光盘套装 目前安装 Debian GNU/Linux 最容易的方法是使用官方的 Debian CD-ROM 套件。您可以从 一个销售商处购买(参见CD 销售商)。如果您有快速的网络连接和光盘刻录机的话,也可以 从 Debian 镜像站点下载 CD-ROM 映像然后自行刻录光盘(具体参见 Debian CD 页)。如果 您有一套 Debian 的 CD 套件并且能在机器上引导这些 CD 盘,可以直接跳至第 5 章用安 装系统启动。我们已经做了很多努力来确保 CD 中已经包含了大多数人所需要的文件。尽 管一整套预编译的二进制软件包需要好几张 CD 盘,但是您可能不会用到第三张 CD 盘以 后的内容。也可以考虑使用 DVD 版本,这将为您的书架节约很多光盘存放空间,并且可以 避免马拉松式地切换 CD。 如果您的机器不支持 CD 盘引导,但是您有一套 CD 光盘套件,可以使用其他的方法比如 :硬盘、 U 盘、网络引导,或者从 CD 中手工装载内核来初始化系统安装程序。CD 已经 包含了通过其他方法引导所需要的文件;Debian 的网络存档和 CD 的文件夹组织方式是一 致的。因此如果后面有给出的用于引导的特定存档文件路径时,请在 CD 中同样的文件目 录和子目录下查找它们。 一旦安装程序被引导,它将能够获得 CD 中其他所有必需的文件。 如果您没有 CD 光盘套件,则需要下载安装程序系统文件并且把它们放到:硬盘或 U 盘或 一台连网的计算机上,然后它们可以被用来引导安装程序。 4.2. 从 Debian 镜像服务器下载文件 选择离您较近的(因此很可能也是最快的)镜像服务器,请参见 Debian 镜像列表。 当使用 FTP 从 Debian 镜像服务器下载文件的时候,请确认下载的文件是处于二进制模式 ,而不是文本或者自动模式。 4.2.1. 在哪里能找到安装映像 安装映像位于每一个 Debian 镜像的 debian/dists/squeeze/main/installer-i386/ current/images/ -- MANIFEST 文件列出了每一个映像及其用途。 4.3. 为从 U 盘引导准备文件 从 U 盘启动安装系统有两种方式。第一种是完全通过网络安装。第二种是将 CD 映象复制 到 U 盘作为软件包的源,并可以结合其他镜像。第二种方式更常用一些。 对于第一种安装方式,您需要从 netboot 目录(在第 4.2.1 节 "在哪里能找到安装映像" 里面提到位置)下载安装映象,并按照下面所说的"灵活方法"复制文件到 U 盘。 第二种安装方式的安装映象放在 hd-media 目录,可以采用"简易方法"或"灵活方法"将它 复制到 U 盘上。这种安装方式下您还需要下载一份 CD 映象。安装映象和 CD 映象应该是 相同的 debian-installer 发行版。如果不同则在安装中会出现错误^[6]。 为了准备 U 盘,您需要一台运行的支持 USB 的 GNU/Linux 系统。当前的 GNU/Linux 系 统会在您插入 U 盘的时候自动识别。如果没有,您应该确认 usb-storage 内核模块是否 已经被加载。U 盘插入后,它将被映射到名为 /dev/sdX 的设备,其中的 "X" 是 a-z 的 字母。您可以通过运行 dmesg 在插入 U 盘后确认是否被正确映射。要写入信息,请要先 打开它上面的写保护开关。 警告 采用这种方法将销毁设备上已有的任何内容!请确认您使用了正确的 U 盘设备名。如果搞 错,比如写成硬盘,将造成该设备上的所有信息丢失。 注意,U 盘至少要有 256MB 的容量(更小的尺寸安装也是可能的,请参阅第 4.3.2 节 "复 制文件 -- 灵活的方法")。 4.3.1. 复制文件 -- 轻松的途径 有一个文件合集 hd-media/boot.img.gz 包含所有的安装程序文件(包括内核) 以及 syslinux 和对应的配置文件。 需要注意的是,虽然方便,但该方法有一个主要的缺点:即使 U 盘很大,设备的逻辑尺寸 还是限制在 256 MB。如果您要将该 U 盘用作其他用途,需要为它重新分区,为其余容量 创建一个新的文件系统。次要的缺点是您无法复制完整的 CD 映象到 U 盘,只能使用较小 的 businesscard 或 netinst CD 映象。 使用该映象只须将它直接解压到 U 盘: # zcat boot.img.gz > /dev/sdX 然后,挂载 U 盘 (mount /dev/sdX /mnt),现在上面有了一个 FAT 文件系统,复制 Debian netinst 或 businesscard ISO 映象到里面。卸载 U 盘 (umount /mnt) 就完成了 。 4.3.2. 复制文件 -- 灵活的方法 如果您需要更多的灵活性,或者只是想了解其间发生了什么,应该使用如下的方法来把文 件放到 U 盘。 4.3.2.1. 给 U 盘分区 我们将展示如何使用 U 盘的第一个分区,而不是整个设备。 注意 由于大多数 U 盘预先设置了一个单独的 FAT16 分区,您可能不需要重新分区或者格式化 U 盘。如果必须要做,请使用 cfdisk 或者其他的分区工具来创建一个 FAT16 分区^[7], 然后建立文件系统: # mkdosfs /dev/sdX1 注意,请使用 U 盘正确的设备名称。mkdosfs 命令包含在 Debian 的 dosfstools 软件包 中。 为了在 U 盘引导后启动内核,我们要在 U 盘上放入一个 boot loader。尽管任何 boot loader (比如 lilo)都应该可以胜任,不过还是使用 syslinux 更方便。主要原因是它可 以使用 FAT16 分区,而且只需要编辑一个文本文件就能对其进行配置。任何支持 FAT 文 件系统的操作系统都可以用来改变 boot loader 的配置文件。 为了把 syslinux 放到 U 盘的 FAT16 分区上,请在您的系统中安装 syslinux 和 mtools 软件包,然后执行: # syslinux /dev/sdX1 再提醒一次,请确认您使用的是正确的设备名称。启动 syslinux 的时候该分区不能被挂 载,因为该过程会向分区的引导扇区写入数据,并且创建包含 boot loader 代码的 ldlinux.sys 文件。 4.3.2.2. 添加安装程序映像 挂载分区(mount /dev/sdX1 /mnt)并复制下列安装程序映象文件到 U 盘: ● vmlinuz 或 linux (内核二进制文件) ● initrd.gz (初始化 ramdisk 映象) 你可以选择使用安装程序的文本或者图形界面。后者放在 gtk 子目录下面。如果需要改文 件名,请注意 syslinux 只能处理 DOS (8.3) 文件名。 接下来,您需要创建一个 syslinux.cfg 配置文件,里面最少要包含下面两行(如果您使用 netboot 映象,修改内核文件名为 "linux" ): default vmlinuz append initrd=initrd.gz 对于图形安装程序,您需要添加 video=vesa:ywrap,mtrr vga=788 到第二行尾部。 如果您使用 hd-media 映象,现在应该复制 Debian ISO 映象^[8] 到 U 盘上。然后卸载 U 盘(umount /mnt)。 4.3.3. 从 U 盘启动 警告 如果您的系统拒绝从 U 盘引导,那么可能是因为它含有无效的主引导扇区记录(MBR)。您 可以使用 install-mbr 命令来修复这个问题,该命令来自 mbr 软件包: # install-mbr /dev/sdX 4.4. 为从硬盘引导准备文件 安装程序可以从硬盘分区上面用引导文件引导。它们可以在其它操作系统下面启动,或者 直接使用 BIOS 提供的引导装载程序直接启动。 采用这个技术可以实现完全的"纯网络"的安装方式。这样可以避免一些使用可移动介质带 来的的缺点,比如寻找和刻录 CD 映像,或是与大量且不可靠的软盘纠缠不清。 安装程序无法从 NTFS 文件系统上进行引导。 4.4.1. 硬盘安装程序引导使用 LILO 或 GRUB 这一节将解释如何增加或者甚至替换现有的 linux 安装,通过 LILO 或 GRUB。 在启动时,两种 bootloader 都支持将内核和磁盘映像加载到内存中。这个内存虚拟磁盘 可以被用做内核的根文件系统。 将以下文件从 Debian 存档中拷贝到硬盘中比较方便的地方,比如 /boot/newinstall/。 ● vmlinuz(内核二进制文件) ● initrd.gz (内存虚拟磁盘映像) 最后,要配置 bootloader,请进入第 5.1.3 节 "引导 Linux 使用 LILO 或 GRUB"。 4.5. 为使用 TFTP 网络引导准备文件 如果您的机器连接到了一个局域网,您可以从网络上的另外一台机器上面通过 TFTP 来引 导它。如果您倾向从另外一台机器上面引导安装系统,则引导文件需要放在那台机器上面 的某个特殊地方,并且配置好能够能够支持对您的机器进行引导。 您需要设置一台 TFTP 服务器,并且对于很多机器来说,还需要一台 DHCP 服务器,或 BOOTP 服务器。 BOOTP 是一种 IP 协议,用来告诉一台计算机它自己 IP 地址以及从网络何处获得启动映 像。 DHCP (Dynamic Host Configuration Protocol) 是一个更灵活,向后兼容的 BOOTP 扩展。有些系统只能通过 DHCP 来配置。 普通文件传输协议(Trivial File Transfer Protocol (TFTP))被用于为客户提供引导映像 。理论上,任意服务器,在任意平台上只要实现了这些协议就都能够被应用。在这一节的 一些例子里面,我们将提供在 SunOS 4.x、SunOS 5.x (即 Solaris) 和 GNU/Linux 上面 的一些操作例子。 注意 对于 Debian GNU/Linux 服务器,我们推荐使用 tftpd-hpa。它由 syslinux bootloader 的同一作者开发,因此不会导致很多问题。另一个好的选择是 atftpd。 4.5.1. 设置 DHCP 服务器 一个 DHCP 服务器自由软件是 ISC dhcpd。对于 Debian GNU/Linux,推荐使用 dhcp3-server 软件包。这里是它的一个简单的配置示例文件(参阅 /etc/dhcp3/ 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.img"; server-name "servername"; next-server servername; hardware ethernet 01:23:45:67:89:AB; fixed-address 192.168.1.90; } 在这个例子中,一台服务器 servername 负责执行包括 DHCP 服务器、TFTP 服务器和网关 在内的所有工作。您需要修改域名选项,以及服务器名和客户端硬件地址。filename 选项 应该是将要从 TFTP 获取的文件名。 在编辑了 dhcpd 配置文件后,您需要使用下面的命令重新启动:/etc/init.d/ dhcpd3-server restart。 4.5.1.1. 在 DHCP 配置中打开 PXE 引导功能 这里是另外一个采用 TFTP 的 Pre-boot Execution Environment (PXE) 方法的 dhcp.conf 配置例子。 option domain-name "example.com"; default-lease-time 600; max-lease-time 7200; allow booting; allow bootp; # The next paragraph needs to be modified to fit your case subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.200 192.168.1.253; option broadcast-address 192.168.1.255; # the gateway address which can be different # (access to the internet for instance) option routers 192.168.1.1; # indicate the dns you want to use option domain-name-servers 192.168.1.3; } group { next-server 192.168.1.3; host tftpclient { # tftp client hardware address hardware ethernet 00:10:DC:27:6C:15; filename "/pxelinux.0"; } } 注意对于 PXE 引导来说,客户端文件名 pxelinux.0 是一个 boot loader,而非一个内核 映象(参见下面的第 4.5.4 节 "将 TFTP 映像放到适当的位置")。 4.5.2. 架设 BOOTP 服务器 在 GNU/Linux 下面可以使用两种 BOOTP 服务器。首先是 CMU bootpd,另外一种实际上是 DHCP 服务器:ISC dhcpd。Debian GNU/Linux 中它们分别被包含在 bootp 和 dhcp3-server 软件包。 为了使用 CMU bootpd,您必须首先将 /etc/inetd.conf 中相关的注释标记去掉(或者加入 一些新行)。在 Debian GNU/Linux 里,您可以运行 update-inetd --enable bootps,然 后执行 /etc/init.d/inetd reload 来实现此任务。万一您的 BOOTP 服务器不是运行在 Debian 上,这行看起来应该像这样: 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.4 节 "将 TFTP 映像放到适当的位置" 处获 得更多的信息。 相反,通过 ISC dhcpd 设置 BOOTP 就非常容易。因为它把 BOOTP 客户程序看成一个特殊 的 DHCP 客户端。部分体系结构需要经过复杂的设置才能从 BOOTP 启动客户端。如果您的 机器属于这种情况,请阅读第 4.5.1 节 "设置 DHCP 服务器"。否则,大概只需要将 allow bootp 指令添加到包含客户机的子网的配置部分 /etc/dhcp3/dhcpd.conf,并用命 令 /etc/init.d/dhcpd3-server restart 重新启动 dhcpd。 4.5.3. 开启 TFTP 服务器 要准备好 TFTP 服务器,您首先需要确定 tftpd 已经启动。 对于 tftpd-hpa 有两种方式可以启动服务。它可以通过系统的 inetd 守护程序启动,或 者设置为独立的守护程序。这可以在安装软件包的时候选择,也可以用重新配置软件包方 式修改。 注意 因为历史原因,TFTP 服务器使用 /tftpboot 作为映像文件目录。然而,Debian GNU/ Linux 软件包遵守 Filesystem Hierarchy Standard 使用其他的目录。例如,tftpd-hpa 默认使用 /var/lib/tftpboot。您或许要适当地调整一下配置文件示例。 Debian 中所有 in.tftpd 参数默认都会将 TFTP 请求记录到系统日志中。有些还支持 -v 选项增加详细程度。万一遇到引导问题,建议先检查这些日志信息,这对于分析错误是一 个好的起始点。 4.5.4. 将 TFTP 映像放到适当的位置 接下来,将第 4.2.1 节 "在哪里能找到安装映像" 中找到的 TFTP 启动映像放置到 tftpd 引导映像目录中。您可能需要将该文件链接到 tftpd 所使用的引导特定客户端的文件名。 不幸的是,这个文件名完全决定于 TFTP 客户程序,而且没有一个强制的标准。 对于用 PXE 引导来说,您所需的只是建立 netboot/netboot.tar.gz 压缩包。只须将此包 解压到 tftpd 引导映像目录下。并确保您的 DHCP 服务器的配置将会把 /pxelinux.0 作 为启动所需的文件名传递给 tftpd。 4.6. 自动化安装 对于有多台需要安装的计算机的情况,可以采用全自动安装的方式。用于此项任务的 Debian 软件包有 fai(需要使用一台安装服务器)、replicator、systemimager、 autoinstall,以及 Debian 安装程序本身。 4.6.1. 使用 Debian 安装程序进行自动安装 Debian 安装程序支持使用预先配置的文件进行自动安装。预置文件可以从网络或移动介质 上加载,并自动回答安装过程中的问题。 在附录 B, 使用预置自动进行安装是有关预置文件的完整文档,并有一些可以使用的例子 供您修改。 ━━━━━━━━━━━━━━ ^[6] 错误信息大概会显示为找不到内核模块。意思是说在 CD 映象里面包含的内核模块 udeb 版本与正在运行的内核不符。 ^[7] 别忘记设置 "bootable" 引导标记。 ^[8] 您可以使用 businesscard、netinst 或完整的 CD 映象 (参阅第 4.1 节 "官方的 Debian GNU/Linux 光盘套装")。确认选择合适的映象。注意 "netboot mini.iso" 映象并 不用在这里。 第 5 章 用安装系统启动 目录 5.1. 在 Intel x86 上引导安装程序 5.1.1. 从 CD-ROM 启动 5.1.2. 从 Windows 引导 5.1.3. 引导 Linux 使用 LILO 或 GRUB 5.1.4. 从 U 盘引导 5.1.5. 用 TFTP 引导 5.1.6. 引导界面 5.2. 辅助功能 5.2.1. USB 盲文点显器 5.2.2. 串口盲文点显器 5.2.3. 硬件语音合成(Hardware Speech Synthesis) 5.2.4. 板卡设备 5.2.5. 高亮主题 5.3. 引导参数 5.3.1. Debian 安装程序的参数 5.4. 安装过程中的故障修复 5.4.1. CD-ROM 的可靠性 5.4.2. 引导配置 5.4.3. Intel x86 常见安装问题 5.4.4. 内核起始信息注解 5.4.5. 报告安装问题 5.4.6. 提交缺陷报告 5.1. 在 Intel x86 上引导安装程序 警告 假如您的机器上有其他的操作系统,并希望保留(多重启动设置),您要确保它在启动安装 程序之前正确地被关闭。在另外一个操作系统休眠时(中断并保存到磁盘)进行安装,被中 断的操作系统的状态信息可能会丢失或者损坏,再次启动将会出现问题。 注意 关于如何引导图形安装程序,请参阅第 D.6 节 "图形安装程序"。 5.1.1. 从 CD-ROM 启动 对于大多数人来说,最快的途径是使用一套 Debian CD 光盘套件。如果您有此套件,并且 如果您的机器支持直接 CD 引导,太棒了!只需要配置您的系统可以用 CD 启动,参见第  3.6.2 节 "选择引导设备", 插入您的 CD,重启,然后继续下一章。 注意某些特定的 CD 驱动器需要一些特殊的驱动程序,因此他们可能在安装的早期不能被 访问。如果从 CD 引导的标准方法不能用于您的硬件,阅读本章中关于其他种类的内核以 及安装方法,它们有可能能解决问题。 即便您不能从 CD-ROM 引导,依然可以安装 CD-ROM 上面的 Debian 系统组件和所有软件 包。只需要使用不同的媒介引导,比如软盘。当安装操作系统、基础系统和任意附加的软 件包时,只需将安装系统指向 CD-ROM 驱动器即可。 如果您遇到引导方面的问题,请参见第 5.4 节 "安装过程中的故障修复"。 5.1.2. 从 Windows 引导 为了从 Windows 启动安装程序,您首先需要按照第 4.1 节 "官方的 Debian GNU/Linux 光盘套装" 和第 4.3 节 "为从 U 盘引导准备文件" 所述获取 CD-ROM/DVD-ROM 或者 USB 存储卡安装介质。 假如您使用的是安装 CD 或 DVD,在插入盘片的时候,预安装程序会自动加载。如果 Windows 没有自动运行,或者您使用的是 USB 存储卡,您可以访问该设备手动执行 setup.exe 程序。 程序运行后,会先询问一些预备问题,接着系统就准备开始启动 Debian GNU/Linux 安装 程序了。 5.1.3. 引导 Linux 使用 LILO 或 GRUB 为了从硬盘引导安装程序,您首先必须按照要求下载并且放置所需的文件,请参见第 4.4  节 "为从硬盘引导准备文件"。 如果您只愿意使用硬盘引导,然后从网络下载其他文件,需要下载 netboot/ debian-installer/i386/initrd.gz 文件及其对应的内核 netboot/debian-installer/ i386/linux。这将允许您重新分区用于引导的硬盘,需要小心操作。 另一种方法,可以在安装时保持原硬盘的分区不变,您需要下载 hd-media/initrd.gz 文 件以及对应的内核,还需要一个 CD(或者 DVD) iso 文件的副本放在硬盘上(确认文件名是 以 .iso 结尾的)。这样安装程序就可以从硬盘引导,并从 CD/DVD 映像文件上安装,而不 使用网络。 如果采用 LILO,您需要在 /etc/lilo.conf 中配置两件最基本的事情: ● 在引导时装入 initrd.gz 安装程序; ● 让 vmlinuz 内核使用一个内存虚拟磁盘作为它的根分区。 这里是一个 /etc/lilo.conf 的例子: image=/boot/newinstall/vmlinuz label=newinstall initrd=/boot/newinstall/initrd.gz 欲获知更多细节,请参阅 initrd(4) 和 lilo.conf(5) man 手册。现在运行 lilo 并且重 新启动。 使用 GRUB 的过程也类似。在 /boot/grub/ 目录下找到 menu.lst (或者位于 /boot/boot /grub/),然后给安装程序增添一个入口,例如(假设 /boot 位于系统中第一个磁盘的第一 个分区上面): title New Install root (hd0,0) kernel /boot/newinstall/vmlinuz initrd /boot/newinstall/initrd.gz 从这里开始,下面采用 GRUB 或 LILO 将没有什么差别。 5.1.4. 从 U 盘引导 假设您已经准备好了从第 3.6.2 节 "选择引导设备" 到第 4.3 节 "为从 U 盘引导准备文 件" 的所有步骤。现在只需要插入您的 USB 盘到一个空闲的 USB 插槽并且重启计算机。 系统应该重新引导,并且得到一个 boot: 提示符。这里您可以输入一些引导选项,或者只 是敲击 Enter。 5.1.5. 用 TFTP 引导 从网络引导需要已经具备网络连接和一台 TFTP 网络引导服务器(DHCP、RARP 或 BOOTP)。 支持的网络引导安装方法在第 4.5 节 "为使用 TFTP 网络引导准备文件"。 在 i386 体系上有很多方法用 TFTP 进行引导。 5.1.5.1. 支持 PXE 的网卡或者主板 您的网卡或者主板可能已经提供了 PXE 引导功能。它是 Intel (tm) TFTP 引导的实现。 如果是这样,您可以配置 BIOS 用网络进行引导。 5.1.5.2. 网络 BootROM 的网卡 您的网卡很有可能提供了 TFTP 引导功能。 5.1.5.3. Etherboot etherboot project 提供了为 TFTP 引导所需要的引导软盘甚至是引导 ROMS 。 5.1.6. 引导界面 安装程序引导后,您应该看到友好的图形界面显示出 Debian logo 和一个菜单: Installer boot menu Install Graphical install Advanced options > Help Press ENTER to boot or TAB to edit a menu entry 由于您采用的安装方式不同,"Graphical install" 选项可能不会出现。 普通安装,选择 "Install" 或者 "Graphical install" 项 -- 使用箭头键或者输入单词 (高亮的)第一个字母 -- 然后按 Enter 启动安装程序。 "Advanced options" 选项用于访问第二层菜单,引导安装程序进入 expert 模式、rescue 模式和自动安装。 如果您希望或者需要添加引导参数给安装程序或内核,按下 Tab。将显示对应菜单项的默 认引导命令,并允许添加额外的选项。帮助界面(下方)列出一些可能的选项。按下 Enter 将使用您的选项引导安装程序;按下 Esc 返回引导菜单并放弃您所做的修改。 选择 "Help" 项将进入第一个帮助界面,显示可用的帮助界面概要。注意在帮助界面显示 以后无法返回引导菜单。然而,帮助界面 F3 和 F4 列表命令等同于菜单中的引导方法。 所有的帮助界面在引导命令可以输入的地方都有一个引导提示: Press F1 for the help index, or ENTER to boot: 在这个引导提示的地方您可以按下 Enter 使用默认的选项引导安装程序,或者输入指定的 引导命令以及引导参数。一些可用的引导参数可能会在多个帮助界面看到。假如您要添加 任何参数到引导命令行,确保首先输入的是引导方法(默认为 install),然后在第一个参 数前要有空格(例如:install fb=false)。 注意 此时键盘假设使用的是默认美式英文布局。这意味着如果您的键盘使用不同的(特定语言 的)布局,显示在屏幕上的字符可能与您键入参数时希望的不同。维基百科里面有一个 schema of the US keyboard layout 条目说明了如何找到要使用正确的键。 注意 如果您使用 BIOS 配置为串口控制台的系统,可能在启动安装程序的时候无法看到起始图 形界面;甚至无法看到引导菜单。这种情况同样会发生在您使用远程管理设备安装系统, 并且这些设备提供了字符界面到 VGA 控制台的情况下。比如 Compaq 的 "integrated Lights Out" (iLO) 和 HP 的 "Integrated Remote Assistant" (IRA)。 要跳过图形引导界面,您可以在没有任何显示时按下 Esc 得到字符引导提示符,或者(同 样没有任何显示)按下 Enter 和 "H" 选择上面描述的 "Help" 选项。以后输入就会在提示 符后面显示。要防止余下的安装仍使用 framebuffer,您还需要在启动提示后添加 vga= normal fb=false,这在帮助里面有说明。 5.2. 辅助功能 一些用户,比如有视觉障碍的,可能需要特别的支持。USB 盲文点显器(braille display) 可以自动被检测到,但多数情况下其他的辅助功能不得不使用手动进行设置。在能支持的 机器上,接受输入时,引导菜单会发出一声 beep。一些引导参数可以接着被添加到后面打 开辅助功能。需要注意在大多数架构下 boot loader 将您的键盘视为 QWERTY 布局。 5.2.1. USB 盲文点显器 系统应该可以自动检测到 USB 盲文点显器。然后自动选取安装程序的文本界面,该设备也 会被自动安装到最终系统中。您只需要在引导菜单中按下 Enter 键。一旦 brltty 启动, 您就可以通过菜单选择 braille table。在 brltty website 可以找到盲文点显器的键绑 定文档。 5.2.2. 串口盲文点显器 系统无法安全地检测到串口盲文点显器(因为这可能会导致某些损坏)。您需要添加 brltty =driver,port,table 引导参数说明 brltty 该使用哪个驱动程序。driver 应该替换为您 终端的两个字母的驱动程序代码(参阅 driver code list)。port 应该替换为该设备连接 使用的串口名,默认为 ttyS0。 table 是使用的 braille table 名(参阅 table code list);默认为英语。注意该表可以在后续菜单中选择修改。该设备的键绑定文档可以在 brltty website 找到。 5.2.3. 硬件语音合成(Hardware Speech Synthesis) 对于硬件语音合成设备的支持只在图形界面安装程序下有效。您需要在引导菜单里面选择 "Graphical install" 项。 硬件语音合成设备无法自动识别。您需要添加 speakup.synth=driver 引导参数告诉 speakup 使用哪种驱动程序。driver 应替换为该设备的驱动程序代码(参阅 driver code list)。接着安装程序的文本界面自动被选中,对于语音合成设备的支持也会被自动安装到 最终系统里面。 5.2.4. 板卡设备 一些辅助设备实际上是插入计算机里面的板卡,它们直接从显存里面读取字符。要让它们 工作,需要使用引导参数 vga=normal fb=false 禁止使用 framebuffer。然而这会减少可 用语言的数量。 假如希望使用字符界面的 bootloader,可以在添加引导参数前输入 h Enter。 5.2.5. 高亮主题 对于视力弱的用户,安装程序可以使用高亮主题增加可读性。打开它,设置 theme=dark 引导参数即可。 5.3. 引导参数 引导参数是 Linux 内核的参数。一般用于确保外围设备能够正确地运行。对于其中的大多 数部分来说,内核可以自动检查外围设备的相关信息。但是在某些情况下,您可能需要给 内核一点小小的帮助。 如果这是您第一次引导系统,尝试缺省的引导参数(即:不要输入任何参数),并且检查是 否工作正确。这可能正确,如果不行,可以重新启动,并且检查需要告诉系统什么样的硬 件特定参数。 有关很多引导参数的信息可以查看 Linux BootPrompt HOWTO,其中包括一些老旧硬件的解 决方法。这一节只描述一些最常用的基本参数。一些常见的问题描述见第 5.4 节 "安装过 程中的故障修复"。 当内核引导的时候,有一条消息 Memory:availk/totalk available 应该显示在引导过程的前面。其中 total 应该符合您内存的总量,单位为千字节。如果此 参数不符合您实际的内存总数,需要使用 mem=ram 参数。这里 ram 被设置为内存的数量 。如是"k"则为千字节,"m"为兆字节。例如,mem=65536k 和 mem=64m 标明 64MB 内存。 假如您用串口控制台引导,通常内核可以自动检测到。如果在串口引导的计算机上有视频 卡(framebuffer)和键盘,您必须传递 console=device 参数给内核,其中 device 是串口 设备,通常是 ttyS0 形式。^[9]。 5.3.1. Debian 安装程序的参数 安装系统能识别一些额外的引导参数^[10],它们很有用。 许多参数都有"简写",可以避免内核命令行选项的限制,并且更容易输入。如果参数有简 写,它会列在(正式)长形式后面的括号里。本手册中的示例一般都使用简写。 debconf/priority (priority) 这些参数设置将设置显示的信息为最低的级别。 缺省安装使用 priority=high 。这意味着高优先级的和至关重要的信息将被显示,但 是中级和低级信息将被跳过。如果其间出现了问题,安装程序将按照要求调整优先级 别。 如果您加入 priority=medium 作为引导参数,将看到安装菜单以及安装过程中更多的 控制。当使用 priority=low,将显示所有的消息(这相当于采用 expert 引导方法)。 通过 priority=critical,安装系统只会显示至关重要的信息,并且尝试正确无误地 执行各项事宜。 DEBIAN_FRONTEND 这个引导参数控制用于安装程序的用户界面的类型。当前可能参数设置有: ● DEBIAN_FRONTEND=noninteractive ● DEBIAN_FRONTEND=text ● DEBIAN_FRONTEND=newt ● DEBIAN_FRONTEND=gtk 缺省的前端是 DEBIAN_FRONTEND=newt。DEBIAN_FRONTEND=text 可以用于串口控制台 的安装。一般来说在缺省安装介质上只有 newt 前端,因此目前这个并非很有用。图 形安装程序可以在所支持的平台上使用 gtk 前端。 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 引导软盘通常会扫描所有的软盘来找到根软盘,可以通过此参数设置只查找一个设备 。 lowmem 可以强制安装程序设置高于安装程序根据实际内存默认的 lomem 等级。该值可设为 1 和 2。参阅第 6.3.1.1 节 "检测可用内存/小内存模式"。 noshell 禁止 tty2 和 tty3 上的交互式安装。这对于物理安全限制下的无人职守安装很有用 处。 debian-installer/framebuffer (fb) 一些体系利用内核 framebuffer 来提供多种语言的安装。如果 framebuffer 使您的 系统出现问题,可以通过参数 vga=normal fb=false 关闭这个特性。这类问题的特征 是 bterm 或者 bogl 的相关错误信息、一个空白的屏幕,或者在开始安装几分钟后停 止。 debian-installer/theme (theme) 界面方案(theme)决定安装程序用户界面的外观(颜色、图标等)。不同的前端 (frontend)有不同的界面方案。当前 newt 和 gtk 前端只有一个 "dark" 界面方案提 供给视觉受损的用户。界面方案可以在引导的时候通过 theme=dark 设置。 netcfg/disable_dhcp 缺省情况下,debian-installer 会通过 DHCP 来自动检测网络。如果检测成功的话, 您将不需要审视并且改变其获得的设定。您可以在 DHCP 检测失败的情况下手工配置 网络。 如果您的网络上面具备一台 DHCP 服务器,但是不想使用它,比如,因为它给出错误 的答案。您可以使用参数 netcfg/disable_dhcp=true 来阻止通过 DHCP 配置网络, 并手工输入信息。 hw-detect/start_pcmcia 设置成 false 来阻止启动 PCMCIA 服务造成的麻烦。有些便携机会有这种现象。 disk-detect/dmraid/enable (dmraid) 设为 true 可以打开安装程序中对 Serial ATA RAID (也称为 ATA RAID、BIOS RAID 或 fake RAID) 磁盘的支持。注意,这种支持当前是实验性的。更多的信息可以在 Debian Installer Wiki 找到。 preseed/url (url) 指定 url 到预设文件,在安装中自动下载和使用。参阅第 4.6 节 "自动化安装"。 preseed/file (file) 指定路径至预设文件,加载自动化安装。参阅第 4.6 节 "自动化安装"。 preseed/interactive 设为 true,让已经预置的也可以显示提问。用于测试和调试预置的文件。注意,使用 引导参数进行预置时无效,但可以使用一种特殊的语法。参阅第 B.5.2 节 "使用预置 修改默认值" 了解详细信息。 auto-install/enable (auto) 延迟那些通常在预置之前的提问,直到网络设置完毕。参阅第 B.2.3 节 "auto 模式" 了解自动安装的详细信息。 finish-install/keep-consoles 从串口或者管理控制台安装时,虚拟控制台(VT1 到 VT6)一般在 /etc/inittab 里已 经关掉。将其改为 true 打开。 cdrom-detect/eject 在重启前,debian-installer 默认自动弹出安装时的光学媒介。如果系统不是自动从 CD 引导,这是不必要的操作。在某些情况下,反而不便。例如,如果光驱不能自动插 入盘片,用户又不在旁边操作。许多 slot loading、slim-line 和 caddy 类型的驱 动器不能自动重新加载介质。 设为 false 可以禁止自动弹出,但要小心确保系统在安装完后,不会自动从光盘引导 。 base-installer/install-recommends (recommends) 通过设置 false 选项,在安装过程和以后的系统中,包管理系统将配置设为不自动安 装这些"推荐的软件包(Recommends)"。参阅第 6.3.3 节 "安装基本系统"。 注意,虽然使用该选项可以得到一个瘦小的系统,但将会失去一些通常认为应有的特 性。您不得不使用手动方式安装这些推荐软件包以获得完整的功能。因此,该选项应 由非常有经验的用户来使用。 debian-installer/allow_unauthenticated 安装程序默认需要使用一个已知的 gpg 密钥认证仓库。设为 true 可以禁止认证。警 告:不安全,不推荐使用。 rescue/enable 设为 true 进入 rescue 模式,而不是执行普通安装。参阅第 8.7 节 "修复损坏的系 统"。 5.3.1.1. 使用内核模块参数回答提问 对于一些例外,可以在引导提示符后设置值来回答安装过程中的提问,在某些情况下,它 是惟一真正有效的。有关如何操作的说明可以在第 B.2.2 节 "使用引导参数预置问题的答 案" 找到。下面是一些具体的例子。 debian-installer/language (language), debian-installer/country (country), debian-installer/locale (locale) 有两种方法可以指定安装过程和安装后系统中所使用的语言(language)、国家 (country)和地方(locale)。 第一种和最简单的方法为只设置 locale 参数。语言和国家将依据该值产生。例如, 您可以使用 locale=de_CH 选择语言为德语,瑞士为国家(安装后的系统中默认的 locale 将设置为 de_CH.UTF-8 )。该方法有一个缺陷,因为并不是所有的语言、国家 和地方可以采用这种方式组合。 第二种更具弹性的方法,是分开指定 language 和 country。这种方式下 locale 可 以作为选项来指定安装后系统中默认的 locale 值。例如: language=en country=DE locale=en_GB.UTF-8。 anna/choose_modules (modules) 可用来自动加载那些默认不加载的安装程序模块。比如一些有用的可选模块 openssh-client-udeb (使您可以在安装过程中使用 scp) 和 ppp-udeb (参阅第 D.5  节 "通过 PPP over Ethernet (PPPPoE) 来安装 Debian GNU/Linux")。 netcfg/disable_dhcp 如果您想禁止 DHCP 使用静态网络设置,将它设为 true。 mirror/protocol (protocol) 默认情况下,安装程序会使用 http 协议从 Debian 镜像下载文件,在普通优先级下 不能修改协议为 ftp。设置该参数为 ftp,您可以迫使安装程序使用该协议。注意, 您必须手动输入主机名,而不是从列表中选择 ftp 镜像。 tasksel:tasksel/first (tasks) 可以用来选择不在交互式任务列表中出现的任务,例如 kde-desktop 任务。参阅第  6.3.5.2 节 "选择和安装软件" 了解详细信息。 5.3.1.2. 给内核模块传递参数 假如驱动程序编译进内核,您可以像内核文档所说的那样向内核传递参数。然而,如果驱 动编译为模块,而且由于安装过程与运行系统加载模块方式不同,无法像平时那样传递参 数到模块。因此,您需要使用安装程序所识别的特殊语法,它们将确保参数能保存到合适 的配置文件,并在模块加载的时候使用。这些参数并能自动应用到安装后系统的配置中。 注意,现在很少需要将参数传递到模块。多数情况下,内核将侦测当前系统中的硬件,并 很好地设置默认参数。然而,某些情况下还是需要手动设置参数。 设置模块参数的语法为: module_name.parameter_name=value 如果您需要传递多个参数给相同或不同的模块,重复上面内容即可。例如,设置老式的 3Com 网卡要使用 BNC (coax) 端子和 IRQ 10,要使用: 3c509.xcvr=3 3c509.irq=10 5.3.1.3. 内核模块黑名单 有时需要将一个模块加入黑名单阻止内核和 udev 自动加载。其中一个原因是有的模块会 与您的硬件产生问题。内核有时会给同一硬件列出两个不同的驱动程序。如果驱动之间冲 突或者错误的驱动先加载,将造成设备无法正常工作。 您可以使用下面的语法将模块加入黑名单:module_name.blacklist=yes。这会让该模块在 安装和安装后的系统都加入 /etc/modprobe.d/blacklist.local 文件的黑名单中。 注意,安装系统自己仍然会加载模块。要阻止这种情况,您可以在 expert 模式下,硬件 检查过程中从显示的模块列表中取消该模块。 5.4. 安装过程中的故障修复 5.4.1. CD-ROM 的可靠性 有时,特别是旧的 CD-ROM 驱动器,安装程序无法从 CD-ROM 引导。安装程序还可能 -- 即使是从 CD-ROM 成功引导 -- 无法识别 CD-ROM 或在安装时读取错误。 造成这些问题有各种原因。我们只列出了常见的,并提供解决这些问题的一般方法。余下 的由您来处理。 您首先应试试两种最简单的方法。 ● 如果 CD-ROM 没有引导,检查一下它是否放好,并且没有弄脏。 ● 如果安装程序无法识别 CD-ROM,再次运行 Detect and mount CD-ROM 选项。有些旧 CD-ROM 驱动器 DMA 相关的问题可以用这种方法解决。 如果还无法工作,试试下一节建议的方法。多数情况下,但非全部,那里的建议适用于 CD-ROM 和 DVD,为了方便,只提到 CD-ROM。 如果您用 CD-ROM 无法安装,试试其他可用的安装方法。 5.4.1.1. 常见问题 ● 有些老 CD-ROM 驱动器不能读取新 CD 刻录机的高速模式下刻录的光盘。 ● 如果您的系统可以从 CD-ROM 引导,这并不是说 Linux 就能支持该 CD-ROM (或者, 更准确一点,CD-ROM 驱动器所连接的控制器)。 ● 一些老式的 CD-ROM 驱动器在 "direct memory access" (DMA) 下无法正常工作。 5.4.1.2. 如何调查研究或许可以解决问题 如果从 CD-ROM 引导失败,试试下面所列的建议。 ● 检查您的 BIOS 的确支持从 CD-ROM 启动(旧的系统可能不行),并且 CD-ROM 驱动器 支持您所使用的介质。 ● 如果您下载的是 iso 映像,检查映像的 md5sum 是否与 MD5SUMS 文件所列相同,该 文件和您下载的映像在同一个地方。 $ md5sum debian-testing-i386-netinst.iso a20391b12f7ff22ef705cee4059c6b92 debian-testing-i386-netinst.iso 然后,检验所刻录 CD-ROM 的 md5sum 也匹配。可以使用下面的命令。它使用映像的 尺寸从 CD-ROM 读取正确的字节数。 $ dd if=/dev/cdrom | \ > head -c `stat --format=%s debian-testing-i386-netinst.iso` | \ > md5sum a20391b12f7ff22ef705cee4059c6b92 - 262668+0 records in 262668+0 records out 134486016 bytes (134 MB) copied, 97.474 seconds, 1.4 MB/s 假如在安装程序正常的引导之后,无法识别 CD-ROM,有时只需再试一次就能解决问题。如 果您有多个 CD-ROM 驱动器,将 CD-ROM 放到其他的驱动器。如果无法工作,或者可以识 别 CD-ROM 但读取的时候有错误,试试下面所列的建议。这里需要一些基本的 Linux 知识 。要执行命令,您应该首先切换到第二虚拟控制台(VT2),并激活 shell。 ● 切换到 VT4 或查看 /var/log/syslog 的内容(使用 nano 作为编辑器)来检查任何特 定的错误信息。之后,再检查 dmesg 的输出。 ● 如果您的 CD-ROM 驱动器可以识别,检查 dmesg 的输出。可以看到类似的信息(这些 行不必是连续出现的): Probing IDE interface ide1... hdc: TOSHIBA DVD-ROM SD-R6112, ATAPI CD/DVD-ROM drive ide1 at 0x170-0x177,0x376 on irq 15 hdc: ATAPI 24X DVD-ROM DVD-R CD-R/RW drive, 2048kB Cache, UDMA(33) Uniform CD-ROM driver Revision: 3.20 如果您看不到这些,估计是 CD-ROM 驱动器所连接的控制器无法被识别,或者完全不 被支持。如果您知道控制器所需的驱动程序,可以使用 modprobe 手动加载。 ● 检查 /dev/ 下面您 CD-ROM 驱动器对应的设备节点。上面的例子中,它是 /dev/hdc 。也会是 /dev/cdroms/cdrom0。 ● 用 mount 命令检查 the CD-ROM 是否已经挂载;如果没有,使用手动挂载: $ mount /dev/hdc /cdrom 检查命令后面是否有什么错误信息。 ● 确认当前 DMA 已经打开: $ cd /proc/ide/hdc $ grep dma settings using_dma 1 0 1 rw using_dma 之后的第一列 "1" 意味着打开。如果是这样,将其关闭: $ echo -n "using_dma:0" >settings 确保您所处的目录对应 CD-ROM 驱动器。 ● 如果安装过程中有什么问题,用接近安装程序主菜单底部的选项检查 CD-ROM 的完整 性。如果 CD-ROM 可以读,该选项可以对其进行测试。 5.4.2. 引导配置 如果在引导过程中您遇到了问题或者内核挂起,不识别实际拥有的外围设备,或者驱动不 能被正确识别,首先要做的事情是检查引导参数,见第 5.3 节 "引导参数" 讨论。 通常,可以通过移除外挂硬件或者外围设备来解决问题,然后再次重新引导。内置调制解 调器、声卡以及即插即用设备特别容易引起问题。 如果您的机器上装有多于 512M 的大容量的内存,并且安装程序在引导内核时停止,您可 能需要加入一个引导参数,来限制内核能够看到的内存数量,比如 mem=512m。 5.4.3. Intel x86 常见安装问题 有一些常见的安装问题,可以通过给安装程序特定的引导参数解决或避免。 一些系统的软盘会有 "inverted DCLs"。如果您在读软盘时遇到错误信息,并且知道软盘 是好的,请尝试 floppy=thinkpad 参数。 在一些系统上,比如 IBM PS/1 或者 ValuePoint (具有 ST-506 驱动器),IDE 驱动器可 能不被识别。请首先尝试没有参数的引导是否能够被识别。如果不行,请确定驱动器几何 参数(柱面、磁头还有扇区)。然后使用参数 hd=cylinders,heads,sectors。 如果您有一台非常老的机器,并且内核在显示 Checking 'hlt' instruction... 时中断, 需要尝试 no-hlt 参数来取消这个测试。 一些系统(特别是便携机)具有非 4:3 的原始比例(也就是那些非 800x600 或 1024x768), 在安装程序启动之后出现屏幕空白。这种情况下,在 boot 参数后加上 vga=788^[11] 可 能解决问题。如果还不行,试试 boot 参数 fb=false。 如果您的显示屏在内核引导的时候显示一个奇怪的图片(比如,纯白、纯黑或者彩色的像素 块),系统可能含有一块有问题的显示卡。它不能切换至 framebuffer 模式。您可以使用 引导参数 fb=false 来禁止使用 framebuffer 控制台。由于控制台的限制,在安装过程中 只能使用少数的几种语言,参阅第 5.3 节 "引导参数" 来获得细节信息。 5.4.3.1. 在 PCMCIA 配置阶段系统停止 Dell 笔记本的一些型号,会在 PCMCIA 设备检测程序尝试访问一些硬件地址的时候死机。 其他笔记本可能显示类似的问题。如果您遇到那样的问题,并且在安装的时候不需要 PCMCIA 的支持,可以用 hw-detect/start_pcmcia=false 启动参数来取消 PCMCIA 功能。 您可以在安装后配置 PCMCIA,去掉造成问题的资源区段。 或者,可以启动安装程序时进入 expert 模式。您需要按照要求输入硬件资源范围选项。 比如,如果有如上所说的 Dell 笔记本问题,应该在这里输入 exclude port 0x800-0x8ff 。在 System resource settings section of the PCMCIA HOWTO 处列出了一些资源范围 选项。注意您在安装程序中,输入这些值的时候必须忽略逗号。 5.4.3.2. 在装入 USB 模块时系统停止 内核正常情况下会尝试安装 USB 模块以及 USB 键盘驱动来支持一些非标准的 USB 键盘。 但是,有些不完整的 USB 系统会在驱动程序装入时死机。一个可能的解决方法是设置主板 的 BIOS 禁止 USB 控制器。另一种选择是在引导提示符处传入 nousb 参数。 5.4.4. 内核起始信息注解 在引导期间,您可以看到很多信息类似 can't find something,或者 something not present,can't initialize something,或者甚至 this driver release depends on something。大多数这些信息都是无害的。之所以看到它们,是因为安装系统内核被设计成 为可以运行在具有不同外围设备的计算机。显然,没有一个计算机可能拥有所有的外围设 备,因此操作系统可能在查找一些您没有的设备上有一些报怨。您有时可以看到系统暂停 了一段时间。这是由于它在等待一台设备的回应,但是这台设备并没有安装在系统上。如 果您发现这个时间非常长,以后可以创建一个定制的内核(参见第 8.6 节 "编译新内核") 。 5.4.5. 报告安装问题 如果您过了初始化引导阶段,但还是不能安装,可以借助于 Save debug logs 菜单选项。 它让您保存安装程序的系统错误记录和配置信息到软盘,或者用网络浏览器下载。该信息 或许提供了一些关于错误的起因和如何解决它的线索。如果您正在提交一个 bug 报告,可 以报告里附上该信息。 其他安装期间相关的信息可以在 /var/log/ 内找到,计算机用新安装的系统启动后,放在 /var/log/debian-installer/ 里。 5.4.6. 提交缺陷报告 如果仍有问题,请提交安装报告。即使已经安装成功,我们也鼓励您发一份安装报告,这 让我们可以尽可能多地了解硬件的配置数量。 注意,您的安装包括将公布在 Debian Bug Tracking System (BTS) 并转发到公共的邮件 列表。确保您使用的邮件地址可以被公开。 如果您有一个可以运转的 Debian 系统,发送安装报告最简单的方法是安装 installation-report 和 reportbug 软件包(aptitude install installation-report reportbug),配置 reportbug 的说明参阅第 8.5.2 节 "发送邮件到系统之外",然后执行 reportbug installation-reports 命令。 另外,您可以采用下列模板填写安装报告,并将它当作 installation-reports 虚拟软件 包的 bug 报告,发送到 。 Package: installation-reports Boot method: Image version: Date: Machine: Processor: Memory: Partitions: Output of lspci -knn (or lspci -nn): Base System Installation Checklist: [O] = OK, [E] = Error (please elaborate below), [ ] = didn't try it Initial boot: [ ] Detect network card: [ ] Configure network: [ ] Detect CD: [ ] Load installer modules: [ ] Detect hard drives: [ ] Partition hard drives: [ ] Install base system: [ ] Clock/timezone setup: [ ] User/password setup: [ ] Install tasks: [ ] Install boot loader: [ ] Overall install: [ ] Comments/Problems: 在 bug 报告中,请说明问题所在,包括内核挂起时最后见到的内核消息。描述进入问题状 态所进行的步骤。 ━━━━━━━━━━━━━━ ^[9] 为了确保安装程序使用的终端类型与您的终端模拟程序匹配,可以添加一个 TERM= type 参数。注意,安装程序仅支持下列终端类型: linux、bterm、ansi、vt102 和 dumb 。debian-installer 中默认的串口控制台终端类型是 vt102。 ^[10] 当前的内核(2.6.9 或更新),您可以使用 32 个命令行参数和 32 个环境变量选项 。如果超出,内核将会崩溃。 ^[11] 该参数 vga=788 激活 VESA framebuffer 的 800x600 分辨率。它可能有效,但也 可能不适用于您的系统。使用 vga=ask 可以列出所支持的分辨率,但要注意该列表可能不 全。 第 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.3.7. 完成安装 6.3.8. 杂项 6.4. 加载缺失的固件 6.4.1. 准备介质 6.4.2. 固件和安装好的系统 6.1. 安装程序如何工作 Debian 安装程序由一些特定功能的组件组成,它们完成各自的安装任务。每一组件执行任 务时,会询问一些任务相关的问题。每个任务又有各自的优先级,在安装程序开始时可以 设置优先级以决定哪些问题会被询问。 执行默认安装时,只会问到必要的(高优先级)问题。这使得安装过程高度自动化,几乎不 需用户干预。组件自动按次序执行;至于哪些组件会执行,取决于使用的安装方法,以及 您的硬件。对于没有问到的问题,安装程序将采用默认值。 假如出现问题,用户将看到错误信息画面,并且安装程序会显示菜单以进行其它替代操作 。如果没有问题,用户将不会碰到菜单,只需依此回答每个组件的提问。严重错误警示的 优先级是 "critical",因此用户一定能看到。 在 debian-installer 启动的时候,加上一些引导参数,它将会影响安装程序使用的默认 值。例如,您希望指定静态网络连接配置(默认会使用已有的 DHCP),可以加上引导参数 netcfg/disable_dhcp=true。参阅第 5.3.1 节 "Debian 安装程序的参数" 了解可用的选 项。 高级用户可能更愿意采用菜单驱动的界面,安装中的每一步都可以被用户控制,而不是让 安装程序自动执行。要使用菜单驱动的手动安装方式,需要添加引导参数 priority= medium。 假如您的硬件需要指定内核模块选项才能安装,就要使用 "expert" 模式启动安装程序。 可以通过 expert 命令或者添加 priority=low 引导参数。专家(export)模式让您可以完 全控制 debian-installer 。 本架构的 debian-installer 支持两种用户界面:字符界面和图形界面。除非您在引导菜 单里面指定 "Graphical install" 选项,否则默认将使用字符界面。更多的图形界面安装 程序信息,请参阅第 D.6 节 "图形安装程序"。 鼠标在基于字符的环境下无法使用。以下是对话框中您可以操作的键。在按钮和选项之间 可以用 Tab 或 right 箭头键 "前进",Shift+Tab 或 left 箭头键 "后退"。up 和 down 箭头键选择列表里面的选项,并可以滚动列表。另外,在长列表里面,您可以按下某个字 母直接跳到对应字母开头的选项,按下 Pg-Up 和 Pg-Down 可以快速滚动列表。space bar 可以选择像 checkbox 这样的选项。Enter 执行选择。 一些对话框可能会提供额外的帮助信息。如果有帮助信息,它们将在屏幕的最下面一行提 示,可以通过 F1 键访问这些帮助信息。 错误信息和日志被重定向到第四个控制台。您可以通过按下 Left Alt+F4 (按住左 Alt 键 同时按下 F4 功能键)访问该控制台;返回主安装进程使用 Left Alt+F1。 这些信息还可以在 /var/log/syslog 里找到。完成安装之后,该记录会被复制到您新系统 中的 /var/log/debian-installer/syslog。其它的安装信息安装时可以在 /var/log/ 找 到。在系统重新启动后记录的地方是 /var/log/installer/。 6.2. 组件介绍 下面列出安装程序使用的组件,和各个组件目的的简要说明。如果您需要了解各组件详细 的信息,见第 6.3 节 "使用单独的组件"。 main-menu 在安装过程中,显示组件列表,并执行选中的组件。主菜单的优先级为 medium,如果 您的优先级设为 high 或 critical (默认为 high),您不会看到菜单。另一方面,假 如出现问题需要您干预,询问的优先级会临时调低,从而让您解决该问题,菜单则可 能在这种情况下出现。 您可以通过不断地按 Go Back 按钮,从当前运行的组件回到主菜单。 localechooser 允许用户为安装程序和安装的系统选择地区选项: 语言、国家和位置。除非选中的语 言没有被翻译,安装程序将以您选择的语言显示信息。对于没有翻译的语言,将显示 英文信息。 kbd-chooser 显示键盘列表,用户在其中选择与自己匹配的模式。 hw-detect 自动识别绝大多数系统硬件,包括网卡、硬盘和 PCMCIA。 cdrom-detect 寻找并挂载 Debian 安装光盘。 netcfg 配置计算机网络连接,使它能连上互联网。 iso-scan 从硬盘上搜索 ISO 映象(.iso 文件)。 choose-mirror 列出 Debian 软件包镜像。用户可以选择从哪里安装软件包。 cdrom-checker 检验 CD-ROM 的完整。这种方法让确保用户所用的安装 CD-ROM 没有损坏。 lowmem 它会检测小内存容量的系统,并采用一些技巧从内存中删除 debian-installer 不需 要的部分(代价是丧失一些特性)。 anna Anna's Not Nearly APT。安装从选择的镜像或 CD 获取的软件包。 clock-setup 更新系统时钟,并决定时钟是否使用 UTC。 tzsetup 选择时区,并基于前面选择的地点。 partman 让用户为系统中的磁盘分区,在分区上创建文件系统,并分配挂载点。它包括一些有 趣的特性,如完全自动模式或 LVM 支持。Debian 里它是推荐使用的分区工具。 partitioner 允许用户为系统中的磁盘分区。根据用户计算机的体系选择适合的分区工具。 partconf 显示分区列表,按用户指令为选择的分区创建文件系统。 lvmcfg 协助用户配置 LVM (Logical Volume Manager)。 mdcfg 让用户建立 Software RAID (Redundant Array of Inexpensive Disks)。Software RAID 是新主板提供的廉价 IDE (虚拟硬件) RAID 控制器的高级管理。 base-installer 安装一些基本的包,让计算机重启后能在 Linux 下运行。 user-setup 建立 root 密码,然后添加一个非 root 用户。 apt-setup 配置 apt,大部分是自动完成,基于安装程序所运行的介质。 pkgsel 用 tasksel 选择安装额外的软件。 os-prober 检测当前计算机上安装的操作系统,将信息传递给 bootloader-installer,使它能将 检测到的操作系统添加到 bootloader 的启动菜单里面。方便用户选择启动哪个操作 系统。 bootloader-installer bootloader 安装程序在硬盘上安装 boot loader 程序,这是必须的一步,使得计算 机启动 Linux 不必依靠软盘和 CD-ROM。许多 boot loader 程序都允许用户在开机的 时候选择启动哪个操作系统。 shell 让用户能从菜单或者第二控制台执行 shell。 save-logs 当用户遇到麻烦时,提供一种方式记录信息到软盘、网络、硬盘或其他介质,用于以 后精确地给 Debian 开发人员报告安装程序的问题。 6.3. 使用单独的组件 本节将会描述各个安装组件的细节。组件按用户可以辨别的阶段分组。它们在安装过程中 依次出现。要知道,每次安装并不会使用所有的模块;至于哪些模块被用到,取决于安装 方法以及使用的硬件。 6.3.1. 启动 Debian 安装程序与配置硬件 假设 Debian 安装程序已经启动,然后您看到了初始画面。此时,debian-installer 的能 力还很有限。它还不了解您的硬件,首选的语言,甚至不知道要执行什么任务。不必担心 ,因为 debian-installer 相当聪明,它能自动探测您的硬件,定位其余的组件,并更新 自己以具备安装系统的能力。但您仍然要协助 debian-installer,提供给它不能自动决定 的内容(比如选择您首选的语言、键盘布局或网络镜像)。 您会留意到 debian-installer 在本阶段多次执行硬件侦测。第一次明确的目的是那些加 载安装组件所需要的硬件(比如,您的 CD-ROM 或者网卡)。在第一次运行的时候并不是所 有的驱动程序都就绪,硬件侦测会在后续过程多次重复。 在硬件侦测过程中, debian-installer 会检测系统中是否有硬件驱动程序需要加载固件 (firmware)。如果没有找到所需的固件,将会弹出一个对话框让您可以从移动介质加载所 缺的固件。参阅第 6.4 节 "加载缺失的固件" 获得详细信息。 6.3.1.1. 检测可用内存/小内存模式 debian-installer 首先要做的一件事是检测有效的内存。如果内存有限,该组件将修改后 续的安装进程,使您可以将 Debian GNU/Linux 安装到您的系统上。 安装程序用于减少内存消耗的第一项措施是关闭翻译,也就是说,安装将只在英文下进行 。当然,您在安装完成之后还是可以进行本地化设置。 如果还不行,安装程序只加载那些完成基本安装的模块,进一步减少内存消耗。这将减少 安装系统的功能。您还有机会手动加载额外的组件,但要留意每个选择的组件都会使用更 多的内存,有可能使安装失败。 如果安装程序运行在小内存模式下,建议创建一个相对较大的交换分区(64-128MB)。交换 分区会被当作虚拟内存,使系统可用的内存总量增加。安装程序会在安装过程的尽早阶段 激活交换分区。注意,过多地使用交换分区会降低系统性能,增加磁盘活动。 尽管如此,您的系统还可能冻结,因为系统内存溢出(VT4 和 syslog 上产生 "Out of memory" 信息),出现没有预期的错误,或者进程被内核杀死。 例如,有报告称,小内存模式下,当交换分区不够大,创建一个大的 ext3 文件系统会失 败。如果大的交换分区也不能解决问题,请建立 ext2 文件系统(它是安装程序的基本组 件)代替。安装之后是可以将 ext2 分区改成 ext3。 可以通过引导参数 "lowmem" 强制安装程序使用比实际内存更高的 lowmem 等级,说明见 第 5.3.1 节 "Debian 安装程序的参数"。 6.3.1.2. 选择地区选项 大多时候,您遇到的第一个问题是关于地区的选项,将用于安装过程和安装后的系统。地 区选项由语言、位置和地区组成。 您选择的语言将用于紧接着的安装过程,对话框已经有各种语言翻译的版本。如果选择的 语言没有对应翻译的版本,安装将默认使用英文。 在之后的安装过程中,所选择的地理位置(多数情况下是国家)还会被用于选择正确的时区 和该国对应的 Debian 镜像。语言和国家合起来还有助于确定您系统默认的 locale,以及 键盘布局。 您将被首先问到首选的语言。语言名称同时以英文(左侧)和该语言(右侧)列出;右侧名称 是使用该语言来书写。列表以英文名称排列。在列表的顶端是一个额外的选项,允许您使 用 "C" locale 替代语言。选择 "C" locale 使得安装过程使用英文;安装的系统不再有 本地化支持,locales 软件包也不会安装。 接下来将要求您选择地理位置。如果您选择的语言被多个国家作为官方语言^[12],列表中 只列出这些国家。如果想要选择列表之外的国家,选择 other(最后一项)。您将看到大洲 列表;选择洲之后会看到该大洲上的国家。 如果语言只对应一个国家,国家列表只显示该国所属的大洲和地区,并且该国被选中作为 默认。使用 Go Back 选项可以选择其他大洲的国家。 注意 选择您居住的国家和地区非常重要,这将决定您安装好的系统所配置时区。 如果您组合的语言和国家没有对应的 locale,而该语言有多个对应的 locale,安装程序 允许您从中选择一个默认的 locale 用于安装完成的系统。^[13]。其余情况下,默认会选 择基于该语言和国家的 locale。 前面章节选择的任何默认 locale 都将使用 UTF-8 作为字符编码。 如果您使用 low 优先级安装,您可以选择额外的 locale,包括那些称为"传统"的 locale ^[14],用于安装完成的系统;如果这样选择,您将被询问使用哪种 locale 作为安装完成 系统中的默认 locale。 6.3.1.3. 选择键盘 键盘经常按照不同语言使用的字符裁剪。为您使用的键盘选择一个合适布局,如果没有合 适的布局,就选择一个近似的。一旦系统安装完毕,您可以从更大范围内选择键盘的布局 (在安装完之后以 root 身份执行 kbd-config)。 将高亮显示部分移到您期望键盘选择,然后按下 Enter。用箭头健移到高亮显示 -- 它们 位于所有国家键盘布局相同的地方,因此独立于键盘配置。'扩展的'键盘具有 F1 到 F10 健,与顶端平行。 6.3.1.4. 寻找 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.5. 配置网络 进入到这一步,如果系统检测到有多个的网络设备,您将被要求选择哪个设备是主网络接 口,比如,在安装中使用的那个。其他的网络接口这时不会配置。您可以在安装完毕之后 去配置额外的接口;参考 interfaces(5) man 手册。 默认情况下,debian-installer 会试着用 DHCP 自动配置您的计算机网络。如果侦测 DHCP 成功,这一步就完成。如果失败,造成的原因会有多种因素,从没有接网线到错误设 置的 DHCP,或者您的局域网里面根本就没有 DHCP 服务器。检查第四个控制台上的错误信 息,了解更多的说明。不管怎样,您都会被要求选择是再试一次,还是手动配置。DHCP 服 务器有时候响应很慢,如果您确定都正常,请再试一次。 手动配置网络会依次询问一些您网络的问题,值得注意的是 IP 地址、网络掩码、网关、 域名服务器地址和主机名。此外,如果您有无线网络接口,会被要求提供您的无线 ESSID 和一个 WEP 密钥。填写答案第 3.3 节 "一些有用的信息"。 注意 您也许需要将一些技术细节放在手边:程序假定网络 IP 地址是您系统的 IP 地址和网络 掩码按位与。默认的广播地址是通过您系统的 IP 地址和按位反网络掩码按位或计算得来 。它也会猜测您的网关。如果您不能回答这些问题,让系统猜测 -- 如果需要,在系统安 装完毕之后,通过编辑 /etc/network/interfaces 文件进行修改。 6.3.1.6. 配置时钟和时区 安装程序首先尝试连接互联网上的时间服务器 (使用 NTP 协议) 来校准系统时间。如果没 有成功,安装程序假设启动时获得的时间和日期是正确的。在安装过程中没法手动对系统 时间进行设置。 基于安装过程前面所选择的地理位置,您将看到系统只列出与其地点相关的时区列表。如 果该地只对应一个时区并且是默认安装,那么系统就不会询问而直接使用该时区。 expert 模式或者使用 medium 优先级安装,您可以通过额外的选项选择 "Coordinated Universal Time" (UTC) 作为时区。 如果出于某些因素您不想设置时区为所选择的地点,这里有两个选项。 1. 最简单的方法,是在安装完成后重新启动,进入新系统,选择一个不同的时区。该命 令为: # dpkg-reconfigure tzdata 2. 另外一种方法是,时区可以在安装启动后的安装程序最初阶段通过传入参数 time/ zone=value 进行设置。其中的 value 当然要求是一个有效的时区,例如 Europe/ London 或 UTC。 自动安装可以通过预置设置任何所需的时区。 6.3.2. 分区与选择挂载点 现在,经过最后的硬件检测,debian-installer 应该准备就绪,按照用户定制,进行实质 性的工作。正如本节标题指明,接下来组件的主要任务是为您的硬盘分区、创建文件系统 、安排挂载点,还可以选择为 RAID、LVM 或加密设备这组选项进行配置。 要是您对分区还有心存疑虑,或者只是想多了解一些细节,请参阅附录 C, 为 Debian 准 备分区。 首先,您可以选择对整块硬盘或是其上的空闲空间进行自动分区。这也被称为"导引式 (guided)"分区。如果不想使用自动分区,也可以从菜单中选择 Manual 手动分区。 6.3.2.1. 支持的分区选项 debian-installer 里面使用的 paritioner 近乎万能。它可以采用不同的分区表、文件系 统和高级块设备创建多种分区方案。 具体可以使用哪些选项主要取决于体系架构,一些其他的因素也对此有影响。例如,有的 系统上内存大小限制了一些选项的使用。默认值也会相应变化。比如大容量的硬盘比小容 量的硬盘默认使用的分区表就不同。一些选项只能在使用 medium 或 low 优先级安装下改 变;高优先级下会采用默认值。 安装程序支持多种高级分区和存储设备,很多情况下可以组合使用。 ● 逻辑卷管理(LVM) ● Software RAID 支持 RAID levels 0, 1, 4, 5, 6 和 10。 ● 加密 ● Serial ATA RAID (采用 dmraid) 也称为 "fake RAID" 或 "BIOS RAID"。对 Serial ATA RAID 当前只在安装程序启动 时打开才支持。详细信息请参考我们的 Wiki。 ● Multipath (experimental) 参考我们的 Wiki 了解更多信息。对于 multipath 只在安装程序启动时打开才支持。 支持下列的文件系统。 ● ext2, ext3, ext4 多数情况下默认的文件系统选择的是 ext3;使用导引式分区时 /boot 分区选择 ext2 作为默认值。 ● jfs (并不是所有架构都支持) ● xfs (并不是所有架构都支持) ● reiserfs (选项;并不是所有架构都支持) 默认情况下 Reiser 文件系统不再支持。安装程序运行在 medium 或 low 优先级下时 ,可以通过选择 partman-reiserfs 组件打开。只支持文件系统版本 3。 ● qnx4 识别已存在的分区并挂载它们。不可以创建新的 qnx4 分区。 ● FAT16, FAT32 ● NTFS (只读) 已存在的 NTFS 分区可以调整大小,并挂载它们。不能创建新的 NTFS 分区。 6.3.2.2. 导引式分区 如果您选择导引式分区,可以有三种选择:直接在硬盘上创建分区(经典方式),或使用逻 辑卷管理(LVM),或使用加密 LVM。^[15] 注意 (加密) LVM 的选项并不是在所有体系下都可用。 使用 LVM 或加密 LVM,安装程序将在一个大分区上创建很多分区;这种方式的优点在于该 大分区内的分区以后改变尺寸相对比较容易。如果没有一个特殊的密码,加密 LVM 的大分 区将无法读取,对您的(私有)数据提供了额外的安全性。 使用加密 LVM 时,安装程序将随机写入数据自动清除磁盘。这提升了安全性(使得无法获 知磁盘的哪一部分被使用,并使此前的安装轨迹被清除),根据磁盘的大小会耗费一些时间 。 注意 假如您用导引式分区选择 LVM 或加密 LVM,在 LVM 建立的时候,分区表中的一些变更需 要写入到所选的磁盘。这些变更会删除当前硬盘上的数据,以后将无法撤销。当然,安装 程序会在写入磁盘之前让您确认。 假如用导引式分区(经典方式或(加密)LVM)选择整个磁盘,您会首先被要求选择将要使用的 磁盘。检查一下您所有的磁盘都被列出,如果有多个磁盘,确认所选是您真正要使用的那 块。排列的次序可能与以前的不同。磁盘的尺寸将会帮助您识别它们。 所选磁盘上的所有数据将会丢失,但您总会在写入磁盘前得到提示进行确认。如果选择了 经典分区方式,您将可以在整个过程中撤销任何修改;而使用(加密) LVM 将无法撤销。 下来,您将从下表所列的几个方式中进行选择。每个方式都各有利弊,其中的一些讨论见 附录 C, 为 Debian 准备分区。如果没有把握,就选择第一个选项。有一点要记住,就是 使用导引式分区至少需要一定大小的空闲空间才能正常运作。如果没有给它 1GB 以上的空 间(具体大小视所选的方式而不同),那么导引式分区将以失败告终。 ┌───────────────────────────────────┬───────────┬─────────────────────────────┐ │ 分区方式 │所需最小空 │ 所新建的分区 │ │ │ 间 │ │ ├───────────────────────────────────┼───────────┼─────────────────────────────┤ │所有文件在同一分区 │600MB │/, swap │ ├───────────────────────────────────┼───────────┼─────────────────────────────┤ │建立 /home 分区 │500MB │/, /home, swap │ ├───────────────────────────────────┼───────────┼─────────────────────────────┤ │分别建立 /home、/usr、/var 和 /tmp │1GB │/, /home, /usr, /var, /tmp, │ │分区 │ │swap │ └───────────────────────────────────┴───────────┴─────────────────────────────┘ 如果您选择使用(加密) LVM 导引式分区,安装程序还会创建一个单独的 /boot 分区。其 他的分区,除了交换分区,都会建在 LVM 分区之内。 在选定了分区方式后的下一个界面,您会看到关于自己分区的一张表格,上面标明了分区 是否将被格式化,将以何种方式格式化,以及它们将被挂载到哪里的相关信息。 分区表格的格式如下: IDE1 master (hda) - 6.4 GB WDC AC36400L #1 primary 16.4 MB B f 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 f ext3 / #6 logical 1.0 GB f ext3 /var #7 logical 498.8 MB ext3 #8 logical 551.5 MB swap swap #9 logical 65.8 GB ext2 本例中有两块 IDE 硬盘,它们分别被分割成了几个分区。第一块硬盘上还有些空闲空间。 表中每行列出了分区编号、类型、大小、选项标志、文件系统和挂载点(如果有的话)。注 意:导引式分区方式不能创建这些特殊的设置,但使用手动方式分区的结果会有所不同。 接下来,导引式分区就要完成了。如果您对上面生成的分区信息表感到满意,那么请在菜 单中选择 Finish partitioning and write changes to disk 一项来创建新分区表(本节 末将会对此进行解释)。如果您认为分区设置不如愿,那么可以选择 Undo changes to partitions,然后再次运行导引式分区,或者按照下面的介绍进行手动分区。 6.3.2.3. 手动分区 如果您选择手动分区的话,它的界面和上面介绍的导引式分区大体上相同。不同之处在于 ,界面上显示的是您当前的分区列表,而且其中并没有挂载点的信息。关于如何手动设置 您的分区表,以及新安装的 Debian 系统将如何使用这些分区,将会在本节的后面谈到。 倘若您选用的是一块全新的硬盘,它还没有被分过区,上面也没有空闲空间。那么系统会 要求新建一个分区表(只有这样,您才能创建新的分区)。分区表建好之后,在被选中的磁 盘条目下出现一个新行,上面写着 "FREE SPACE"。 如果您选中了某块空闲空间,那么就可以在上面新建分区了。接着需要回答一系列简短的 问题,它们会就分区大小、类型(主分区还是逻辑分区)、以及分区的位置(在空闲空间的开 始部分还是在结束部分)向您询问。回答完毕后,您会看到一个新分区的小结。主要设置是 Use as:,它决定一个分区上是否会有文件系统,或被用作交换分区、软 RAID、LVM 和加 密文件系统,或者根本就放着不用。其他的设置包括挂载点、挂载选项和启动标识;这些 是否显示由分区的使用方式决定。如果您不喜欢预设的缺省设置的话,尽可以按照自己的 喜好更改它们。比如说,选中 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)。 在您对分区设置感到满意后,就可以选择分区菜单中的 Finish partitioning and write changes to disk 一项。在这之后,会出现一个清单,它列出了即将在硬盘上进行的所有 操作。此时,安装程序会让您确认是否就照此分区。 6.3.2.4. 配置多磁盘设备(软 RAID) 如果您的计算机上有多个硬盘^[16],可以用 mdcfg 配置硬盘以提升效能和/或更好的数据 可靠性。这种结果称为多磁盘设备(Multidisk Device)(或者更流行的软 RAID)。 MD 本质上是一束位于部分磁盘上的分区,组合在一起形成一个逻辑设备。该设备可以像正 常的分区一样使用(比如可以用 partman 格式化,分配挂载点,等等)。 得到什么样的好处取决于您创建的 MD 类型。当前支持的类型有: RAID0 它的主要目标是效能。RAID0 将进来的数据分割成 stripes 然后平均分配到组里面的 每个硬盘上。这样可以提升读/写操作速度,但是一旦其中的一个硬盘损坏,您将丢失 一切(部分信息在好盘上,其他的曾经在坏盘上)。 典型的 RAID0 案例是应用在视频编辑的分区。 RAID1 适用于可靠性作为优先考虑的场合。它由多个(通常两个)相同尺寸的分区组成,每个 分区容纳相同的数据。这意味着三件事。第一,如果其中的一个损坏,您仍然有数据 镜像在其余的磁盘上。第二,您只能使用现有容量中的碎片(更准确的说,它是 RAID 中尺寸最小的磁盘分区)。第三,文件读取在磁盘间负载平衡,这可以提升服务器的性 能,如文件服务器,它倾向于读的负载大于写。 可选择的是,您可以用备用的磁盘放在组中,用于顶替事故中损坏的磁盘。 RAID5 这是一个速度、可靠性和数据冗余都不错的折衷方案。RAID5 将进来的数据分割成 strips (类似于RAID0),但只平均分配到一个磁盘上。与 RAID0 不同,RAID5 还会计 算奇偶校验信息,这将会写入其他磁盘。奇偶检验磁盘不是静态的(那被称为 RAID4) ,会周期性的修改,所以奇偶校验信息平均分配到所有磁盘。当其中的一个磁盘损坏 ,丢失信息的部分可以从其他数据以及奇偶校验计算出来。RAID5 最少需要三个活动 的分区。作为选项,您可以用备用的磁盘放在组中,用于顶替事故中损坏的磁盘。 如您所见,RAID5 近于 RAID1 的可靠性并具有较少冗余。另一方面,它只比 RAID0 在写入的时候慢,这是因为要计算校验信息。 RAID6 它与 RAID5 近似,但使用两个校验设备而不是一个。 RAID6 阵列可以容忍两个磁盘损坏。 RAID10 RAID10 组合了 striping (如 RAID0) 和 mirroring (如 RAID1)。它创建输入数据的 n 个拷贝,并将它们分配到不同的分区,使得相同数据的拷贝不会放在相同的的设备 上。默认的 n 值为 2,但可以在专家模式(export mode)下进行设置。分区数至少是 n。RAID10 有不同的分配拷贝布局(layout)。默认为 near copies。near copies 有 所有磁盘上相同 offset 的所有拷贝。far copies 有磁盘上不同 offset 的拷贝。 offset copies 复制 stripe,而不是整个拷贝。 RAID10 能可靠且冗余地存储,而没有计算校验的缺点。 总结: ┌──────┬───────┬───────┬───────────────┬─────────────────────────────────────┐ │ 类型 │最少设 │备用设 │幸免于磁盘损坏 │ 可用空间 │ │ │ 备 │ 备 │ ? │ │ ├──────┼───────┼───────┼───────────────┼─────────────────────────────────────┤ │RAID0 │2 │否 │否 │容量为最小分区乘以 RAID 设备数 │ ├──────┼───────┼───────┼───────────────┼─────────────────────────────────────┤ │RAID1 │2 │可选 │是 │容量为 RAID 最小分区 │ ├──────┼───────┼───────┼───────────────┼─────────────────────────────────────┤ │RAID5 │3 │可选 │是 │容量为最小分区乘以(RAID 设备数量减一)│ ├──────┼───────┼───────┼───────────────┼─────────────────────────────────────┤ │RAID6 │4 │可选 │是 │容量为最小分区乘以(RAID 设备数量减二)│ ├──────┼───────┼───────┼───────────────┼─────────────────────────────────────┤ │RAID10│2 │可选 │是 │所有的分区数除以 chunk 拷贝数(默认为 │ │ │ │ │ │二) │ └──────┴───────┴───────┴───────────────┴─────────────────────────────────────┘ 如果您想真正全面了解软 RAID,看一下 Software RAID HOWTO。 为了创建 MD 设备,您需要将期望的分区标记为供 RAID 使用。(通过 Partition settings 菜单的 partman 完成,您应该选择 Use as: → physical volume for RAID。) 注意 请确保系统可以从您规划的分区引导。当使用 RAID 作为根 (/) 文件系统时,通常需要创 建一个单独的文件系统给 /boot。多数的 boot loaders (包括 lilo 和 grub) 支持 mirrored (而非 striped!) RAID1,所以例如使用 RAID5 给 / 同时 RAID1 给 /boot 是 一种方式。 警告 在安装程序中支持 MD 是相对新的功能。如果您尝试结合一些 RAID 类型与启动引导器并 将 MD 用于根(/)文件系统,您也许会经历一些挫折。对有经验的用户,从 shell 手动地 处理一些配置和安装步骤,也许会绕开这些问题。 下一步,您应该从 partman 主菜单选择 Configure software RAID。(菜单只会在您用 physical volume for RAID 标记了至少一个分区时出现。)在 mdcfg 第一个画面选择 Create MD device。您将看到被支持的 MD 设备列表,您应从其中选择一项(如 RAID1)。 后续操作会根据您选择的 MD 类型而定。 ● RAID0 是简单的 -- 您会看到可用的 RAID 分区,然后您的任务仅是选择那些想要组 成 MD 的分区。 ● RAID1 需要一些技巧。首先,您将要求输入组成 MD 的活动设备和备用设备数量。其 次,您需要从 RAID 可用分区列表中选择哪些是活动分区,哪些是备用的。选择的分 区总数必须与之前提供的数目相同。别担心,如果您出错选择了不一样的分区数, debian-installer 将不会允许您继续下去,直到纠正错误。 ● RAID5 的配置过程类似于 RAID1,只是您至少需要三个活动分区。 ● RAID6 的配置过程类似于 RAID1,只是您至少需要四个活动分区。 ● RAID10 除了专家(export mode)模式之外也和 RAID1 的设置过程相似。在专家模式下 ,debian-installer 将询问您布局(layout)。布局由两部分组成。第一个部分是布局 类型。可以是 n (对应 near copies)、f (对应 far copies) 或 o (对应 offset copies)。第二部分是组成数据的拷贝数。这些活动设备必须是让所有的拷贝可以分布 到不同磁盘。 完美的解决方案或许是同时使用不同的 MD 类型。例如,您有三块 200 GB 的硬盘打算用 于 MD,每块包含两个 100 GB 的分区,您可以将三块硬盘上的第一组分区组成 RAID0 (高 速的 300 GB 视频编辑分区),其余的三个分区(2 个活动 1 个备用)用于 RAID1 (相当可 靠的 100 GB 分区用于 /home)。 按您需要配置 MD 设备之后,您可以 Finish mdcfg 返回到 partman,去创建文件系统到 您的新 MD 设备,并分配挂载点这样的属性。 6.3.2.5. 配置逻辑卷管理(LVM) 如果您做计算机系统管理员工作或者"高级"用户,一定遇到过磁盘分区(经常是最重要的那 个)空间不足,同时其他的分区却不能平衡使用,然后不得不靠移到或符号链接等方法来折 腾。 为了避免上面描述的情况,您可以采用逻辑卷管理(LVM)。简而言之,使用 LVM 可以组合 您的分区(物理卷(physical volumes),LVM 术语)形成一个虚拟盘(称为卷组(volume group)),它可以被分割成虚拟分区(逻辑卷(logical volumes))。逻辑卷(当然底层是卷 组)的亮点在于它可以跨越多个物理磁盘。 当您认觉得需要更多的空间给已有的 160 GB 的 /home 分区时,只需加一个新的 300GB 磁盘到计算机,添加进已经存在的卷组,然后为 /home 分区的逻辑卷重新设置尺寸,瞧 -- 您的用户在更新的 460GB 分区上又有了空间。这个例子当然过于简单。如果您还还没 有读过,应该查阅 LVM HOWTO。 在 debian-installer 里面设置 LVM 很简单,partman 完全支持。首先,必须为 LVM 标 记您的分区为物理卷。这在 Partition settings 菜单里完成,那里您应该选择 Use as: → physical volume for LVM 当您返回 partman 主界面,将看到一个新选项 Configure the Logical Volume Manager 。选择它,首先会被要求确认修改分区表(如果有的话),然后 LVM 配置菜单才显示出来。 菜单上部显示了 LVM 配置的小结。菜单项本身是与内容相关,只显示可用的操作。可能的 操作有: ● Display configuration details: 显示 LVM 设备结构,名称和逻辑卷尺寸等 ● Create volume group ● Create logical volume ● Delete volume group ● Delete logical volume ● Extend volume group ● Reduce volume group ● Finish: 返回 partman 主界面 使用该菜单内的选项首先创建卷组,然后在里面创建逻辑卷。 返回到 partman 的主界面之后,可以看到新建的逻辑卷与其他普通的分区一样(您也应该 这样对待它们)。 6.3.2.6. 配置加密卷 debian-installer 允许您建立加密分区。写入该分区的每个文件都立即存为加密形式。只 有在输入 passphrase 通过认证之后才能访问加密后的数据,口令是在加密分区创建时设 置的。该特性用于保护您被盗的便携机或硬盘上的敏感数据。盗贼或许可以访问硬盘,但 是没有正确的口令,硬盘上的数据看起来就像是随机的字符。 有两个需要加密的重要分区:home 分区,驻留您的私人数据,以及交换分区,敏感的数据 在操作时会临时保存在这里。当然,这不影响您加密任何其他的分区。例如,数据库服务 器、邮件服务器或打印服务器上用来保存数据的 /var。或者 /tmp,很多程序用来保存临 时文件。有些人或许需要加密整个系统。惟一的例外是,/boot 分区必须保持未加密,这 是因为当前没有办法从加密分区加载内核。 注意 请注意,加密分区的性能将低于未加密的状态,这是由于数据在每次读写时都要进行加密 和解密。性能将与您的 CPU 速度、选择的加密算法和密钥长度紧密相关。 为了使用加密,您必须在主分区菜单选择空闲的空间创建一个新分区。另一种是使用现有 的分区(例如,普通的分区、一个 LVM 逻辑卷或者 RAID 卷)。在 Partition setting 菜 单,您需要选择 physical volume for encryption,其位于 Use as: 选项。菜单将包含 分区的加密选项。 debian-installer 支持多种加密方法。默认的方法为 dm-crypt (已经包含在新的 Linux 内核中,用于 LVM 物理卷),另外一种是 loop-AES (旧方法,在 Linux 内核树之外单独 维护)。除非您另有特别的原因,推荐使用默认的方法。 首先,让我们来看看选择 Device-mapper (dm-crypt) 作为加密方法后可用的选项。一般 规律:如果不能确定,就使用默认项,因为它们是经过审慎的安全考虑的选择。 Encryption: aes 该选项让您选择加密算法(cipher),它用来加密分区上的数据。debian-installer 当 前支持以下 block ciphers:aes、blowfish、serpent 和 twofish。讨论这些算法的 质量超出了本文的范畴,但是,您应该知道,在 2000 年,AES 被 American National Institute of Standards and Technology 选择作为标准的加密算法,用于 保护 21 世纪的敏感信息。 Key size: 256 这里您可以指定密钥长度。使用较长的密钥,加密的能力自然得到提升。另一方面, 增加长度自然会降低性能。cipher 决定可用的密钥长度。 IV algorithm: cbc-essiv:sha256 Initialization Vector 或 IV 算法是确保加密过程中用同一个密钥对于同一 clear text 将产生惟一的 cipher text。用于防止攻击者根据加密数据中的重复模板推断信 息。 与其替代者比较,默认的 cbc-essiv:sha256 是当前已知的具有最少的攻击漏洞。您 只有在需要保持与以前安装的系统兼容,而它们无法使用新的算法时,才使用其他的 算法。 Encryption key: Passphrase 这里您可以为分区选择所使用的加密密钥类型。 Passphrase 加密密钥将基于 passphrase 计算^[17],使用时要求输入。 Random key 当您每次使用加密分区的时候,会从随机数据中生成一个新的加密密钥。换句话 说:每次关机驻留在内存里面的密钥删除以后分区上的内容将丢失。(当然,您会 猜想该密钥将面临暴力破解,但是除非加密算法中有未知的弱点,这辈子也不会 被攻破。) 随机密钥用于交换分区,这样您就不必为记住 passphrase 或关机前清除交换分 区上的敏感信息而费神。然而,这也意味着您将无法使用新 Linux 内核提供的 "suspend-to-disk" 功能,因为它将无法(在下次启动时)恢复写入到交换分区的 数据。 Erase data: yes 决定在建立加密前是否使用随机数据覆盖分区内容。推荐这种方式,否则攻击者将会 发现分区的哪些部分使用而哪些没有使用。另外,这将使安装前的内容很难恢复^[18] 。 如果您选择了 Encryption method: → Loopback (loop-AES),菜单选项将变成下面内容: Encryption: AES256 不像 dm-crypt,loop-AES 选项的 cipher 和密钥长度是组合在一起的,这样您可以 同时选取。请查阅前面关于 cipher 和密钥长度的章节了解更多信息。 Encryption key: Keyfile (GnuPG) 这里您可以为分区选择加密密钥的类型。 Keyfile (GnuPG) 加密密钥会在安装过程中使用随机数据生成。并且该密钥使用 GnuPG 加密。要使 用它,您需要输入正确的 passphrase (在以后会要求提供)。 Random key 请查阅前面有关随机密钥的章节。 Erase data: yes 请查阅前面有关删除数据的章节。 当您选择好加密分区参数之后,返回分区主菜单。现在会有一个新的菜单项 Configure encrypted volumes。选择它,您会被要求确认删除所标记分区上的数据,以及写新分区表 等动作。对于大的分区,这会花一些时间。 接下来,您会被要求输入 passphrase 用于配置的分区。好的口令应该长于 8 个字符,并 混合字母、数字和其他字符,而不应该是普通词典中的单词或者容易与您相关的信息(比如 生日、爱好、宠物的名字、以及家里其他成员的名字,等等)。 警告 在输入任何 passphrase 之前,您应该确定键盘配置正确可以输入所需要的字符。如果您 不能肯定,可以切换到第二虚拟控制台,在提示符下敲一些文字。这能保证您以后不必惊 慌失措,例如,想要使用 qwerty 键盘输入的 passphrase,而在安装时却使用的是 azerty 布局。造成的原因有多种。也许是您在安装过程中改变了键盘布局,或者是所选择 的键盘布局未能正确建立,而且是在为根文件系统输入 passphrase 的时候。 如果您选择 passphrase 之外的方法创建加密密钥,它们现在就会生成。因为内核在安装 的早期阶段还没有足够的熵,过程会长一些。您可以产生一些熵以加快速度:例如,随机 的按下一些键,或者切换到第二虚拟控制台的 shell 产生一些网络或磁盘的动作(下载一 些文件,将一些大文件送到 /dev/null 等等)。这个过程在每个要加密的分区重复进行。 返回主分区菜单后,您将看到所有的加密卷作为额外的分区,它们可以像其他的普通分区 一样配置。下面例子中显示了两种不同的卷。第一个是使用 dm-crypt 加密的,第二个采 用 loop-AES。 Encrypted volume (sda2_crypt) - 115.1 GB Linux device-mapper #1 115.1 GB F ext3 Loopback (loop0) - 515.2 MB AES256 keyfile #1 515.2 MB F ext3 现在可以给卷设置挂载点,如果默认的文件系统类型对您不合适,可以进行修改。 要留意括号里的标识(本例中 sda2_crypt 和 loop0) 和您为每个加密卷所设置的加载点。 启动新系统的时候您会需要该信息。关于普通引导过程和使用加密后引导过程之间的差异 ,将在后面的第 7.2 节 "挂载加密卷" 说明。 当您满意分区之后,可以继续安装过程。 6.3.3. 安装基本系统 尽管这一阶段少有问题,但却需要大量时间用于整个基本系统的下载、校验和解包。如果 您用较慢的计算机或网络,这要花费好一会儿时间。 在基本系统安装期间,软件包解包和配置信息重定向到 tty4。您可以通过按下 Left Alt+ F4 访问该终端;返回主安装进程使用 Left Alt+F1。 在安装程序通过串口控制台执行的情况下,基本系统安装时解包/配置信息保存在 /var/ log/syslog。 作为安装的一部分,Linux 内核也要安装。在默认的优先级下,安装程序会选择一个与您 硬件最匹配的内核。在较低的优先级下,您可以从列表中选择一个有效的内核。 在使用包管理系统安装软件包时,将默认安装该软件包推荐的软件包。这些推荐的软件包 并不影响要安装软件包的核心功能,但可以增强其功能。从软件包维护人员的角度看,正 常情况下应该安装这些软件。 注意 由于技术的原因,安装基本系统时所安装的软件包并不会安装对应的"推荐软件包"。上面 提到的原则只适用于之后的安装过程。 6.3.4. 设置用户和密码 系统安装之后,安装程序要求您创建 "root" 帐号和/或第一个用户帐号。其他的用户帐号 可以在安装完成之后创建。 6.3.4.1. 设置 root 密码 root 帐户也被称为超级用户;系统中的所有的安全防护措施对以该身份登录的都是无效的 。root 帐户应该仅用来进行系统管理,而且使用时间应该尽可能短。 您所创建的任何密码都应该包含至少 6 个字符,同时包含大小写字母,并且最好带有标点 符号等特殊字符。因为超级用户具有最高权限,因此在您设置 root 密码时尤其需要小心 。请避免采用能够在字典中查到的单词或者很容易猜测的个人信息。 如果他人向您索取您的 root 密码,也需要特别谨慎。除非您所管理的系统有多位管理员 ,否则通常不应该将超级用户密码交给别人。 6.3.4.2. 创建一个普通用户 系统会询问您现在是否希望创建一个普通帐户。您将使用该帐户进行日常登录操作。切记 ,平时不要使用 root 帐户登录或者将其作为个人帐号使用。 为什么呢?避免使用 root 特权帐户的一个原因是,它很容易对系统造成无法挽回的破坏 。另一个原因是,您有可能被恶意诱使运行特洛伊木马程序 -- 这是一种利用超级用户权 限在您未知的情况下损害系统安全的程序。任何合格的 Unix 系统管理书籍中都会涉及到 这一主题 -- 如果您不是很了解这方面的内容,建议找一本进行学习。 您首先会被要求输入用户的全名。然后要求输入用户帐号名;通常您的名字或者类似的便 满足要求,并为缺省值。最后,您将要求输入该帐号的密码。 如果在安装完毕后还希望建立其它新帐户,请使用 adduser 命令。 6.3.5. 安装额外的软件 现在,您拥有了一个可用但有限的系统。大多数用户会安装额外的软件,并根据他们的需 求进行调整,安装程序允许您这么做。如果您的电脑或网络比较慢,这一步或许比安装基 本系统还要花时间。 6.3.5.1. 配置 apt 在 Debian GNU/Linux 系统上,apt-get 是一个人们用来安装软件包的程序,它被包含在 apt 软件包中^[19]。其他的包管理前端程序,像 aptitude 和 synaptic 也在使用。这些 前端软件推荐给新用户使用,因为它们在良好的用户界面下集成了一些其他特性(搜索包与 状态检验)。事实上,aptitude 现在已经建议作为软件包管理工具使用。 您必须设置 apt,使它明白该从哪里获取软件包。设置的结果写入到 /etc/apt/ sources.list 文件里面,安装完成后您可以检查并编辑成自己喜欢的地方。 如果您在默认优先级下进行安装,安装程序会自动处理大部分配置,它是根据您使用的安 装方法以及在安装开始时所做的选择。如果您安装的是稳定版,大多数情况下安装程序程 序会自动加上安全镜像,它是 "volatile" 更新服务的镜像。 如果您采用较低的优先级安装 (比如,expert 模式),就要自己做更多的判定。您可以选 择是否使用安全、或者 volatile 更新服务,并能选择从 "contrib" 和 "non-free" 软件 仓库里面添加软件包。 6.3.5.1.1. 从多个 CD 或 DVD 安装 假如从一张 CD 或 DVD 安装,而它只属于所要安装程序的一部分,安装程序会询问您是否 需要检测其他的 CD 或 DVD。如果您手头有这些光盘,检测后安装程序就可以使用它们里 面的软件包了。 假如您没有这些 CD 或 DVD,也没关系:它们不是必须的。如果您也不使用网络镜像(下节 说明),意味着下一步中选择的任务里面并非所有的软件包都会安装。 注意 CD(和 DVD) 里面包含的软件包按照流行程度排列次序。也就是说,第一张光盘里面是最常 用的软件,而最后一张光盘里面包含的是很少有人用到的软件。 这也意味着购买或者下载刻录所有 CD 是一种浪费,因为大部分光盘您根本不会用到。多 数情况下,只需要使用前 3 到 8 张 CD,然后从网络镜像安装其他要用的软件包。DVD 的 情况类似:只要一张,或者前两张 DVD 就能满足您大部分要求。 根据经验,常见的桌面安装(使用 GNOME 桌面环境)只需要前三张 CD。其他的桌面环境 (KDE 或 Xfce),就需要额外的 CD。而第一张 DVD 就可以轻松地满足所有的三种桌面环境 。 如果您检测了多张 CD 或 DVD,安装程序会在需要其他盘上的软件包时,提示您换盘。注 意,只有同属于一个套件的 CD 或 DVD 需要检测。检测的次序并不是非常重要,但按照次 序来可以降低出错的几率。 6.3.5.1.2. 使用网络镜像 多数安装下会有一个问题被问到,是否需要使用网络镜像作为软件包的源。多数情况下默 认答案会很好,但还是有一些例外。 如果没有使用完整版的 CD 或 DVD,或者完整版的 CD/DVD 映像,您就应该使用网络镜像 ,否则只能得到一个有限的系统。然而,假如您有互联网连接限制,在安装过程的下一步 最好不要选择 desktop 任务。 如果您是从完整的 CD 或 CD 映像安装,虽然添加网络镜像并不是必须的,但仍建议您采 用,这是因为单张 CD 所能容纳的软件包数量是有限的。假如您有互联网连接限制,这里 最好不要选择网络镜像,只使用当前 CD 上的软件包完成安装,以后(比如,重新启动到新 系统)再安装额外的软件包。 如果您从 DVD 或使用 DVD 映象安装,安装过程中需要的软件包都应该在第一张 DVD 里面 。如果您如前面章节所述检测了多张 CD,情况也是一样的。网络镜像的使用是一个选项。 添加网络镜像的优势在于有些内容已经更新,而 CD/DVD 只是在版本发布时创建,所以可 以安装已经更新的内容,确保了系统的安全性和稳定性。。 总结:除非您不具备良好的互联网连接,选择网络镜像通常是一个好主意。如果 CD/DVD 上有软件包当前的版本,安装程序总会从这里安装。如果您选择了镜像,需要下载的数据 量取决于 1. 安装下一步选择的任务, 2. 这些任务所需的软件包, 3. 已检测的 CD 或 DVD 上的软件包,并且 4. CD 或 DVD 上面的软件包在网络镜像里面是否有更新版本(普通软件包的网络镜像,或 者安全更新的镜像)。 注意,最后一点意味着,即使您没有选择使用网络镜像,如果配置了安全检测服务,并且 软件包有安全更新,仍然会从互联网下载更新后的软件包。 6.3.5.2. 选择和安装软件 安装过程中,您有机会选择安装额外的软件包。不像从 22600 个软件包里面里面选择单独 的软件包,这一阶段安装过程着眼于安装一组预先定义的软件包,来快速建立您的计算机 应对各种任务。 于是,您可以先选择任务,然后再单独添加软件包。任务松散地代表了您要在计算机上从 事的一系列工作,比如"桌面环境"、"Web 服务器"或者"打印服务器"^[20]。第 D.2 节 " 各软件集所需的磁盘空间" 列出了各种任务所需的空间。 注意,根据所安装电脑的特征,有些任务被预先选择。如果您不需要它们,可以取消这些 任务。此时甚至可以不选中任何任务。 提示 在安装程序的标准用户界面下,您可以使用空格键切换任务的选择。 注意 除非选择 KDE 或 Xfce/LXDE CD,"Desktop environment" 任务将安装 GNOME 桌面环境。 在安装过程中无法交互式地选择另外一种桌面。但是,可以通过预置(见第 B.4.10 节 "选 择软件包"),或者启动安装程序的时候添加 desktop=kde 引导参数,让 debian-installer 安装 KDE 桌面环境而不是 GNOME。另外,轻量级的 Xfce 和 LXDE 桌 面环境可以用 desktop=xfce 或 desktop=lxde 进行选择。 一些 CD 映象(businesscard, netinst 和 DVD)可以从图形引导菜单中选择所需的桌面环 境。选择主菜单里面的 "Advanced options" 选项,再找到 "Alternative desktop environments"。 注意,这只在该桌面环境对应的软件包可以获得的情况下有效。假如您安装时使用单个 CD 映象,它们就像其他光盘上的软件包一样需要从网络镜像下载;这种方式安装 KDE、Xfce 或 LXDE 同样适用于 DVD 映象或其他的安装方法。 各种服务器任务大概会安装这些软件。DNS 服务器:bind9;文件服务器:samba、nfs;邮 件服务器:exim4、spamassassin、uw-imap;打印服务器:cups;SQL 数据库: postgresql;Web 服务器:apache2。 "Standard system" 任务会安装具有 "standard" 优先级的软件包。这包括很多在任何 Linux 和 Unix 系统上常用的工具。除非清楚自己的目的并需要一个最小化的系统,您应 该让该任务选中。 选择语言的时候,如果默认的 locale 不是 "C", tasksel 会检查该 locale 是否有对应 的本地化任务,然后自动安装相应的本地化软件包。这里面包含诸如对应语言的词汇列表 或特殊字体的软件包。假如选择了桌面环境,(如果存在)还会安装该桌面对应的本地化软 件包。 一旦您确定了任务,请选择 Continue。此时,aptitude 将安装选中任务的软件包。假如 某个程序需要用户输入信息,它将提示您指定。 您应当清楚桌面任务非常巨大。特别是当使用 CD-ROM 而安装 CD-ROM 上没有的软件包, 安装程序将从网上下载大量的软件包。如果您的互联网接入较慢,这将花很长时间。一旦 启动,安装软件包过程将无法取消。 即使软件包在 CD-ROM 上,如果镜像服务器上的版本更新,安装程序还是会从镜像上获取 这些软件包。如果您安装的是稳定版,这会出现在次版本发布之后(主稳定版本的更新); 如果您安装的是测试版本,这会出现在使用旧映像安装时。 6.3.6. 创建启动系统 如果您是安装无盘工作站,显然,从本机启动是没有意义的选项,这一步可以跳过。 6.3.6.1. 检测其他的操作系统 在 boot loader 安装之前,安装程序会试着侦测已经安装到计算机上的其他操作系统。如 果它找到支持的操作系统,您将在启动 boot loader 安装步骤里得到提示。与 Debian 一 起,计算机也将配置为可以启动其他操作系统。 注意,从单机上启动多个操作系统仍然是黑色艺术。自动支持检测和设置 boot loader 启 动其他操作系统,会依系统甚至是子系统而变化。如果它不能工作,您应该参考启动管理 器的文档了解更多信息。 6.3.6.2. 硬盘上 Grub Boot Loader 的安装 i386 上主要的 boot loader 是 "grub"。Grub 是个灵活和稳定的 boot loader,它对新 手和老手都是一个不错的缺省选择。 缺省情况下,grub 会被装在主引导区(MBR)。如果装在那里的话,它将会完全主宰启动的 整个过程。如果喜欢的话,您可以把 grub 装在其他地方。若要全面和完整的信息,请参 阅 grub 的手册。 如果您并不想安装 grub,请使用 Go Back 按钮回到主菜单,并从中选择您想要使用的任 何 bootloader。 6.3.6.3. 硬盘上 LILO Boot Loader 的安装 第二个 i386 boot loader 名叫 "LILO"。它是个老派的强大程序,提供了很多功能,包括 对 DOS、Windows 以及 OS/2 的引导管理。如果有特别的要求的话,请您仔细阅读 /usr/ share/doc/lilo/ 目录里的提示和教程,同时,也可以参考一下 LILO mini-HOWTO。 注意 当前 LILO 安装时只能为那些可以 chainloaded 的操作系统创建菜单项。就是说您不得不 在安装之后手动添加 GNU/Linux 和 GNU/Hurd 这类操作系统。 debian-installer 提供给您三种选择去哪安装 LILO boot loader: 主引导区(MBR) 这种方式 LILO 将完全控制启动过程。 新 Debian 分区 如果您想使用其它启动管理,选择此方式。LILO 将它自己安装到新 Debian 分区的起 始位置,并能作为第二 boot loader。 其它选择 对于高级用户,把 LILO 安装到其它地方会很有用。这种方式下,您会被问到需要安 装的位置。您可以采用传统的设备命名,如 /dev/hda 或 /dev/sda。 如果此步之后无法启动 Windows 9x (或 DOS),您需要使用一个 Windows 9x (MS-DOS) 启 动盘,并用 fdisk /mbr 命令重新安装 MS-DOS 主引导记录 -- 但这也意味着您要使用其 他方法才能启动 Debian! 6.3.6.4. 不使用 boot loader 继续进行 该选项用于完成安装而不安装 boot loader,这种情况要么是体系/子体系不支持,要么是 因为不想要(比如,您想使用已经存在的 boot loader) 如果您打算手动设置 bootloader,需要检测安装的内核,它位于 /target/boot。您还需 要检测 initrd 存在的目录;如果有,也许需要指导 bootloader 使用它。其他需要的信 息,包括您为 / 文件系统选择的磁盘和分区,并且,如果您打算安装 /boot 到一个独立 的分区,还需要 /boot 文件系统。 6.3.7. 完成安装 这是在您 Debian 安装过程的最后一步。在这最后的几分钟工作里,主要进行一些 debian-installer 之后的清理。 6.3.7.1. 设置系统时钟 安装程序可能会询问是否计算机的时钟设置为 UTC。通常会尽量避免这个问题,而且安装 程序依据是否有其他系统已经安装这类事情,来决定时钟要不要设为 UTC。 在 expert 模式下,您总是可以选择时钟是否设为 UTC。 (还要)运行 Dos 或 Windows 的 系统通常设为本地时间。如果您需要多重引导,请选择本地时间而不是 GMT。 此时,debian-installer 将保存当前的时间到系统的硬件时钟。它可以是 UTC 或者本地 时间,这取决于刚才的选择。 6.3.7.2. 重新启动系统 您会被提示拿出用于安装启动的媒介(CD、软盘等)。之后,系统会启动到您的新 Debian 系统。 6.3.8. 杂项 这里的组件通常不在安装进程之内,但会在后台待命,以帮助用户遇到麻烦时处理问题。 6.3.8.1. 保存安装记录 如果安装成功,安装过程中创建的记录文件,会被自动保存在您的新 Debian 系统上的 / var/log/installer/。 从主菜单上选择 Save debug logs,允许您将记录文件保存到软盘上、网络、硬盘或其他 介质。这可用于安装过程中遭遇严重错误的时,您想在其它系统上研究记录,或者用于报 告的附件。 6.3.8.2. 使用 Shell 查看记录 安装过程中您可以使用多种方法获得一个 shell。多数系统上,如果您不试通过串口控制 台安装,最简单的方法是按下 Left Alt+F2 ^[21] 切换到第二个虚拟控制台(在 Mac 键盘 上,是 Option+F2)。用 Left Alt+F1 可以切换回安装程序。 对于图形安装程序,请参阅第 D.6.1 节 "使用图形安装程序"。 如果您无法切换控制台,还可以在主菜单上执行 Execute a Shell 选项,它可以启动一个 shell。您可以使用一次或多次 Go Back 按钮从大多数对话框返回主菜单。键入 exit 关 闭 shell 并回到安装程序。 因为这时您是从 RAM 盘启动,只有有限的 Unix 工具可以使用。您可以通过命令 ls /bin /sbin /usr/bin /usr/sbin 和键入 help 查看哪些程序可以使用。其 shell 称为 ash, 是 Bourne shell 的克隆,有一些如自动完成与历史纪录这样的好特性。 要编辑和查看文件,请使用文本编辑器 nano。安装系统的日志可以在 /var/log 目录找到 。 注意 虽然在 shell 里面您可以用存在的命令做任何事情,但 shell 真正的用途只是遇到问题 时进行调试。 在 shell 里面手动操作可能会影响安装过程,造成错误或无法完成安装。特别是,您应该 让安装程序激活交换分区,而不是在 shell 里面自己动手。 6.3.8.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,您需要确认是否正确。 注意 安装程序中的 ssh 服务器使用的是默认的配置,并不发送 keep-alive 包。原则上,已安 装系统的连接应该无限期的保持打开。但是,某些情况下 -- 由您的局域网设置决定 -- 一段时间的不活动,连接将会断开。这种情况常发生在客户端和系统上安装有 Network Address Translation (NAT) 的地方。基于连接在安装过程中的哪一点断开,您在连接之 后可能继续,也可能无法继续安装过程。 您可以通过在启动 ssh 连接时添加 -o ServerAliveInterval=value 选项来避免断开,或 者把它加到 ssh 的配置文件里面。注意,某些情况下添加该选项反而会造成断开(例如, 如果 keep-alive 包在网络故障(brief network outage)期间送出,ssh 将会恢复),因此 它只在需要的时候采用。 注意 如果您依次安装多台电脑,他们碰巧使用相同的 IP 地址或主机名,那么 ssh 将拒绝连接 。造成的原因是它具有不同的 fingerprint,这通常是欺骗攻击的标志。如果您确信不是 那种情况,需要删除 ~/.ssh/known_hosts 里面相关的行^[22],再重新来过。 登录之后您将看到一个初始画面,显示有两个可能,Start menu 和 Start shell。前一个 将带您到安装主菜单,那么您可以像普通方式一样安装。后一个打开一个 shell,您可以 检查修复远程的系统。在安装菜单只能打开一个 SSH 会话,但 shell 可以打开多个。 警告 使用 SSH 开始远程安装之后,您不该返回本地控制台运行的安装会话。这将破坏新系统配 置的数据库。结果可能导致安装失败或者安装完成的系统出现问题。 6.4. 加载缺失的固件 正如第 2.2 节 "需要固件的设备" 里面所说,有些设备需要加载固件。大部分情况下,如 果没有固件设备就无法工作;有时没有固件不会影响基本的功能,但增强功能就无法使用 。 如果没有设备驱动程序所需的固件,debian-installer 将显示对话框要求加载缺失的固件 。假如选取了选项,debian-installer 将扫描现有设备松散的固件文件或包含固件的软件 包。如果搜索到,固件会被复制到正确的位置 (/lib/firmware),然后加载驱动程序模块 。 注意 具体哪些设备会被扫描和支持哪个文件系统,取决于系统的架构、安装方法和安装的阶段 。特别是在安装的早期阶段,从 FAT 格式的软盘或 U 盘加载固件更容易成功。在 i386 和 amd64 上固件可以从 MMC 或 SD 卡加载。 假如了解设备毋需固件也可以工作,或者设备在安装时并不需要使用,您可以跳过加载固 件。 警告 加载固件的支持相对简单,在以后的安装程序版本中会得到加强。例如,当前 debian-installer 中如果选择加载缺失的固件,但固件却无法找到,不会显示任何警告。 请您填写安装报告反应遇到的任何问题(参阅第 5.4.6 节 "提交缺陷报告")。 6.4.1. 准备介质 虽然有些情况下固件可以从硬盘的某个分区加载,但常用的方法是从移动的介质,比如软 盘或 U 盘加载固件。固件文件或者软件包必须放在该介质文件系统的根目录,或者名为 / firmware 的目录下。推荐的文件系统是 FAT,它是安装过程最初阶段最可能支持的文件系 统。 大多数固件的压缩包可以从这里获得: ● http://cdimage.debian.org/cdimage/unofficial/non-free/firmware/ 下载对应版本的压缩包,然后解压到介质的文件系统里面。 如果您需要的固件没有包含在压缩包里面,可以从档案库(non-free 部分)下载特定的固件 。以下概要列出大多数固件软件包,但不保证完整,有些还是非固件软件包: ● http://packages.debian.org/search?keywords=firmware 也可以复制单独的固件文件到介质。要求不严的固件还可以从已经安装的系统或硬件制造 商那里获得。 6.4.2. 固件和安装好的系统 任何安装期间加载的固件会自动被复制到安装好的系统。多数情况下这可以保证需要固件 的设备可以在系统重新启动之后正常工作。然而,如果安装好的系统运行在与安装程序不 同的内核版本,有可能由于版本的偏差造成固件不能加载。 如果固件从一个固件软件包加载,debian-installer 会为安装好的系统也安装该软件包, 并自动添加软件包仓库的 non-free 部分到 APT 的 sources.list。这样做的优点在于如 果有固件的新版本存在会自动更新。 如果安装过程中跳过加载固件,相关的设备可能无法在安装好的系统中工作,直到手动安 装好固件或软件包。 注意 如果固件从不严格的固件文件加载,复制到安装好的系统的固件将不会自动更新,除非对 应的固件软件包(如果有的话)在系统安装之后安装。 ━━━━━━━━━━━━━━ ^[12] 科技术语:一种语言针对不同国家代码有多个不同 locale 存在。 ^[13] 在 medium 和 low 优先级下,如果该语言有多个对应的 locale,您总是可以选择 所需要的那个 locale。 ^[14] 传统 locale 是那些没有使用 UTF-8 的 locale,它们使用旧的字符编码标准,比 如 ISO 8859-1 (西欧语言) 或 EUC-JP (日语)。 ^[15] 安装程序将使用 256 位的 AES 密钥加密 LVM 卷组,并使用内核的 "dm-crypt" 支 持。 ^[16] 其实,您可以从单个物理硬盘上不同分区创建 MD 设备,但这样做不会给您带来任 何好处。 ^[17] 使用 passphrase 作为密钥意味着建立分区是使用 LUKS。 ^[18] 据信那些三个缩写字母部门的家伙可以恢复经过多次覆盖的磁记录设备上的数据。 ^[19] 其实,真正用来安装软件包的程序是 dpkg。但这是一个比较底层的工具。apt-get 是一个高级工具,它可以在适当的时候调用 dpkg。它知道从您的光盘、网络或其它地方获 取软件包。它还可以在安装某个软件包时自动安装所需的其它软件包。 ^[20] 您应该知道,呈现这个列表,安装程序仅仅是执行 tasksel 程序。它可以在安装之 后的任何时间安装(或删除)其他软件包,或者使用更精致的工具,例如 aptitude。如果您 需要一个特定的软件包,在安装之后,只须执行 aptitude install package,其中 package 是您需要的软件包名。 ^[21] 就是:按下位于空格键左手边的 Alt 键,同时按下 F2 功能键。 ^[22] 下面的命令将删除一个主机的已有记录: ssh-keygen -R . 第 7 章 启动进入新 Debian 系统 目录 7.1. 关键时刻 7.2. 挂载加密卷 7.2.1. dm-crypt 7.2.2. loop-AES 7.2.3. 故障处理 7.3. 登录 7.1. 关键时刻 当您的系统首次依靠自身启动,这在电子工程师圈子里面称为"冒烟测试"。 如果使用了默认安装,引导系统后您首先看到的是 grub 菜单或者是 lilo bootloader。 菜单中的首选项将是您的新 Debian 系统。假如您的计算机上有其他的操作系统(如 Windows),它们将被安装系统检测到,列入菜单的下方。 如果系统无法正确启动,请勿惊慌。如果安装成功,还不错,只是出了一点儿小问题没法 让系统引导 Debian。多数情况下不需重新安装就能修复。修复引导问题的一个方法是使用 安装程序内置的 rescue 模式(参阅第 8.7 节 "修复损坏的系统")。 假如您刚接触 Debian 和 Linux,您可能需要从有经验的用户那里得到一些帮助。直接的 在线帮助,可以通过 OFTC network 上的 #debian 或 #debian-boot IRC 频道。另一种选 择是 debian-user mailing list。您也可以写下安装报告,说明见第 5.4.6 节 "提交缺 陷报告"。请确保问题描述清楚,并包括显示的任何信息,以助于分析问题。 如果您计算机上的其他操作系统没有被侦测到,或者未被正确侦测,请撰写一份安装报告 。 7.2. 挂载加密卷 假如您在安装的时候创建了加密卷并设置了挂载点,在启动的时候每个这样的卷将会要求 输入密码。对于 dm-crypt 和 loop-AES 具体的过程稍有不同。 7.2.1. dm-crypt 通过 dm-crypt 加密的分区,启动的时候会有下面的提示信息: Starting early crypto disks... part_crypt(starting) Enter LUKS passphrase: 提示的第一行,part 是底下分区的名称,如:sda2 或 md0。您也许想知道输入密码的具 体是哪一卷。它是与 /home 相关?或者是 /var?当然,如果您只有一个加密卷,只需输 入密码就可以轻松地建立起该卷。假如您在安装过程中建立了多个加密卷,把上一步第  6.3.2.6 节 "配置加密卷" 里的记录放在手边。要是之前没有记下 part_crypt 和挂载点 之间的映射关系,仍然可以在新系统的 /etc/crypttab 和 /etc/fstab 里面找到它。 根文件系统加载的时候,提示信息或许会有些不同。这取决于使用了哪个 initamfs 生成 器制作用于启动的 initrd。下面的例子是使用 initramfs-tools 生成的 initrd: Begin: Mounting root file system... ... Begin: Running /scripts/local-top ... Enter LUKS passphrase: 输入密码时不会有字符(包括星号)回显。如果密码输错,您还有两次机会修正。第三次输 错后,启动过程将跳过该卷进入到下一个文件系统。请参阅第 7.2.3 节 "故障处理" 了解 更多信息。 输入密码之后,启动过程与通常情况相同。 7.2.2. loop-AES 使用 loop-AES 加密的分区,启动的时候将会有下面的提示信息: Checking loop-encrypted file systems. Setting up /dev/loopX (/mountpoint) Password: 输入密码时不会有字符(包括星号)回显。如果密码输错,您还有两次机会修正。第三次输 错后,启动过程将跳过该卷进入到下一个文件系统。请参阅第 7.2.3 节 "故障处理" 了解 更多信息。 输入密码之后,启动过程与通常情况相同。 7.2.3. 故障处理 如果由于输错密码造成无法加载加密卷,您只能在启动以后手动加载。有下面这些情况。 ● 第一种情况是与根分区相关。如果它不能正确加载,启动过程将中止,您不得不重新 启动计算机再试一次。 ● 最容易处理的情况是加密卷位于 /home 或 /srv。您在启动后可以很容易手动加载。 对于 loop-AES 只需操作一步: # mount /mount_point Password: 其中 /mount_point 要替换为特定的目录(例如,/home)。它与普通的加载不同支持仅 在于需要为该卷输入密码。 对于 dm-crypt 需要一些技巧。首先,您需要用 device mapper 注册卷,需要运行: # /etc/init.d/cryptdisks start 这将扫描 /etc/crypttab 里面的所有卷,输入正确的密码之后,将在 /dev 目录下面 创建对应的设备。(已注册的卷会被跳过,因此您可以放心地多次运行该命令。) 正确 注册以后,就可以按普通的方法加载这些卷: # mount /mount_point ● 如果保存着非临界系统文件(/usr 或 /var)的卷不能加载,系统仍然可以启动,并且 您仍然可以按前一种情况手动加载。但是,您需要(重新)启动默认 runlevel 下的任 何 service,因为它们很可能没有启动。最简单的做法是切换到第一个 runlevel 再 返回 # init 1 在 shell 提示符下输入该命令,并在要求输入 root 口令时按下 Control+D。 7.3. 登录 系统引导以后,会看到登录提示符。使用您在安装过程中选择的用户名和密码登录。现在 您的系统就能使用了。 如果您是新用户,您也许希望开始使用后可以浏览已经安装到系统上的文档。当前有多个 文档系统,由不同类型的文档组成。这里是一些出发点。 已安装程序相关的文档可以在 /usr/share/doc/ 里找到,位于该程序名的子目录下(或者 ,更准确地说,包含该程序的软件包名)。但范围更广的文档会单独放在一个特殊的文档软 件包内,默认并不安装。例如,关于软件包管理工具 apt 的文档放在 apt-doc 或 apt-howto 软件包内。 另外,还有一些特殊的目录位于 /usr/share/doc/ 里。Linux HOWTOs 以 .gz (压缩)格式 安装,放在 /usr/share/doc/HOWTO/en-txt/。安装 dhelp之后,可以浏览 /usr/share/ doc/HTML/index.html 文档索引。 使用基于文本的浏览器查看这些文档的简单方法是输入下面命令: $ cd /usr/share/doc/ $ w3m . w3m 命令后的点告知将显示当前目录下的内容。 如果您安装了图形桌面环境,可以使用它的 web 浏览器。从应用程序菜单启动 web 浏览 器,然后在地址栏内键入 /usr/share/doc/。 您也可以键入 info command 或 man command 去查看大多数的命令行下的命令。键入 help 将显示 shell 命令的帮助。键入命令后面加上 --help 通常会显示命令用法的简短 摘要。如果命令的结果滚动超出屏幕顶端,命令后面加上 | more,可以让输出在滚出顶端 屏幕前暂停。查看某字母开始的所有可用命令,键入该字母,然后按两个 tab。 第 8 章 下一步该干什么 目录 8.1. 关闭系统 8.2. 如果您不熟悉 Unix 8.3. 让自己适应 Debian 8.3.1. Debian 软件包系统 8.3.2. 应用程序版本管理 8.3.3. 定时任务管理 8.4. 更多信息 8.5. 让您的系统使用 E-Mail 8.5.1. 默认的 E-Mail 配置 8.5.2. 发送邮件到系统之外 8.5.3. 配置 Exim4 MTA 8.6. 编译新内核 8.6.1. 内核映象管理 8.7. 修复损坏的系统 8.1. 关闭系统 关闭一个运行着的 Linux 系统,不要使用计算机前面或后面的 reset 开关重启,或者直 接关闭计算机。Linux 应该使用可控的过程关闭,否则会造成文件丢失或/和磁盘损坏。假 如您运行了桌面环境,通常会有一个 "log out" 选项位于应用程序菜单让您关闭(或者重 启)系统。 另外,您可以按下组合键 Ctrl+Alt+Del 。最后一个选项是用 root 登录,执行 poweroff 、halt 或 shutdown -h now 中的一个命令,这在组合键不起作用或者您喜欢敲命令时使 用;reboot 可以重启系统。 8.2. 如果您不熟悉 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.3. 让自己适应 Debian Debian 和其它的发行版有些不同。即使您熟悉其它发行版的 Linux,您也应该了解 Debian 的一些东西,以便保持您的系统处在良好整洁的状态。本章包的材料可以帮助您适 应;但这并不是一个如何使用 Debian 的入门指南,而仅仅是对整个系统的一个粗略的介 绍。 8.3.1. Debian 软件包系统 要掌握的最重要概念是 Debian 的软件包系统。事实上,您系统的绝大部分都应该由软件 包系统来控制。包括: ● /usr (除了 /usr/local) ● /var (您可以创建 /var/local,在那里面进行安全的操作) ● /bin ● /sbin ● /lib 例如,假设您替换了 /usr/bin/perl,它可以正常工作,但以后升级您的 perl 软件包, 那里的文件将被替换。有经验的用户可以在 aptitude 里面将软件包设置为 "hold"状态, 以避免这种情况。 apt 是最好的安装方法之一。您可以使用命令行模式的 apt-get 或者全屏幕文本模式的 aptitude。注意,apt 还可以让您合并 main、contrib 和 non-free,从而使您可以像使 用标准版本那样使用具有出口限制的软件包。 8.3.2. 应用程序版本管理 可选版本的应用程序可以通过 update-alternatives 来管理。如果您维护着应用程序的多 个版本,请阅读 update-alternatives 的 man 手册。 8.3.3. 定时任务管理 任何系统管理员权限内的任务都必须位于 /etc 内,这是因为它们都是配置文件。如果您 有一些需要以管理员身份每天(daily)、每周(weekly)或每月(monthly)运行的定时任务, 请将它们放置在 /etc/cron.{daily,weekly,monthly} 中。它们将在 /etc/crontab 中被 激活,然后按照文件名的字典顺序依次运行。 另一方面,如果您有某个定时任务 (a) 需要以某个特定的用户身份运行,或者 (b) 需要 在某个特定时刻或以特定周期运行,您可以使用 /etc/crontab,或者更好的 /etc/cron.d /whatever。这些特殊的文件可以包含一个额外的域,允许您指定运行该定时任务的用户帐 户。 在任何情况下,您只需编辑这些文件,cron 将会自动处理它们。没有必要再运行某个特殊 的命令。欲了解更多的信息,请参阅 cron(8)、crontab(5) 和 /usr/share/doc/cron/ README.Debian。 8.4. 更多信息 如果您想查阅某个程序的更详细资料,应该先试试 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 Documentation Project。在那 里您可以找到有关于 GNU/Linux 系统各个部分的非常有价值的 HOWTO 文档以及其他指导 。 8.5. 让您的系统使用 E-Mail 今天,email 是许多人生活中一个重要的组成部分。建立它有很多种选择,并且对于很多 Debian 工具如何设置正确非常重要,我们将在本节介绍一些基本的知识。 e-mail 系统共有三个主要的组成功能。首先是 Mail User Agent (MUA),这是用户发送和 读取邮件的程序。然后是 Mail Transfer Agent (MTA),用来将邮件从一台计算机传递到 另一台。最后是 Mail Delivery Agent (MDA),用于将收到的邮件投递到用户的收件箱。 这三项功能可以由不同的程序执行,但也能合并到一个或两个程序里。还可以用不同的程 序处理不同类型的邮件。 在 Linux 和 Unix 系统上 mutt 是历史悠久的常用 MUA。像其他传统的 Linux 程序一样 ,是基于纯文本的。它常与作为 MTA 的 exim 或 sendmail、作为 MDA 的 procmail 一起 使用。 配合逐步流行的图形桌面系统,使用图形 e-mail 程序,像 GNOME 的 evolution、KDE 的 kmail 或 Mozilla 的 thunderbird (在 Debian 中是 icedove^[23]) 越来越流行。这些 程序综合了 MUA、MTA 和 MDA 的功能,但也能 -- 而且通常是 -- 与传统的 Linux 工具 一起使用。 8.5.1. 默认的 E-Mail 配置 即使您打算使用图形界面的邮件程序,安装传统的 MTA/MDA 并正确架设在您的 Linux 系 统上也是很重要的。其原因是很多运行在系统中的工具^[24] 会通过邮件发送重要的提示 通知系统管理员潜在的问题或变化。 正因为如此,默认会安装 exim4 和 mutt 软件包 (安装过程中您没有取消 "standard" 任 务将提供它们)。exim4 组合了 MTA/MDA 功能并相对小巧和灵活。它默认配置为只处理系 统本地的 e-mail,系统管理员(root 帐号)的 e-mail 地址会发送到安装时创建的普通用 户帐号^[25]。 当系统邮件传递后,它们会添加到一个 /var/mail/account_name 文件。这些邮件可以通 过 mutt 读取。 8.5.2. 发送邮件到系统之外 前面提到,安装的 Debian 系统只架设了处理本地系统的邮件,而不是用于发送或接收其 他系统的邮件。 如果您希望使用 exim4 来处理外部邮件,请参考下一小节中可以使用的基本配置选项。确 认邮件可以正确地发送和接收。 如果您打算使用图形界面的邮件程序,并使用您的 Internet Service Provider (ISP) 或 公司提供的邮件服务器,就不需要配置 exim4 来处理外部 e-mail。只须配置您喜爱的图 形界面邮件程序使用正确的服务器来发送和接收 e-mail (配置方法超出了本手册的范围) 。 但是,这种情况下您可能还是要配置一些独立的工具来正确发送 e-mails。其中一个这样 的工具是 reportbug,该程序的功能是提交 Debian 软件包对应的 bug 报告。它默认是使 用 exim4 来提交 bug 报告。 要正确设置 reportbug 使用外部的邮件服务器,请执行 reportbug --configure 命令, 并对是否 MTA 可用问题回答 "no"。您接着将会被问到使用哪个 SMTP 服务器来提交 bug 报告。 8.5.3. 配置 Exim4 MTA 假如您还打算让系统处理外部 e-mail,需要重新配置 exim4 软件包^[26]: # dpkg-reconfigure exim4-config 输入命令之后(作为 root),您会被问到是否需要将配置文件分成几个小文件。如果您拿不 准,就选择默认选项。 接着您将看到几个常见的邮件方案,请选择一个最近似您需求的那个。 internet site 您的系统被连接到网络上,并且您通过 SMTP 直接收发邮件。在接下来的几页中,程 序会询问您一些基本问题,如:您的机器的邮件名称、您接受或转发邮件的域等等。 mail sent by smarthost 本方案中您的送出邮件转发到另一台机器,称为 "smarthost",它来负责发送信息到 最终目的地。smarthost 一般还用于保存您的计算机接收的邮件,所以您不需要长时 间在线。这也意味着您需要使用类似 fetchmail 这样的程序从 smarthost 下载邮件 。 大多时候 smarthost 是您 ISP 的邮件服务器,这对拨号用户非常适合。它也可以是 公司的邮件服务器,或是您自己网络中的另外一台机器。 mail sent by smarthost; no local mail 该选项基本上与前一种情况相同,只有一点不同,本系统不再架设用于处理本地的 e-mail domain。在本系统上的邮件(比如,给系统管理员的)还是会被处理。 local delivery only 本选项是系统默认的配置。 no configuration at this time 除非您真的知道这是在干什么,否则请不要选择这一选项。这会留下一个未配置的邮 件系统 -- 在您再次配置它之前,您都无法收发任何邮件,并且可能会错过一些系统 工具发来的重要信息。 如果没有合适的方案,或者需要更精确的设置,您需要在安装完成之后编辑 /etc/exim4 目录下的配置文件。有关 exim4 更多的信息可以在 /usr/share/doc/exim4 下找到; README.Debian.gz 里面有 exim4 配置方面的细节,并说明从哪里找到更多的文档。 注意,如果您没有正式的域名,直接发送邮件到互联网,因为接收服务器的反垃圾邮件策 略会拒绝接收邮件。这时建议使用 ISP 的邮件服务器。假如您还想直接发送邮件,可能要 用另一个邮件地址替换默认生成的那个。如果您使用的是 exim4 作为 MTA,可以添加一个 条目到 /etc/email-addresses。 8.6. 编译新内核 为什么有些人想要编译新内核? Debian 自带的默认内核已经包含了绝大部分配置,所以编 译新内核并不是必需的。并且,Debian 提供了多个内核供选择。所以您应该先确认一下, 有没有适合您硬件的内核映像软件包存在。然而,基于下列理由,编译新内核还是很有用 的: ● 支持某些特殊的硬件,或者默认的内核配置和某些硬件冲突 ● 使用某些不为所提供的内核支持的选项 (例如,支持 high memory) ● 通过删除无用的驱动程序来优化内核,以减少启动时间 ● 创建整体的而不是模块化的内核 ● 运行最新的内核或开发中的内核 ● 深入了解 linux 内核 8.6.1. 内核映象管理 不要害怕尝试编译内核。它很有趣而且很合算。 为了以 Debian 的方式编译内核,您需要一些软件包: fakeroot,kernel-package, linux-source-2.6 以及其它一些可能已经安装过的软件包(完整的列表请参阅 /usr/share /doc/kernel-package/README.gz)。 此方法将从您的内核源码创建一个 .deb 文件,并且,如果您有非标准模块,将同时创建 它们的同步依赖 .deb 文件。这是一个管理内核的较好的方法; /boot 目录将保存内核, System.map,以及当前编译的活动配置文件的日志。 注意,您不一定要以 "Debian 方式"编译内核;但我们发现使用软件包系统来管理您的内 核,确实可以更加安全和易用。事实上,您可以直接从 Linus 那里而非 linux-source-2.6 得到内核源码,并仍使用 kernel-package 的编译方法。 注意您可以找到完整的文档,通过使用 kernel-package 它在 /usr/share/doc/ kernel-package里。本节只包含一个简单的入门指南。 此后,我们假设您具有操作您机器的权力,可以将内核源码解压到您的 home 目录^[27]。 我们还假设您的内核版本是 2.6.32。确定您处于打算解开内核源码的目录,然后使用 tar xjf /usr/src/linux-source-2.6.32.tar.bz2 解压,并进入 linux-source-2.6.32 刚才 创建的目录。 现在,可以开始配置您的内核了。如果您已经安装配置好,并正在运行 X11,请执行 make xconfig;否则请执行 make menuconfig(必须已经安装好 libncurses5-dev)。请花点时间 阅读在线帮助并仔细地作选择。如果有疑问,通常来说包含您所不确定的设备驱动程序(用 来管理硬件外设的软件,例如以太网卡、SCSI 控制器等)会比较好一点。注意:对于与特 殊硬件无关的其它选项,如果您不了解它们,最好保持默认值。不要忘记选择 "Kernel module loader" 中的 "Loadable module support" (它们默认并没有被选择)。否则,您 的 Debian 安装将会遇到问题。 清除源码树并复原 kernel-package 参数。也就是使用 make-kpkg clean。 现在,开始编译内核: fakeroot make-kpkg --initrd --revision=custom.1.0 kernel_image。其中版本号 "1.0" 可以随便您修改;它仅是一个用来跟踪您的内核编译的 版本号。同样地,您也可以用任何您喜欢的词替换 "custom" (例如,主机名称)。编译内 核可能要花费较长的时间,这取决于您的机器的性能。 一旦编译完成,您就可以像安装其它软件包一样安装定制的内核。以 root 身份,执行 dpkg -i ../linux-image-2.6.32-subarchitecture_custom.1.0_i386.deb。其中 subarchitecture 部分是一个可选的子结构,例如 "686",这取决于您所设置的内核选项 。dpkg -i 将安装内核以及其它的一些支持文件。例如,System.map 可能会被安装(用来 辅助调试内核问题),/boot/config-2.6.32 也将被安装,它包含了您当前的配置。新的内 核软件包将会自动地更新系统上的启动引导器,让它使用新内核。如果您创建了一个模块 软件包,也要同时安装该软件包。 下面到了重启系统的时刻了;请仔细阅读前述步骤所产生的所有警告信息,然后执行 shutdown -r now。 要了解 Debian 内核与编译内核的更多信息,清参阅 Debian Linux Kernel Handbook。欲 获得关于 kernel-package 的更多信息,有一份很好的文档 /usr/share/doc/ kernel-package。 8.7. 修复损坏的系统 有时候,会遇到一些麻烦,您小心翼翼安装的系统无法启动。可能是由于调整启动加载程 序时损坏了配置文件,或者新准备的内核无法启动,或者宇宙射线撞击了您的硬盘造成 / sbin/init 中的一位反转。无论什么原因,修复时您都需要一个可以工作的系统,rescue 模式正好用于此目的。 要进入 rescue 模式,请在 boot: 提示符后键入 rescue,或者启动时给给引导参数加上 rescue/enable=true。您会看到安装程序的前几个画面,并在显示器的角落里面提示处于 rescue 模式,而不是完整安装。别担心,您的系统不会被覆盖!rescue 模式只是借助安 装程序强大的硬件探测能力,确保修复系统的时候硬盘,网络设备等等可以使用。 取代分区工具的,是显示您系统上的分区列表,并请您选择。通常,您应该选择修复包含 root 文件系统的分区。您也可以选择 RAID 和 LVM 设备上的分区,与直接在磁盘上创建 一样。 如可能,安装程序将在您选择的文件系统上给您一个 shell 提示符,通过它可以执行一些 必要的修复操作。例如,如果您需要在第一个硬盘的主引导区重装 GRUB 引导程序,您可 以通过输入这个命令 grub-install '(hd0)'。 假如安装程序在您选择的 root 文件系统上不能运行一个可用的 shell,这可能是因为文 件系统已经损坏,那么将发出警告,并通过安装程序的环境提供一个 shell。您在这个环 境下可能没有丰富的工具可用,但足以应付系统修复工作。您选择的 root 文件系统将挂 载到 /target 目录。 无论哪种情况,退出 shell 之后,系统将重启。 最后,要注意修复一个损坏的系统可能非常困难,在这份手册里面不会列举所有的情况和 修复方法。如果您遇到困难,请咨询专家。 ━━━━━━━━━━━━━━ ^[23] Debian 中 thunderbird 改名为 icedove 的原因是许可证的问题。具体内容超出了 本手册的范围。 ^[24] 例如:cron、quota、logcheck、aide,... ^[25] 转发 root 邮件到普通用户帐号是在 /etc/aliases 里配置。如果没有创建普通用 户帐号,邮件自然会发送给 root 帐号。 ^[26] 您也可以卸载 exim4 安装其他的 MTA/MDA。 ^[27] 可以在其他目录解开内核源码并编译自定义内核,但是不需要额外的权限是最简单 的方式。 附录 A. 安装指南 目录 A.1. 前言 A.2. 安装套件的引导 A.2.1. CDROM A.2.2. U 盘 A.2.3. 从网络启动 A.2.4. 从硬盘启动 A.3. 安装 A.4. 请给我们发一份安装报告 A.5. 末了... 本文介绍了如何在 Intel x86 ("i386") 架构的计算机上,使用新版的 debian-installer 安装 Debian GNU/Linux squeeze。这是一次对安装过程走马观花式的简介,它应该囊括了 大多数情况下您所需的信息。当需要更多信息时,我们会链接到更详尽的本文其他部分的 说明文档。 A.1. 前言 如果您在安装时碰到程序出错,请参考第 5.4.6 节 "提交缺陷报告" 回报错误。倘若本文 档不能够回答您所有的疑问,那么请带着这些问题去 debian-boot 的邮件列表 (debian-boot@lists.debian.org)问问看,或者您也可以在 irc (OFTC 网络上的 # 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 安装 squeeze。这 些映像文件是被用来刻成光盘的。然后让电脑从光盘启动,再由安装程序从网络上下载安 装其它的软件包。"netinst"的名字由此得来。两种映像的区别在于,在完整版的 netinst 映像上包含了基本的软件包,而使用名片版的映像安装则需要从网络上下载它们。如果您 乐意,可以下载一个标准大小的 CD 映像文件,用它的话就可以不借助网络安装了。这只 需要一套光盘中的第一张就行了。 下载您打算使用的映像文件,把它刻成光盘。若要从光盘启动,可能要根据第 3.6.1 节 "BIOS 设置菜单的使用" 的提示,修改 BIOS 设置。 A.2.2. U 盘 我们也可以从移动 USB 存储设备来安装系统。比如说您带着一个 USB 的钥匙链走遍天涯 海角的同时,它还可以成为方便称手的 Debian 安装介质。 要把您的 U 盘做成安装盘,最简单的办法就是下载 hd-media/boot.img.gz,然后用 gunzip 把这个文件解压,生成 256 MB 的映像文件。再把生成的映像文件直接写到 U盘。 对了,这个 U 盘的容量至少要有 256 mb。当然了,上面所说的操作会把 U 盘里的原有数 据全部毁掉。以后再挂载这个 U 盘的话,它上面就不再是 FAT 文件系统了。写完 U 盘后 ,接着要下载一个 Debian netinst CD 映像文件,再把这个映像拷贝到 U 盘里。哪个映 像文件都可以用,只要它的文件名是 .iso 结尾的就行。 除此之外,还有其它更为灵活的办法可以做出能启动 debian-installer 的 U 盘,同时也 是有办法适用于较小容量的 U 盘的。欲知详情,请看第 4.3 节 "为从 U 盘引导准备文件 "。 有些 BIOS 支持直接从 USB 的存储设备启动,有些不行。您或许需要设置一下 BIOS 让您 的机器从 "removable drive" 或是 "USB-ZIP" 启动,以使电脑能从 USB 设备引导。参阅 第 5.1.4 节 "从 U 盘引导",查看一些有用的提示和具体的细节说明。 A.2.3. 从网络启动 要完全从网络上启动(即 netboot) debian-installer 也是可行的。而具体采取哪种方法 来从网络启动,这取决于您的硬件架构和网络启动的相关设置。在 netboot/ 目录里的文 件是用来从网络启动 debian-installer 的。 最简单的建立方式是使用 PXE 的网络启动。解开 netboot/pxeboot.tar.gz 文件,把它放 到 /var/lib/tftpboot,或者放到您的 tftp 服务器所使用的目录。然后再建立 DHCP 服 务器,传送 /pxelinux.0 这个文件名给客户端。老天保佑的话,就能顺利安装了。若要知 道详细的操作步骤,请参阅第 4.5 节 "为使用 TFTP 网络引导准备文件"。 A.2.4. 从硬盘启动 除了从移动介质启动安装套件,其实从手中现有的安装了其它操作系統的硬盘启动也是可 行的。把 hd-media/initrd.gz、hd-media/vmlinuz 和一个 Debian CD 映像文件下载到硬 盘最顶层的目录里。请确保这个 CD 映像文件的文件名是以 .iso 结尾的。接下来的问题 就是用 initrd 启动 linux 了。第 5.1.3 节 "引导 Linux 使用 LILO 或 GRUB" 说明了 如何做这件事。 A.3. 安装 一旦安装程序运行,会有一个初始画面迎接您。按 Enter 启动系统;或者先阅读一下其它 的启动方式以及各种参数的说明(参阅第 5.3 节 "引导参数")。 再过一会儿,您就会可以选择您所使用的语言了。用上下箭头键来选择一门语言,然后按 Enter 继续下面的步骤。接下来,需要选择您的国家,选项里包括了那些使用您所选语言 的国家。如果在那个稍短的列表里找不到您要找的国家,还有一个含有世界上所有国家的 列表以备选择。 您还可能被要求确认一下您的键盘布局(keyboard layout)。请选择缺省的那个,除非您清 楚更合适的布局。 现在可以坐下来,松口气,休息一下了。这时 debian-installer 会侦测您的一部分硬件 ,并从 CD、软驱、USB 或其它设备里把它的其余部分加载进系统。 接下来,安装程序会想办法侦测您的网络相关的硬件,再用 DHCP 完成网络的设置。如果 没有连接网络,或是没有用 DHCP,那么您也可以手动配置网络。 下一步是建立您的时区和时间。安装程序将试着连接互联网上的时间服务器来校准时间。 时区是基于前面所选的国家,假如一个国家有多个时区,安装程序会要您选择其中的一个 。 现在该对硬盘分区了。首先,您可以选择对整个驱动器,或是对已有的空闲空间进行自动 分区(参阅第 6.3.2.2 节 "导引式分区")。对于新手或者急于使用的朋友推荐使用这种方 式。如果不想用自动分区,请在菜单中选择 Manual。 如果您有一个 DOS 或 Windows 分区并想保留它,要小心使用自动分区。如果选择手动分 区,可以使用安装程序重新设置 FAT 或 NTFS 分区的大小,分给 Debian 更多的安装空间 :只需选择该分区,并指定它的新尺寸。 在接下来的屏幕上,您可以看到自己的分区表,各分区将以何种方式格式化,以及它们将 来的挂载点在何处。选择一个分区进行修改或删除。如果您先前选择的是自动分区,那么 现在只需从菜单选择 Finish partitioning and write changes to disk,使用它创建的 即可。请不要忘记至少需要分配一个分区作为交换空间,以及把一个分区挂载到 /上。有 关使用分区工具详尽的资料,请参考第 6.3.2 节 "分区与选择挂载点";附录附录 C, 为 Debian 准备分区有更多关于分区方面的信息。 现在 debian-installer 会把您的分区格式化,然后安装基系统。这两步会花些时间。接 着,它会安装内核。 先前安装的基本系统是一个可以工作,但却是非常小型的安装。要让系统具有更强的功能 ,下一步让您通过选择任务安装额外的软件包。软件包安装之前,需要先配置 apt,指定 软件包从哪里获取。默认会选定安装"标准系统"任务。如果您打算安装完成后使用图形桌 面,请选择"桌面环境"任务。参阅第 6.3.5.2 节 "选择和安装软件" 了解本步骤的详细信 息。 安装基本系统之后是建立用户帐号。默认情况下,您需要为 "root" (管理员) 帐号设置密 码,并建立一个普通用户帐号。 最后一步就是安装 boot loader 了。如果安装程序发现您的计算机还安装有其它的操作系 统,它会把它们加入启动菜单,并通知您。缺省情况下,GRUB 将安装到第一块硬盘的引导 记录上。一般来说,这样做没什么问题。您也可以不让它这样做,而是把 GRUB 装在其它 什么地方。 debian-installer 现在会告诉您安装已经完成了。取出光盘或者其它启动介质,然后键入 Enter 就可以重新启动您的机器了。它将启动新安装的系统,接着让您登录。在第 7 章启 动进入新 Debian 系统有对它的详尽说明。 如果您想要更多的安装过程相关信息,请看第 6 章使用 Debian 安装程序。 A.4. 请给我们发一份安装报告 如果您用 debian-installer 安装成功,请抽空给我们写一份报告。最简单的方法,是安 装 reportbug 软件包(aptitude install reportbug),配置 reportbug 的说明见第  8.5.2 节 "发送邮件到系统之外",然后执行 reportbug installation-reports。 如果不能完成安装,那么您也许发现了一个 debian-installler 的错误。要改进安装程序 ,就很有必要让我们知道这些异状,因此,请抽空把这些错误报告给我们。您可以使用 installation report 来回报错误;如果安装彻底失败了,请参阅第 5.4.5 节 "报告安装 问题"。 A.5. 末了... 我们祝愿您 Debian 安装顺利愉快,并希望您能发现 Debian 的用武之地。还有您也许可 以读一下第 8 章下一步该干什么。 附录 B. 使用预置自动进行安装 目录 B.1. 介绍 B.1.1. 预置方法 B.1.2. 限制 B.2. 使用预置 B.2.1. 加载预置文件 B.2.2. 使用引导参数预置问题的答案 B.2.3. auto 模式 B.2.4. 预置中有用的别名 B.2.5. 使用 DHCP 服务器指定预置文件 B.3. 创建预置文件 B.4. 预置文件的内容(squeeze) B.4.1. 本地化 B.4.2. 网络设置 B.4.3. 网络控制台 B.4.4. 镜像设置 B.4.5. 时钟与时区设置 B.4.6. 分区 B.4.7. 基本系统安装 B.4.8. 帐号设置 B.4.9. 设置 apt B.4.10. 选择软件包 B.4.11. 安装 bootloader B.4.12. 完成安装 B.4.13. 预置其他的软件包 B.5. 高级选项 B.5.1. 安装过程中运行用户命令 B.5.2. 使用预置修改默认值 B.5.3. 预置文件链 本附录说明如何预置 debian-installer 中提问的答案,让安装过程自动化。 本附录使用的配置片段还放在预置例子文件 ../example-preseed.txt 里面。 B.1. 介绍 预置提供了一种在安装过程中回答问题,而无须手动键入答案的途径。这让完全自动进行 大多数的安装成为可能,并提供了一些普通安装方式下不具备的特性。 预置文件并非必须。如果您使用空的预置文件,安装程序就会跟正常手动安装一样。每个 问题的预置(如果使用正确!)都会以同样的方式修改对应的基准。 B.1.1. 预置方法 一共有三种方法可用于预置: initrd、file 和 network。initrd 方法可以用于任何一种 安装方式并支持较多的预置内容,但它需要做的准备工作也最多。file 和 network 方法 分别用于不同的安装方式。 下面的表格显示了各种安装方式可选择的预置方法。 ┌──────────────────┬──────┬────┬────────┐ │ 安装方式 │initrd│file│network │ ├──────────────────┼──────┼────┼────────┤ │CD/DVD │yes │yes │yes^[a] │ ├──────────────────┼──────┼────┼────────┤ │netboot │yes │no │yes │ ├──────────────────┼──────┼────┼────────┤ │硬盘 (包括 U 盘) │yes │yes │yes^[a] │ ├──────────────────┴──────┴────┴────────┤ │^[a] 除非您有网络并正确设置 preseed/url│ └───────────────────────────────────────┘ 这些预置方法的主要不同之处在于何时预置文件被加载和处理。对于 initrd 方法,它是 在第一个问题询问之前,安装开始的时候。对于 file 方法,它是在加载 CD 或 CD 映像 之后。对 network 方法,它在网络配置完毕之后。 显而易见,在加载预置文件之前需要的过程都不能被预置(这里面包括只在 medium 或 low 优先级出现的问题,像首先运行的硬件检测)。第 B.2.2 节 "使用引导参数预置问题的答 案" 提供了避免这些问题被询问的方法。 为了避免在预置之前询问,您可以让安装程序运行在 "auto" 模式。它延迟了预置之前出 现询问问题(例如,语言、国家和键盘选择),直至连上网络,使它们可以进行预置。它还 让安装运行在 critical 优先级下,避免不重要的问题。参阅第 B.2.3 节 "auto 模式" 了解详细信息。 B.1.2. 限制 虽然使用这种方法能预先设置 debian-installer 的绝大多数问答,但还是有明显的例外 。您必须(重新)分区整个硬盘,或者使用磁盘上的剩余空间; 但无法使用已经存在的分区 。 B.2. 使用预置 您首先要创建一个预置文件,并将它置于希望使用的地方。创建预置文件在后面的附录中 有说明。如果您打算使用网络预置或者从软盘或 U 盘读取,直接将它放到正确的地方就可 以了。如果您希望将它放到 CD 或 DVD 上面,那就需要重新制作一个 ISO 映像文件。而 如何将预置文件包含到 initrd 里面,超出了本文档的范围;请查询 debian-installer 开发者文档。 有一个预置文件的例子放在 ../example-preseed.txt,您可以拿它作为自己预置文件的基 础。此文件基于本附录所列的配置文件片段。 B.2.1. 加载预置文件 如果使用 initrd 预置,您只需确保一个名为 preseed.cfg 的文件包含在 initrd 的根目 录里面。安装程序会自动检测并加载。 其他的预置方法,您需要在启动的时候告诉安装程序所使用的文件。这通过给内核传递引 导参数完成,可以在启动时手动指定,或者编辑 bootloader 的配置文件(如: syslinux.cfg),并在内核的附加行后面添加参数。 如果在 bootloader 设置里指定预置文件,可以修改配置让您不再需要键入回车启动安装 程序。对于 syslinux,这意味着在 syslinux.cfg 里面设置 timeout 为 1。 为了保证安装程序得到正确的预置文件,您可以选择为预置文件指定校验和。当前使用的 是 md5sum,如果指定了,那么配置文件必须匹配,否则安装程序将拒绝使用。 指定引导参数: - 如果使用网络启动: preseed/url=http://host/path/to/preseed.cfg preseed/url/checksum=5da499872becccfeda2c4872f9171c3d - 如果从定制的 CD 启动: preseed/file=/cdrom/preseed.cfg preseed/file/checksum=5da499872becccfeda2c4872f9171c3d - 如果用 USB 设备安装(将预置文件放入 U 盘的顶极目录): preseed/file=/hd-media/preseed.cfg preseed/file/checksum=5da499872becccfeda2c4872f9171c3d 注意,在作为引导参数的时候,preseed/url 可以简写为 url,preseed/file 简写为 file。 B.2.2. 使用引导参数预置问题的答案 如果预置文件无法设置一些步骤,安装也可以完全自动进行,这是因为您可以在引导安装 程序时,在命令行上为内核传递预置的值。 引导参数可以在您不想使用预置的时候使用,但只提供一个特定问题的答案。在本手册中 有一些这样的示例。 要设置 debian-installer 中使用的值,只须传递 path/to/variable=value,它们是本附 录中所列的任何一个。如果该值是用于配置目标系统的软件包,您需要预先设置 owner: path/to/variable=value 中的 owner^[28] 变量。如果您不指定 owner,该变量的值不会 复制到目标系统上的 debconf 数据库,并在相关的软件包的配置中不使用。 通常,采用这种方式预置是为了问题不再被询问。为了设置一个问题的默认答案,并仍然 显示问题,请使用 "?=" 替换 "=" 作为操作符。参阅第 B.5.2 节 "使用预置修改默认值" 。 注意,一些常用的引导参数变量有简写别名。如果有简写形式,它们将会被用在附录的例 子里面替代全称。例如,preseed/url 变量简写为 url。另一个例子是 tasks,它转换成 tasksel:tasksel/first。 "--" 在启动选项中有特殊含义。最后一个 "--" 后面出现的内核参数将被复制到安装的 bootloader 设置(假如安装程序支持 bootloader)。安装程序可以自动发现它能识别的选 项(就像预置选项)。 注意 当前的 linux 内核(2.6.9 和更新的),可以指定最多 32 个命令行选项和 32 个环境变量 选项,包括安装程序默认的选项。如果数目超出,内核将崩溃。(早期的内核,接受的数目 更少。) 大多数安装过程,在引导配置文件中一些默认的选项,比如 vga=normal,可以放心地删除 ,这让您可以添加更多的预置选项。 注意 引导参数中即使使用引号,也可能无法夹杂空格。 B.2.3. auto 模式 Debian 安装程序提供了一些特性,可以组合引导提示符后面的简单命令行,达到复杂的自 动安装效果。为了表达清楚,这里有一些例子,可以用在引导提示符后面: auto url=autoserver 这需要一个 DHCP 服务器能找到并且 DNS 可以解析 autoserver,或许要加上 DHCP 提供 的本地域名。如果域名是 example.com,并有相应的 DHCP 设置,那么预置文件将从 http://autoserver.example.com/d-i/squeeze/./preseed.cfg 获得。 url 的最后一部分(d-i/squeeze/./preseed.cfg)来自 auto-install/defaultroot。默认 包括 squeeze 目录,让将来的版本在可控的方式下指定自己的代号。/./ 位用来定位相对 于根目录的子目录(用于 preseed/include 和 preseed/run)。使文件可以指定为完整路径 、以 / 开始的位置或者相对于最后一个预置的文件。这样可以建立更具移植性的脚本,让 各级脚本完整地移动到新的位置而不被破坏。比如,复制 web 服务器上的文件到 U 盘。 本例中,如果预置文件的 preseed/run 为 /scripts/late_command.sh,那么文件将从 http://autoserver.example.com/d-i/squeeze/./scripts/late_command.sh 获得。 如果本地没有 DHCP 或 DNS,或者您不想使用 preseed.cfg 的默认路径,可以直接指定路 径。并且,如果不使用 /./ 元素,它将定位到路径的起始点 (例如 URL 中的第三个 /)。 下面的例子是局域网中最基本的要求: auto url=http://192.168.1.2/path/to/mypreseed.file 它会以下列方式运作: ● 如果 URL 不含协议,就使用 http ● 如果主机名不含域名,将使用 DHCP 提供的,并且 ● 如果主机名后面没有 /,那么将加上默认路径。 除了指定 url 之外,您还可以指定不直接影响 debian-installer 自己行为的设置,但是 可以传递到预置文件加载的 preseed/run 中的脚本。当前,只有一个 auto-install/ classes,它的别名是 classes。可以这样用: auto url=example.com classes=class_A;class_B classes 可以指定系统的类型,或者本地化信息。 只要您愿意,当然可以扩充这个概念,合理应用 auto-install 名字空间就是为了这个目 的。这就可能会有诸如 auto-install/style 的内容加入到您的脚本。如果您觉得需要这 样做,请发邮件到 邮件列表说明,我们可以避免名字 空间的冲突,还可能会为您增加一个参数的别名。 auto 引导标签并未在所有地方定义。在内核命令行上可以通过添加 auto=true priority= critical 两个参数达到同样的效果。auto 参数是 auto-install/enable 的别名,将其设 为 true 可以延迟 locale 和键盘等问题的提出,使其可以提供预置,其中 priority 是 debconf/priority 的别名,设置它为 critical 可以禁止在较低优先级下的问题提出。 在使用 DHCP 自动安装时还有一个有趣的额外选项:interface=auto netcfg/ dhcp_timeout=60,这让机器使用第一个可用的网卡并耐心地等待 DHCP 的查询。 提示 更多使用此框架的例子,包括示例脚本和类,可以在其开发者的网站找到。那里的例子还 显示出预置可以达到更多的效果。 B.2.4. 预置中有用的别名 下面这些别名在使用(自动)预置时很有用处。注意,它们是提问名称的简写别名,您同时 需要指定一个对应的值:例如,auto=true 或 interface=eth0。 auto auto-install/enable classes auto-install/classes fb debian-installer/framebuffer language debian-installer/language country debian-installer/country locale debian-installer/locale priority debconf/priority file preseed/file url preseed/url interface netcfg/choose_interface hostname    netcfg/get_hostname domain netcfg/get_domain protocol mirror/protocol suite mirror/suite B.2.5. 使用 DHCP 服务器指定预置文件 还可以使用 DHCP 来指定从网络下载的预置文件。DHCP 允许指定文件名。通常是用于 netboot 的文件,但如果是一个 URL,那么支持网络预置的安装介质就会从该 URL 下载, 并用作预置文件。这里有一个在 dhcpd.conf 中使用的例子,它用于 ISC DHCP 服务器第 3 版(Debian 里面是 dhcp3-server 软件包)。 if substring (option vendor-class-identifier, 0, 3) = "d-i" { filename "http://host/preseed.cfg"; } 注意,上面的例子中使用的文件名限定 DHCP 客户端自己是 "d-i",因此仅适用于安装程 序,而对普通的 DHCP 客户端无效。您可以将只用于一个特殊主机的文字放在一段,以避 免预置网络中的其他安装。 使用 DHCP 预置的一个好方法是仅预置网络相关的值,比如所使用的 Debian 镜像。这种 方式下在网络中安装将会自动选择一个合适的镜像,而其余的安装部分仍可以交互进行。 使用 DHCP 预置进行完整的 Debian 自动安装应该特别小心。 B.3. 创建预置文件 预置文件是 debconf-set-selections 命令使用的格式。通常预置文件中每一行的格式为 : 编写预置文件的时候要留意几条规则。 ● 在类型和值之间只有一个空格或者 tab:任何额外的空格将被解释为值的一部分。 ● 一行可以通过行尾的反斜杠("\")连接符分成多行。分割一行比较妥当的地方是在问题 后面;在类型和值之间分割则是糟糕做法。被分割的行连接时会把行首和行尾的空格 缩减为一个空格,再组成单独一行。 ● 对于安装程序自己使用的 debconf 变量(模板),owner 应该设置为 "d-i";要在安装 后的系统里面预置变量,应该使用名称中包含对应 debconf 模板的软件包。只有那些 owner 为非 "d-i" 的变量将被保存到安装后系统的 debconf 数据库里面。 ● 大多数问题需要使用有效的英文预置值,而不是翻译过的值。但有些问题(例如 partman),需要使用翻译过的值。 ● 有些问题在安装过程中显示值的代码而不是英文文本。 建立预置文件最简单的方法是使用例子文件作为工作的基础,它位于第 B.4 节 "预置文件 的内容(squeeze)"。 另一种方法是手动安装,重启后,使用 debconf-utils 软件包里面的 debconf-get-selections 导出 debconf 数据库和安装程序的 cdebconf 数据库到一个文 件: $ debconf-get-selections --installer > file $ debconf-get-selections >> file 但用此方法产生的文件,有些项无法预置。对于大多数用户,示例文件是一个较佳的开始 。 注意 这种方法在安装的最后,安装程序的 cdebconf 数据库被保存到新安装系统的 /var/log/ installer/cdebconf 文件。由于数据库里面常还有敏感的信息,默认只为 root 可读。 如果您清除 installation-report 软件包,/var/log/installer 目录及其中的文件将从 您的系统中删除。 为了检测问题答案可用的值,您可以在安装进行中使用 nano 检查 /var/lib/cdebconf 下 的文件。templates.dat 是原始的模板,questions.dat 是当前变量设置的值。 为了在安装之前测试您的预置文件是否有效,您可以使用 debconf-set-selections -c preseed.cfg 命令。 B.4. 预置文件的内容(squeeze) 本附录使用的配置片段还放在预置例子文件 ../example-preseed.txt 里面。 请注意,这里的例子是基于 Intel x86 架构的安装过程。如果您安装到其他架构,其中的 一些例子(像键盘选择和 bootloader 安装)可能不恰当,需要用适合您架构的 debconf 设 置替换。 B.4.1. 本地化 设置本地信息只适用于使用 initrd 预置。其他方式下这些问题是在询问之后加载的。 locale 用于指定语言和国家或者任何 debian-installer 支持的语言与地区的组合。如果 组合起来的不是有效的 locale,安装程序会自动选择一个指定语言可用的 locale。要在 引导参数上指定本地,比如使用 locale=en_US。 虽然这个方法很容易使用,但它无法预置所有的语言、国家和地方组合^[29]。因此另一种 方法是单独预置各值。语言和国家可以在引导参数里面指定。 # Preseeding only locale sets language, country and locale. d-i debian-installer/locale string en_US # The values can also be preseeded individually for greater flexibility. #d-i debian-installer/language string en #d-i debian-installer/country string NL #d-i debian-installer/locale string en_GB.UTF-8 # Optionally specify additional locales to be generated. #d-i localechooser/supported-locales en_US.UTF-8, nl_NL.UTF-8 键盘设置由键盘体系和 keymap 组成。大多数情况下,默认可以选择正确的键盘体系,因 此通常不必预置。keymap 必须对 debian-installer 所选择的键盘体系有效。 # Keyboard selection. #d-i console-tools/archs select at d-i console-keymaps-at/keymap select us # Example for a different keyboard architecture #d-i console-keymaps-usb/keymap select mac-usb-us 使用 skip-config 可以跳过键盘预置 console-tools/archs。这将导致内核 keymap 保持 活动。 注意 2.6 内核的输入层的变更实际上让键盘体系已经作废。对于 2.6 内核,通常应该选择 "PC" (at) keymap。 B.4.2. 网络设置 显而易见,预置网络设置对于从网络加载预置文件无效。但对从 CD 和 U 盘引导很有帮助 。如果您计划从网络加载预置文件,应该使用传递网络设置给内核引导参数的方式。 如果您需要网络引导从网络加载预置文件前指定网卡,请用这种引导参数 interface=eth1 。 虽然使用网络预置(用 "preseed/url")通常并不能配置网络,但是您可以使用下面的技巧 实现。例如,为网卡设置静态地址。它使加载了预置文件以后网络预置再运行一次,这需 要将下面的命令包含在 "preseed/run" 脚本里面: killall.sh; netcfg 下面的 debconf 变量与网络配置相关。 # Disable network configuration entirely. This is useful for cdrom # installations on non-networked devices where the network questions, # warning and long timeouts are a nuisance. #d-i netcfg/enable boolean false # 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 # To pick a particular interface instead: #d-i netcfg/choose_interface select eth1 # 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, uncomment this line and # the static network configuration below. #d-i netcfg/disable_dhcp boolean true # If you want the preconfiguration file to work on systems both with and # without a dhcp server, uncomment these lines and the static network # configuration below. #d-i netcfg/dhcp_failed note #d-i netcfg/dhcp_options select Configure network manually # Static network configuration. #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 # 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 # If non-free firmware is needed for the network or other hardware, you can # configure the installer to always try to load it, without prompting. Or # change to false to disable asking. #d-i hw-detect/load_firmware boolean true 请注意,如果 netcfg/get_netmask 没有预置,netcfg 将自动侦测掩码。这种情况下,为 了自动安装,变量需要标记为 seen 。同样,如果 netcfg/get_gateway 没有设置, netcfg 将自动选择一个合适的地址。特殊情况下,您可以设置 netcfg/get_gateway 为 "none" 确定不使用网关。 B.4.3. 网络控制台 # Use the following settings if you wish to make use of the network-console # component for remote installation over SSH. This only makes sense if you # intend to perform the remainder of the installation manually. #d-i anna/choose_modules string network-console #d-i network-console/password password r00tme #d-i network-console/password-again password r00tme B.4.4. 镜像设置 根据您使用的安装方式,镜像可用于下载安装程序的额外组件、安装基本系统以及为所安 装的系统建立 /etc/apt/sources.list。 参数 mirror/suite 决定了安装好的系统使用的套件。 参数 mirror/udeb/suite 决定安装程序使用的额外组件的套件。它只在组件通过网络下载 并与安装时使用的 initrd 建立套件相匹配时才有效。通常安装程序会自动安装并使用正 确的值而毋需手动设置。 # If you select ftp, the mirror/country string does not need to be set. #d-i mirror/protocol string ftp d-i mirror/country string manual d-i mirror/http/hostname string http.us.debian.org d-i mirror/http/directory string /debian d-i mirror/http/proxy string # Suite to install. #d-i mirror/suite string testing # Suite to use for loading installer components (optional). #d-i mirror/udeb/suite string testing B.4.5. 时钟与时区设置 # Controls whether or not the hardware clock is set to UTC. d-i clock-setup/utc boolean true # You may set this to any valid setting for $TZ; see the contents of # /usr/share/zoneinfo/ for valid values. d-i time/zone string US/Eastern # Controls whether to use NTP to set the clock during the install d-i clock-setup/ntp boolean true # NTP server to use. The default is almost always fine here. #d-i clock-setup/ntp-server string ntp.example.com B.4.6. 分区 使用预置进行硬盘分区受限于 partman-auto 提供的支持。您可以选择使用磁盘上已有的 空闲分区或者整个磁盘。磁盘的布局将取决于所使用的预定义方案,用户自定义的方案文 件或预置文件包含的方案。 已经支持包括 RAID、LVM 和加密高级分区设置的预置,但对于非预置安装的分区仍然弹性 不足。 下面的例子仅提供了使用方案的最基本信息。详细的内容清参考文件 partman-auto-recipe.txt 和 partman-auto-raid-recipe.txt,它们包含在 debian-installer 软件包内。这两个文件也可以从 debian-installer source repository 获取。注意不同发布版支持的功能会有所改变。 警告 磁盘的标识基于对应驱动加载的次序。如果系统里面有多个磁盘,要确定预置使用了正确 的那一个。 B.4.6.1. 分区示例 # If the system has free space you can choose to only partition that space. # This is only honoured if partman-auto/method (below) is not set. #d-i partman-auto/init_automatically_partition select biggest_free # Alternatively, you may specify a disk to partition. If the system has only # one disk the installer will default to using that, but otherwise the device # name must be given in traditional, non-devfs format (so e.g. /dev/hda or # /dev/sda, and not e.g. /dev/discs/disc0/disc). # For example, to use the first SCSI/SATA hard disk: #d-i partman-auto/disk string /dev/sda # In addition, you'll need to specify the method to use. # The presently available methods are: # - regular: use the usual partition types for your architecture # - lvm: use LVM to partition the disk # - crypto: use LVM within an encrypted partition d-i partman-auto/method string lvm # If one of the disks that are going to be automatically partitioned # contains an old LVM configuration, the user will normally receive a # warning. This can be preseeded away... d-i partman-lvm/device_remove_lvm boolean true # The same applies to pre-existing software RAID array: d-i partman-md/device_remove_md boolean true # And the same goes for the confirmation to write the lvm partitions. d-i partman-lvm/confirm boolean true # You can choose one of the three predefined partitioning recipes: # - atomic: all files in one partition # - home: separate /home partition # - multi: separate /home, /usr, /var, and /tmp partitions d-i partman-auto/choose_recipe select atomic # Or provide a recipe of your own... # 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 into the preconfiguration file in one # (logical) 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 :: \ # 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{ } \ # . # The full recipe format is documented in the file partman-auto-recipe.txt # included in the 'debian-installer' package or available from D-I source # repository. This also documents how to specify settings such as file # system labels, volume group names and which physical devices to include # in a volume group. # This makes partman automatically partition without confirmation, provided # that you told it what to do using one of the methods above. d-i partman-partitioning/confirm_write_new_label boolean true d-i partman/choose_partition select finish d-i partman/confirm boolean true d-i partman/confirm_nooverwrite boolean true B.4.6.2. 使用 RAID 分区 您可以使用预置来建立软 RAID 阵列。支持 RAID 等级 0、1、5、6 和 10,建立降级阵列 (degraded arrays)和指定额外设备。如果使用了 RAID 1,您可以预置 grub 来安装阵列 中的所有设备;参见第 B.4.11 节 "安装 bootloader"。 警告 这种自动分区方式很容易出错。debian-installer 开发人员对它的功能只进行了相对较少 的测试。让各种方案都正确(有意义而不冲突)的责任在于用户。如果您遇到问题,检查一 下 /var/log/syslog。 # The method should be set to "raid". #d-i partman-auto/method string raid # Specify the disks to be partitioned. They will all get the same layout, # so this will only work if the disks are the same size. #d-i partman-auto/disk string /dev/sda /dev/sdb # Next you need to specify the physical partitions that will be used. #d-i partman-auto/expert_recipe string \ # multiraid :: \ # 1000 5000 4000 raid \ # $primary{ } method{ raid } \ # . \ # 64 512 300% raid \ # method{ raid } \ # . \ # 500 10000 1000000000 raid \ # method{ raid } \ # . # Last you need to specify how the previously defined partitions will be # used in the RAID setup. Remember to use the correct partition numbers # for logical partitions. RAID levels 0, 1, 5, 6 and 10 are supported; # devices are separated using "#". # Parameters are: # \ # #d-i partman-auto-raid/recipe string \ # 1 2 0 ext3 / \ # /dev/sda1#/dev/sdb1 \ # . \ # 1 2 0 swap - \ # /dev/sda5#/dev/sdb5 \ # . \ # 0 2 0 ext3 /home \ # /dev/sda6#/dev/sdb6 \ # . # For additional information see the file partman-auto-raid-recipe.txt # included in the 'debian-installer' package or available from D-I source # repository. # This makes partman automatically partition without confirmation. d-i partman-md/confirm boolean true d-i partman-partitioning/confirm_write_new_label boolean true d-i partman/choose_partition select finish d-i partman/confirm boolean true d-i partman/confirm_nooverwrite boolean true B.4.6.3. 分区挂载控制 文件系统一般使用 UUID 作为关键字挂载; 这使得在设备名变更的情况下仍然可以正常挂 载。UUID 本身很长不容易阅读,因此,安装程序也可以依照您的意愿使用传统设备名或者 指定标签(label)挂载文件系统。假如安装程序使用标签方式,那些没有标签的文件系统仍 然使用 UUID 方式挂载。 具有固定名称的设备,比如 LVM 逻辑卷,将继续使用它们自己的名字而不是 UUID 方式挂 载。 警告 传统设备名会根据内核在引导时发现的次序进行调整,这将导致挂载错误的文件系统。与 此类似,假如您插入一个新磁盘或 USB 设备,标签也可能有冲突发生。这样系统启动后会 出现一些随机的情况。 # The default is to mount by UUID, but you can also choose "traditional" to # use traditional device names, or "label" to try filesystem labels before # falling back to UUIDs. #d-i partman/mount_style select uuid B.4.7. 基本系统安装 本阶段的安装并没有多少东西需要预置。仅有一个与内核安装相关的问题。 # Configure APT to not install recommended packages by default. Use of this # option can result in an incomplete system and should only be used by very # experienced users. #d-i base-installer/install-recommends boolean false # Select the initramfs generator used to generate the initrd for 2.6 kernels. #d-i base-installer/kernel/linux/initramfs-generators string yaird # The kernel image (meta) package to be installed; "none" can be used if no # kernel is to be installed. #d-i base-installer/kernel/image string linux-image-2.6-486 B.4.8. 帐号设置 root 帐号的密码和第一个普通用户的名字和密码都可以预置。您可以给密码使用纯文本或 MD5 哈希值。 警告 要知道预置密码并不安全,每个可以访问预置文件的用户都可以看到这些密码。使用 MD5 哈希值相对安全一些,但也会造成安全的假象,MD5 哈希值也可以被暴力破解。 # Skip creation of a root account (normal user account will be able to # use sudo). #d-i passwd/root-login boolean false # Alternatively, to skip creation of a normal user account. #d-i passwd/make-user boolean false # Root password, either in clear text #d-i passwd/root-password password r00tme #d-i passwd/root-password-again password r00tme # or encrypted using an MD5 hash. #d-i passwd/root-password-crypted password [MD5 hash] # To create a normal user account. #d-i passwd/user-fullname string Debian User #d-i passwd/username string debian # Normal user's password, either in clear text #d-i passwd/user-password password insecure #d-i passwd/user-password-again password insecure # or encrypted using an MD5 hash. #d-i passwd/user-password-crypted password [MD5 hash] # Create the first user with the specified UID instead of the default. #d-i passwd/user-uid string 1010 # The user account will be added to some standard initial groups. To # override that, use this. #d-i passwd/user-default-groups string audio cdrom video passwd/root-password-crypted 和 passwd/user-password-crypted 值可以使用 "!" 作 为他们的预置值。这种情况下,对应的帐号关闭。它常用于 root 帐号,用其他替代方法 允许管理或 root 登录(例如使用 SSH key 认证或 sudo)。 下面的命令可用于生成密码的 MD5 值。 $ printf "r00tme" | mkpasswd -s -m md5 B.4.9. 设置 apt 设置 /etc/apt/sources.list 和其他的基本配置选项,将自动地基于您使用的安装方式以 及前面问题的回答。您也可以选择性地安装其他(或本地)的仓库。 # You can choose to install non-free and contrib software. #d-i apt-setup/non-free boolean true #d-i apt-setup/contrib boolean true # Uncomment this if you don't want to use a network mirror. #d-i apt-setup/use_mirror boolean false # Select which update services to use; define the mirrors to be used. # Values shown below are the normal defaults. #d-i apt-setup/services-select multiselect security, volatile #d-i apt-setup/security_host string security.debian.org #d-i apt-setup/volatile_host string volatile.debian.org # Additional repositories, local[0-9] available #d-i apt-setup/local0/repository string \ # http://local.server/debian stable main #d-i apt-setup/local0/comment string local server # Enable deb-src lines #d-i apt-setup/local0/source boolean true # URL to the public key of the local repository; you must provide a key or # apt will complain about the unauthenticated repository and so the # sources.list line will be left commented out #d-i apt-setup/local0/key string http://local.server/key # By default the installer requires that repositories be authenticated # using a known gpg key. This setting can be used to disable that # authentication. Warning: Insecure, not recommended. #d-i debian-installer/allow_unauthenticated boolean true B.4.10. 选择软件包 您可以选择安装存在的任务的组合。本文编撰时已有的任务包括: ● standard ● desktop ● gnome-desktop ● kde-desktop ● web-server ● print-server ● dns-server ● file-server ● mail-server ● sql-database ● laptop 您可以不选任务,并用其他方法安装一系列软件包。我们推荐选上 standard 任务。 如果您打算安装一些安装任务之外的独立软件包,可以使用参数 pkgsel/include。该参数 的值可以是用逗号或空格分开的软件包列表,便于在内核命令行上使用。 #tasksel tasksel/first multiselect standard, web-server # If the desktop task is selected, install the kde and xfce desktops # instead of the default gnome desktop. #tasksel tasksel/desktop multiselect kde, xfce # Individual additional packages to install #d-i pkgsel/include string openssh-server build-essential # Whether to upgrade packages after debootstrap. # Allowed values: none, safe-upgrade, full-upgrade #d-i pkgsel/upgrade select none # Some versions of the installer can report back on what software you have # installed, and what software you use. 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 B.4.11. 安装 bootloader # Grub is the default boot loader (for x86). If you want lilo installed # instead, uncomment this: #d-i grub-installer/skip boolean true # To also skip installing lilo, and install no bootloader, uncomment this # too: #d-i lilo-installer/skip boolean true # With a few exceptions for unusual partitioning setups, GRUB 2 is now the # default. If you need GRUB Legacy for some particular reason, then # uncomment this: #d-i grub-installer/grub2_instead_of_grub_legacy boolean false # 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 it also finds some other # OS, 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/only_debian boolean false #d-i grub-installer/with_other_os boolean false #d-i grub-installer/bootdev string (hd0,0) # To install grub to multiple disks: #d-i grub-installer/bootdev string (hd0,0) (hd1,0) (hd2,0) # Optional password for grub, either in clear text #d-i grub-installer/password password r00tme #d-i grub-installer/password-again password r00tme # or encrypted using an MD5 hash, see grub-md5-crypt(8). #d-i grub-installer/password-crypted password [MD5 hash] # Use the following option to add additional boot parameters for the # installed system (if supported by the bootloader installer). # Note: options passed to the installer will be added automatically. #d-i debian-installer/add-kernel-opts string nousb grub 使用的密码 MD5 值可以使用 grub-md5-crypt 生成,或者使用第 B.4.8 节 "帐号设 置" 例子中的命令。 B.4.12. 完成安装 # During installations from serial console, the regular virtual consoles # (VT1-VT6) are normally disabled in /etc/inittab. Uncomment the next # line to prevent this. #d-i finish-install/keep-consoles boolean true # Avoid that last message about the install being complete. d-i finish-install/reboot_in_progress note # This will prevent the installer from ejecting the CD during the reboot, # which is useful in some situations. #d-i cdrom-detect/eject boolean false # This is how to make the installer shutdown when finished, but not # reboot into the installed system. #d-i debian-installer/exit/halt boolean true # This will power off the machine instead of just halting it. #d-i debian-installer/exit/poweroff boolean true B.4.13. 预置其他的软件包 # 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 B.5. 高级选项 B.5.1. 安装过程中运行用户命令 预置工具提供了一个非常强大和灵活的选项,可以在安装过程的一些环节运行命令或脚本 。 # 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 # preconfiguration file like this one. Only use preconfiguration 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 immediately before the partitioner starts. It may be # useful to apply dynamic partitioner preseeding that depends on the state # of the disks (which may not be visible when preseed/early_command runs). #d-i partman/early_command \ # string debconf-set partman-auto/disk "$(list-devices disk | head -n1)" # This command is run just before the install finishes, but when there is # still a usable /target directory. You can chroot to /target and use it # directly, or use the apt-install and in-target commands to easily install # packages and run commands in the target system. #d-i preseed/late_command string apt-install zsh; in-target chsh -s /bin/zsh B.5.2. 使用预置修改默认值 也可以使用预置修改问题的默认答案,但同时显示问题。这需要在问题设定值之后,必须 将 seen 旗标重置为 "false"。 d-i foo/bar string value d-i foo/bar seen false 要对所有问题达到同样效果,可以通过在启动引导符后面设置 preseed/interactive=true 。这对于测试和调试您的预置文件很有帮助。 注意, "d-i" owner 只应该用于安装程序里面的变量。对于那些属于目标系统软件包的变 量,您应该使用软件包的名字替代。请参考第 B.2.2 节 "使用引导参数预置问题的答案" 的脚注。 如果使用引导参数预置,您可以通过 "?=" 操作符让安装程序询问相关的问题,例如,foo /bar?=value (或者 owner:foo/bar?=value)。当然,这只会影响在安装时显示出来的问题 对应的参数,而不是"内部的"参数。 B.5.3. 预置文件链 可以在一个预置文件里面包含另外的预置文件。这些文件里面的任何设置将覆盖前面加载 的设置。有一种用法,例如,通用的网络设置放在一个文件,其他规格的设置放在另外的 文件里面。 # More than 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 preconfiguration file that includes them. #d-i preseed/include string x.cfg # The installer can optionally verify checksums of preconfiguration files # before using them. Currently only md5sums are supported, list the md5sums # in the same order as the list of files to include. #d-i preseed/include/checksum string 5da499872becccfeda2c4872f9171c3d # More flexibly, this runs a shell command and if it outputs the names of # preconfiguration files, includes those files. #d-i preseed/include_command \ # string if [ "`hostname`" = bob ]; then echo bob.cfg; fi # Most flexibly of all, this downloads a program and runs it. The program # can use commands such as debconf-set to manipulate the debconf database. # More than one script can be listed, separated by spaces. # Note that if the filenames are relative, they are taken from the same # directory as the preconfiguration file that runs them. #d-i preseed/run string foo.sh 也可以通过在前面设置 preseed/url 从 initrd 或者文件预置链载进入网络预置。这将使 网络预置在网络连通时执行。您应该小心使用,因为这是两种预置,意味着您有机会执行 preseed/early 命令,第二个可以在网络连通后使用。 ━━━━━━━━━━━━━━ ^[28] debconf 变量(或模板)的 owner 通常是包含对应 debconf 模板的软件包明。对于 安装程序自己使用的变量,owner 是 "d-i"。模板和变量可以有多个 owner,以助于删除 软件包时判断它们是否要从 debconf 数据库中删除。 ^[29] 比如预置 locale 为 en_NL 在安装后的系统中默认的 locale 将是 en_US.UTF-8。 如果想使用 en_GB.UTF-8,该值应该分别进行预置。 附录 C. 为 Debian 准备分区 目录 C.1. 决定 Debian 分区以及大小 C.2. 目录树 C.3. 推荐的分区方案 C.4. Linux 里面的设备名称 C.5. Debian 分区程序 C.5.1. 为 Intel x86 准备分区 C.1. 决定 Debian 分区以及大小 最小化情况下,GNU/Linux 需要一个分区。您可以有一个包含整个操作系统,应用程序以 及您私人数据的分区。大多数人感到一个分离的交换分区也是很有必要的,尽管它并非严 格要求。"交换分区"是一个操作系统用的空白空间,允许系统使用磁盘来提供"虚拟内存" 。通过放置交换空间至一个分离的分区,Linux 可以非常有效地使用它。强迫 Linux 使用 一个普通文件作为交换空间也是可行的,但是并不推荐这种做法。 但是大多数人选择给 GNU/Linux 更多的分区。有两个原因使您愿意把文件系统分置到一些 较小的分区上。首先是安全性。如果出现问题破坏了文件系统,一般来说只有一个分区受 到影响。因此,您只需要更换(从您精心维护的备份中)系统的一部分。在最小化情况下, 您应该考虑创建所谓的"根分区"。它含有最基础的系统组件。如果其它分区出现了问题, 您仍然可以引导至 GNU/Linux 来修复系统。这个可以让您不用从头重新安装系统。 第二个理由对商业设置来说更重要,但它实际上取决于机器的用途。比如,一个邮件服务 器接受到很多垃圾邮件会很快填满一个分区,如果邮件服务器的 /var/mail 建立在一个单 独的分区上面,您即使收到太多的垃圾邮件,大多数系统仍然会继续工作。 使用更多分区的惟一缺点很难知道您将来的需求。如果建立的一个分区容量太小,您要么 重装系统,要么不停地移动数据来给分区分配空间。另一种情况,如果您建立的分区过大 ,将浪费一些原可以用在别的地方的空间。虽然今天的磁盘很便宜,但为什么要白白浪费 金钱呢? C.2. 目录树 Debian GNU/Linux 依照文件系统层次标准 (Filesystem Hierarchy Standard) 安排文件 以及文件命名。该标准让用户和软件程序预知文件以及目录的位置。根目录只是简单表现 为 /。在根层次,所有的 Debian 系统包括这些目录: ┌─────┬───────────────────────────────────┐ │目录 │ 内容 │ ├─────┼───────────────────────────────────┤ │bin │基本命令执行文件 │ ├─────┼───────────────────────────────────┤ │boot │boot loader 的静态链接文件 │ ├─────┼───────────────────────────────────┤ │dev │设备文件 │ ├─────┼───────────────────────────────────┤ │etc │主机特定的系统配置 │ ├─────┼───────────────────────────────────┤ │home │用户目录 │ ├─────┼───────────────────────────────────┤ │lib │基本共享库以及内核模块 │ ├─────┼───────────────────────────────────┤ │media│用于移动介质的挂载点 │ ├─────┼───────────────────────────────────┤ │mnt │用于临时挂载文件系统 │ ├─────┼───────────────────────────────────┤ │proc │系统信息的虚拟目录(2.4 和 2.6 内核)│ ├─────┼───────────────────────────────────┤ │root │root 用户的目录 │ ├─────┼───────────────────────────────────┤ │sbin │基本系统命令执行文件 │ ├─────┼───────────────────────────────────┤ │sys │系统信息的虚拟目录(2.6 内核) │ ├─────┼───────────────────────────────────┤ │tmp │临时文件 │ ├─────┼───────────────────────────────────┤ │usr │第二级目录 │ ├─────┼───────────────────────────────────┤ │var │不断变化的数据 │ ├─────┼───────────────────────────────────┤ │srv │系统提供的用于 service 的数据 │ ├─────┼───────────────────────────────────┤ │opt │附加的应用程序软件包 │ └─────┴───────────────────────────────────┘ 下面列出关于目录和分区的重要考虑。要注意磁盘的使用随系统配置和特定用途有很大变 化。这里所推荐的是通用指引,提供如何分区的起点。 ● 根分区 / 必须总是物理地包含 /etc、/bin、/sbin、/lib 和 /dev,否则您将不能启 动系统。典型的根分区需要 150-250MB 大小空间。 ● /usr:包含所有的用户程序(/usr/bin),库文件(/usr/lib),文档(/usr/share/doc) ,等等。这是文件系统中耗费空间最多的部分。您需要提供至少 500MB 磁盘空间。总 容量会依据您要安装的软件包数量和类型增长。宽松的工作站或服务器安装应该需要 4-6GB。 ● /var:所有的可变数据,如新闻组文章、电子邮件、网站、数据库、软件包系统的缓 存等等,将被放入这个目录。这个目录的大小取决于您计算机的用途,但是对大多数 人来说,将主要用于软件包系统的管理工具。如果您准备一次性地做一个全面的安装 ,包含 Debian 提供的所有程序,/var 下面 2 或 3GB 的空间应该够用。如果您准备 逐个安装(也就是说,安装服务程序和工具,然后是文本处理工具,然后是 X,...), 您准备 300-500 MB 就行。要是硬盘空间很紧张,并且不准备做主版本的系统升级, 可以为其准备 30 或 40MB 大小。 ● /tmp: 程序创建的临时数据大都存到这个目录。通常 40-100 MB 应该足够。一些应用 程序 -- 包括归档处理程序、CD/DVD 制作工具和多媒体软件 -- 可能会使用 /tmp 临 时保存映像文件。如果要使用这些程序,应该相应地调整 /tmp 目录的大小。 ● /home:每个用户将放置他的私有数据到这个目录的子目录下。其大小取决于将有多少 用户使用系统,以及有什么样文件放在他们的目录下。根据规划的用途,应该为每个 用户准备 100MB 空间,不过应该按您的需求调整。假如您在 home 目录下计划保存大 量的多媒体文件(图片、MP3、电影),该预备更多的空间。 C.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 个联立方程式,您也许需要上 G (或者更多)的交换分 区。 在 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 分区。 对于不同任务需要多大的空间,安装系统完成后的情况有个概念,您或许会感兴趣知道, 请查阅第 D.2 节 "各软件集所需的磁盘空间"。 C.4. Linux 里面的设备名称 Linux 的磁盘和分区命名可能与其它操作系统不同。您需要知道创建和挂接分区时 Linux 所使用的设备名称。这里是基本的命名方案: ● 第一个软盘驱动器被命名为 /dev/fd0。 ● 第二个软盘驱动器被命名为 /dev/fd1。 ● 第一个 SCSI 驱动器(SCSI ID address-wise)被命名为 /dev/sda。 ● 第二个 SCSI 驱动器(address-wise)被命名为 /dev/sdb,等等。 ● 第一个 SCSI 光盘驱动器被命名为 /dev/scd0,也叫 /dev/sr0。 ● 主 IDE 控制器下的主磁盘被命名为 /dev/hda。 ● 主 IDE 控制器的从盘命名为 /dev/hdb。 ● 第二个控制器的主磁盘和从磁盘会分别被叫做 /dev/hdc 和 /dev/hdd,较新的 IDE 控制器实际上有两个通道,扮演着两个控制器的角色。 每个磁盘分区的表示,是通过在磁盘名称后面附加一个十进制数字:sda1 和 sda2 代表系 统里的第一个 SCSI 磁盘驱动器的第一个和第二个分区。 这里有一个具体的例子。假设您有一个系统带有两个 SCSI 磁盘,一个 SCSI 地址是 2 并 且另外一个地址是 4。第一个磁盘(在 2 上)会被命名为 sda并且第二个是 sdb。如果 sda 驱动器有 3 个分区,它们将被命名为 sda1、sda2 和 sda3。这同样适用于 sdb 及其分区 。 注意如果您有两个 SCSI 主机总线适配器(控制器),设备的顺序可能会比较混乱。最好的 解决方案是观察引导信息,如果您知道驱动器型号和/或者容量。 Linux 表示主分区为驱动器名称加上数字 1 到 4。例如,在第一个 IDE 驱动器上的第一 个主分区是 /dev/hda1。逻辑驱动器将会从数字 5 开始,因此在相同驱动器上的第一个逻 辑驱动器是 /dev/hda5。要记住,扩展分区也就是含有逻辑驱动器的主分区,本身不可以 使用。这个规则对 SCSI 也同样适用。 C.5. Debian 分区程序 Debian 开发人员选用了几种在不同硬盘和不同体系结构上的分区程序。下面是一个适合您 的体系的程序列表。 partman 推荐的 Debian 分区工具。这把瑞士军刀可以修改分区大小,创建文件系统(Windows 下的说法是 "format")和关联分区至挂接点。 fdisk 最早的 Linux 磁盘分区工具,对于老手很好用。 请注意,如果您的机器上有一个 FreeBSD 分区。安装内核包含对这些分区的支持,但 是 fdisk 表示他们的设备名称方式可能有所不同(也可能不是)。参阅 Linux+FreeBSD HOWTO。 cfdisk 一个简单易用、全屏幕的磁盘分区程序。供其他人员使用。 请注意 cfdisk 完全不了解 FreeBSD 的分区,因此,再说一次,设备名称与结果可能 不同。 当您选择了 Partition disks (或类似的),默认会执行其中的一个程序。在 VT2 命令行 上也可以使用其他的分区工具,但不推荐采用这种方式。 要记得标记您的引导分区为 "Bootable"。 C.5.1. 为 Intel x86 准备分区 如果您已经有 DOS 或 Windows 这样的其他操作系统存在,并想在安装 Debian 时保留它 们,应该重新设置分区大小,释放空间给 Debian 安装程序。安装程序支持修改 FAT 和 NTFS 文件系统的尺寸;当您进入安装程序的分区步骤,选择 Manual 选项,然后只需选择 已有的分区,更改其尺寸。 PC BIOS 一般会对磁盘分区加入一些约束。比如一个磁盘驱动可以含有多少个"主"分区和" 逻辑"分区。在 1994$ndash;98 年的 BIOS 里,还有关于 BIOS 能够从什么地方引导的限 制。详细的信息可以在 Linux Partition HOWTO 以及 Phoenix BIOS FAQ 中找到。但是这 一节将包含一个简单的介绍,帮助您在大多数情况下进行规划。 "主"分区是 PC 磁盘上最早的分区方案。但是,每个磁盘只能含有四个主分区。为了突破 这个限制,发明了"扩展(extended)"和"逻辑"分区。通过将一个主分区设置为扩展分区, 您可以把其他的空间分配到其中划分成逻辑分区。您可以为每个扩展分区分配多至 60 个 逻辑分区;但是每个磁盘只能含有一个扩展分区。 对于 SCSI 来说,Linux 限制每个驱动器最多有 15 个分区(3 个可用的主分区,12 个逻 辑分区)。对于 IDE 来说可以有 63 个分区(3 个可用的主分区,60 个逻辑分区)。但是对 于普通的 Debian GNU/Linux 版本,系统只支持 20 个分区设备,因此您不能安装超过 20 个的分区,除非您首先为这些分区手工创建了设备文件。 如果您有一个大的 IDE 磁盘,并且既没有使用 LBA 寻址,也没有覆盖(overlay)驱动(硬 盘制造商有时候提供此功能),那么引导分区(含有您内核映像的分区)必须放置在硬盘第一 个 1024 柱面内(在没有 BIOS 转换的情况下,大约有 524MB)。 如果您的 BIOS 在 1995-98 年之后出现(取决于制造商),并且支持 "Enhanced Disk Drive Support Specification",就没有这个限制。Linux 的引导程序 Lilo 和 Debian 的 mbr 都必须使用 BIOS 来从磁盘读取内核至内存。如果 BIOS int 0x13 大硬盘访问拓 展被打开,则将被使用。否则会使用旧的传统磁盘访问接口,而且不能找到任何大于 1023 的柱面。一旦 Linux 引导后,不管您的计算机 BIOS 是什么,这些限制都不再起任何作用 ,因为 Linux 并不使用 BIOS 来进行磁盘寻址。 如果您有一个大硬盘,您也许必须使用柱面转换(cylinder translation)技术。它可以在 BIOS 设置程序中打开,比如 LBA (Logical Block Addressing) 或者 CHS 转换模式 ("Large")。关于大硬盘的各种问题可以在 Large Disk HOWTO 下找到。如果您正在使用一 个柱面转换方案,并且 BIOS 并不支持大硬盘访问拓展,您的引导分区必须放置在转换后 的 1024 柱面内。 解决这个问题的推荐方法,是在磁盘开始处创建一个小的(25-50MB 足矣)分区来作为引导 分区。并且在其余地方创建另外的分区。这个引导分区必须挂载到 /boot 下,因为它是放 置 Linux 内核的地方。这样的设置将可以在任意系统上工作,不管 LBA 或者大硬盘 CHS 转换是否起作用,甚至也不管您的 BIOS 是否支持大硬盘访问扩展。 附录 D. 其他 目录 D.1. Linux 里的设备 D.1.1. 设定您的鼠标 D.2. 各软件集所需的磁盘空间 D.3. 通过 Unix/Linux 系统来安装 Debian GNU/Linux D.3.1. 准备开始 D.3.2. 安装 debootstrap D.3.3. 运行 debootstrap D.3.4. 基本系统的配置 D.3.5. 内核的安装 D.3.6. Boot Loader 的设置 D.3.7. 最后一笔 D.4. 通过 Parallel Line IP (PLIP) 来安装 Debian GNU/Linux D.4.1. 需求 D.4.2. 建立源 D.4.3. 安装目标 D.5. 通过 PPP over Ethernet (PPPPoE) 来安装 Debian GNU/Linux D.6. 图形安装程序 D.6.1. 使用图形安装程序 D.1. Linux 里的设备 Linux 的许多特殊文件可以在 /dev 目录下找到。这些文件称为设备文件,其行为与普通 文件不同。大多数设备文件的类型是块设备和字符设备。这些文件是访问硬件的驱动程序 (Linux 内核的一部分)的接口。另外一些,不那么常见的类型,是命名管道(pipe)。下表 中列出了最重要的设备文件。 ┌───┬───────────┐ │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│可以从该设备永无休止地读出零│ └────┴────────────────────────────┘ D.1.1. 设定您的鼠标 鼠标可以在 Linux 控制台(通过 gpm)和 X window 下使用。通常,这只是安装 gpm 和 X server 的简单事情。它们都可以使用 /dev/input/mice 作为鼠标设备来配置。正确的鼠 标协议在 gpm 里面名为 exps2,X 里面是 ExplorerPS/2。/etc/gpm.conf 和 /etc/X11/ xorg.conf 分别是各自的配置文件。 使用鼠标需要加载特定的内核模块。大多时候会自动检测正确的模块,但不一定适用于旧 的串口和总线型鼠标^[30],它们在很早的计算机上使用。Linux 内核模块使用不同的鼠标 类型有: ┌────────┬───────────────────────────────────────────────┐ │ 模块 │ 说明 │ ├────────┼───────────────────────────────────────────────┤ │psmouse │PS/2 鼠标(将自动识别) │ ├────────┼───────────────────────────────────────────────┤ │usbhid │USB 鼠标(将自动识别) │ ├────────┼───────────────────────────────────────────────┤ │sermouse│大多数串口鼠标 │ ├────────┼───────────────────────────────────────────────┤ │logibm │连接在 Logitech 接口卡上的总线型鼠标 │ ├────────┼───────────────────────────────────────────────┤ │inport │连接在 ATI 或 Microsoft InPort 卡上的总线型鼠标│ └────────┴───────────────────────────────────────────────┘ 要加载鼠标驱动模块,您可以使用 modconf 命令(软件包使用同样的名字)并查看 kernel/ drivers/input/mouse 下的分类。 D.2. 各软件集所需的磁盘空间 对于 i386 架构,基本安装默认使用 2.6 内核,包含了所有的标准软件包,需要 397MB 磁盘空间。最小化的基本安装,没有选择 "Standard system" 任务,需要 250MB。 重要 在各种情况下,这都是安装完成并且删除临时文件之后,实际使用的磁盘空间。这还不包 括文件系统的额外消耗,比如 journal 文件。也就是说,在安装和使用过程中,都会需要 更多的磁盘空间。 下面的表格一一列出了 tasksel 中每个软件集所需的磁盘空间大小。该报表是使用 aptitude 生成的。请注意,有些软件集之间会有相互重叠的部分,所以两个软件集一起安 装后所占的空间,可能会小于这两个软件集分别安装所占的空间。 默认情况下,安装程序安装 GNOME 桌面环境,其他的桌面环境可以通过使用另外特殊的 CD 映象,或者在安装程序引导时指定所需的桌面环境(参阅第 6.3.5.2 节 "选择和安装软 件")。 注意,您需要将表格中列出的尺寸加上基本安装尺寸以决定分区的大小。多数所列的尺寸 ,如"安装尺寸"用在 /usr 和 /lib 里面;列在"下载尺寸"的是(临时地)用在 /var 里面 。 ┌─────────────────────┬───────────────┬───────────────┬────────────────────────┐ │ 任务 │ 安装尺寸 (MB) │ 下载尺寸 (MB) │ 用于安装所需空间 (MB) │ ├─────────────────────┼───────────────┼───────────────┼────────────────────────┤ │桌面环境 │  │  │  │ ├─────────────────────┼───────────────┼───────────────┼────────────────────────┤ │  • GNOME (default) │1830 │703 │2533 │ ├─────────────────────┼───────────────┼───────────────┼────────────────────────┤ │  • KDE │1592 │613 │2205 │ ├─────────────────────┼───────────────┼───────────────┼────────────────────────┤ │  • Xfce │1056 │403 │1459 │ ├─────────────────────┼───────────────┼───────────────┼────────────────────────┤ │  • LXDE │963 │370 │1333 │ ├─────────────────────┼───────────────┼───────────────┼────────────────────────┤ │便携机^[a] │26 │9 │35 │ ├─────────────────────┼───────────────┼───────────────┼────────────────────────┤ │Web 服务器 │42 │13 │55 │ ├─────────────────────┼───────────────┼───────────────┼────────────────────────┤ │打印服务器 │215 │84 │299 │ ├─────────────────────┼───────────────┼───────────────┼────────────────────────┤ │DNS 服务器 │3 │1 │4 │ ├─────────────────────┼───────────────┼───────────────┼────────────────────────┤ │文件服务器 │74 │29 │103 │ ├─────────────────────┼───────────────┼───────────────┼────────────────────────┤ │邮件服务器 │14 │5 │19 │ ├─────────────────────┼───────────────┼───────────────┼────────────────────────┤ │SQL 数据库 │50 │18 │68 │ ├─────────────────────┴───────────────┴───────────────┴────────────────────────┤ │^[a] 便携机(Laptop)任务与桌面环境任务有大量重复的内容,如果两个都安装,便携机 │ │任务只需要很小的额外空间。 │ └──────────────────────────────────────────────────────────────────────────────┘ 如果安装英语之外的其他语言,如果与您选择的语言相符,tasksel 可自动安装本地化任 务。每种语言需要的空间不同;您应该留有 350MB 以上的空间用来下载和安装。 D.3. 通过 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 安装。同时,这也是处理那些因为硬件原因不能通过任何引导或者 安装介质完成安装的权宜之计。 注意 由于绝大多数操作都是手动进行,应该记住这将需要您自己对系统做大量地基本配置,并 且要具有比常规安装更多的 Debian 和 Linux 知识。不要期望这种执行的结果与常规安装 完全相同。您还应该明白这一过程只是建立一个系统的基本步骤。可能还需要额外的安装 、或者配置步骤。 D.3.1. 准备开始 如果需重新分区,用您当前的 *nix 的分区工具,至少要划分出一个文件系统,以及交换 分区。如果只用控制台,至少要准备 350MB 空间,倘若想装 X,就需要至少 1GB 的空间 了(安装 GNOME 或 KDE 这样的桌面环境,还要更多)。 下一步,在分区上创建文件系统。例如,在 /dev/hda6 分区(以后的例子中,将把它作为 root 分区)建立一个 ext3 格式的文件系统: # mke2fs -j /dev/hda6 建立 ext2 格式的文件系统,要去掉 -j。 初始化并激活交换分区(请把分区编号替换成您希望用作 Debian 交换分区的分区编号): # mkswap /dev/hda5 # sync; sync; sync # swapon /dev/hda5 把一个分区挂载到 /mnt/debinst(这是安装的位置,将来作为您新系统的根(/)文件系统) 。挂载点的名称是任意的,后面的步骤将会用到。 # mkdir /mnt/debinst # mount /dev/hda6 /mnt/debinst 注意 如果您打算将部分文件系统(例如,/usr)放到独立的分区,在进入下一阶段之前,需要手 动创建和加载这些目录。 D.3.2. 安装 debootstrap Debian 安装程序使用的工具,同时也作为安装 Debian 基本系统的正式方法,是 debootstrap。它调用了 wget 和 ar,而其他的仅依赖 /bin/sh 和基本的 Unix/Linux 工 具^[31]。如果您的系统里还没有 wget 和 ar,先安装它们,然后下载并安装 debootstrap。 或者您也可以通过下面的步骤手动安装它。先新建一个 work 目录,用于解压后的 .deb 文件: # mkdir work # cd work debootstrap 的二进制文件位于 Debian archive (请确保选对了您架构的文件)。下载 debootstrap .deb,它位于 pool,把软件包拷贝到 work 目录,解压该文件。把这些文件 安装到系统,您必须要拥有 root 的权限。 # ar -x debootstrap_0.X.X_all.deb # cd / # zcat /full-path-to-work/work/data.tar.gz | tar xv D.3.3. 运行 debootstrap debootstrap 执行后,它会从 archive 直接下载所需的文件。在下面的命令示例中,建议 您可以根据自己的网络情况,选择较近的一个 Debian archive 镜像,替换 http.us.debian.org/debian。镜像列表位于 http://www.debian.org/mirror/list。 如果您已经把一张 squeeze 版本的 Debian GNU/Linux CD 挂载到 /cdrom,那么也可以把 http URL 替换成 file URL,即:file:/cdrom/debian/ 用下面列出的一个架构替换 debootstrap 命令中的 ARCH: alpha, amd64, arm, armel, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, or sparc。 # /usr/sbin/debootstrap --arch ARCH squeeze \ /mnt/debinst http://ftp.us.debian.org/debian D.3.4. 基本系统的配置 虽然功能还很弱,现在您的磁盘上已经有了一个真正的 Debian 系统。用 chroot 命令进 入: # LANG=C chroot /mnt/debinst /bin/bash 之后您需要设置与 Debian 基本系统兼容的终端定义,例如: # export TERM=xterm-color D.3.4.1. 创建设备文件 此时,/dev/ 只含有非常基本的设备文件。安装的后续步骤可能还需要更多的设备文件。 使用什么样的文件和方法,取决于安装使用的系统、是否采用内核模块,以及在新系统中 采用动态 (比如,使用 udev) 或静态设备文件。 可以使用的选项有: ● 创建默认的静态设备文件,使用 # cd /dev # MAKEDEV generic ● 手动创建指定的设备文件,使用 MAKEDEV ● 将 host 系统上加载的 /dev 绑定到 target 系统的 /dev;注意,有些软件包的 postinst 脚本会创建设备文件,所以要小心使用改选项。 D.3.4.2. 分区的挂载 您需要新建 /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 /media/floppy auto noauto,rw,sync,user,exec 0 0 /dev/cdrom /media/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 Current Debian systems have mountpoints for removable media under /media, but keep compatibility symlinks in /. Create these as as needed, for example: # cd /media # mkdir cdrom0 # ln -s cdrom0 cdrom # cd / # ln -s media/cdrom 您可以多次挂载 proc 文件系统,通常是在 /proc 位置,但也可以选择任意的地方。如果 没有使用 mount -a,请在进入下一步前先将 proc 挂载: # mount -t proc proc /proc ls /proc 命令现在应该列出非空目录。如果失败,您应该从 chroot: 以外加载 proc。 # mount -t proc proc /mnt/debinst/proc D.3.4.3. 设置时区 /etc/default/rcS 文件中的选项决定系统是以 UTC 还是本地时间解释硬件时钟。下面命 令可以让您设定和选择时区。 # editor /etc/default/rcS # dpkg-reconfigure tzdata D.3.4.4. 网络的配置 To configure networking, edit /etc/network/interfaces, /etc/resolv.conf, /etc/ hostname and /etc/hosts. # editor /etc/network/interfaces Here are some simple examples from /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 Enter your nameserver(s) and search directives in /etc/resolv.conf: # editor /etc/resolv.conf A simple example /etc/resolv.conf: search hqdom.local nameserver 10.1.1.36 nameserver 192.168.9.100 Enter your system's host name (2 to 63 characters): # echo DebianHostName > /etc/hostname And a basic /etc/hosts with IPv6 support: 127.0.0.1 localhost 127.0.1.1 DebianHostName # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts If you have multiple network cards, you should arrange the names of driver modules in the /etc/modules file into the desired order. Then during boot, each card will be associated with the interface name (eth0, eth1, etc.) that you expect. D.3.4.5. 配置 Apt debootstrap 会创建一个非常基本的 /etc/apt/sources.list 文件用于安装额外的软件包 。但您还可以增加一些其他的源,比如源码包和安全更新: deb-src http://ftp.us.debian.org/debian squeeze main deb http://security.debian.org/ squeeze/updates main deb-src http://security.debian.org/ squeeze/updates main 修改源列表之后一定要执行 aptitude update。 D.3.4.6. 本地化和键盘的配置 配置您的 locale 设定,以便使用英语以外的语言,需要安装 locales 支持软件包,然后 进行配置: # aptitude install locales # dpkg-reconfigure locales 配置您的键盘(如果需要): # aptitude install console-data # dpkg-reconfigure console-data 注意,在 chroot 里面不能设置键盘,但重新启动以后可以。 D.3.5. 内核的安装 要想启动这个系统,您很可能还需要一个 Linux 内核和一个 boot loader。可以用下面指 令找到那些预先打包的内核: # apt-cache search linux-image 如果您打算使用预编译的内核包,可以在使用前创建 /etc/kernel-img.conf 配置文件。 这里是一个示例文件: # Kernel image management overrides # See kernel-img.conf(5) for details do_symlinks = yes relative_links = yes do_bootloader = yes do_bootfloppy = no do_initrd = yes link_in_boot = no 要了解该文件及其选项的信息,请在安装 kernel-package 软件包后参考其手册(man)。我 们建议使用适合您系统的值。 然后使用所选择的内核软件包名来安装。 # aptitude install linux-image-2.6.32-arch-etc 假如您在安装预编译内核包之前没有创建 /etc/kernel-img.conf 文件,安装时会被问到 相关的问题。 D.3.6. Boot Loader 的设置 要让您的 Debian GNU/Linux 系统能够启动,还要创建 boot loader,好让它能加载安装 的内核并用上新的根分区。注意 debootstrap 不会安装 boot loader,因此您要在 Debian 的 chroot 中使用 aptitude 完成。 通过 info grub 或 man lilo.conf 可以看到有关设置 bootloader 的指导。如果希望保 留用来安装 Debian 的那个系统,在现有的 grub menu.lst 或 lilo.conf 里为 Debian 系统的安装添加一条配置就可以了。对于 lilo.conf,您也可以把这个文件拷贝到新的系 统里,然后在新的系统里编辑它。修改好配置,运行 lilo(请记住,在哪个系统里运行 lilo,它就会用哪个系统里的 lilo.conf)。 安装和建立 grub 非常容易: # aptitude install grub # grub-install /dev/hda # update-grub 第二个命令将安装 grub (本例中是 hda 的 MBR)。最后的命令是创建一个胜任的 /boot/ grub/menu.lst。 注意,这里假设已经创建了 /dev/hda 设备文件。另外一种方法是安装 grub,但本附录中 不讨论。 下面有一个简单的/etc/lilo.conf 作为例子: boot=/dev/hda6 root=/dev/hda6 install=menu delay=20 lba32 image=/vmlinuz initrd=/initrd.img label=Debian 根据您选择的 bootloader,可以在 /etc/kernel-img.conf 里做一些修改。 对于 grub bootloader,您应该设置 do_bootloader 选项为 "no"。为了能在安装或删除 Debian 内核时自动更新 /boot/grub/menu.lst,应添加下面几行: postinst_hook = update-grub postrm_hook = update-grub 对于 lilo bootloader,do_bootloader 的值应保留为 "yes"。 D.3.7. 最后一笔 如前所述,安装的是很基本的系统。如果您想让它更成熟一些,有一个简单的方法,使用 "standard" 优先级来安装所有的软件包: # tasksel install standard 当然,您也可以用 aptitude 来安装单独的软件包。 安装之后,/var/cache/apt/archives/ 里面会有大量下载的软件包。您可以运行下面命令 释放空间: # aptitude clean D.4. 通过 Parallel Line IP (PLIP) 来安装 Debian GNU/Linux 本节将说明在没有以太网卡的情况下,如何通过一条 Null-Modem 线(也称为 Null-Printer 线),连接到远端网关计算机来安装 Debian GNU/Linux。充当网关的计算机 应该连接到具有 Debian 镜像的网络(例如,互联网)。 本附录里面的例子中,我们将建立一个 PLIP 连接,使用的网关通过拨号连接(ppp0)到互 联网。我们还分别为目标和源系统的 PLIP 接口使用 192.168.0.1 和 192.168.0.2 IP 地 址(这些地址在您的网络地址空间里面未被占用)。 在安装时建立的 PLIP 连接,重新启动后在新安装的系统里面仍然可用(参阅第 7 章启动 进入新 Debian 系统)。 开始前,您需要检查一下源与目标系统并口的 BIOS 设置(IO 基地址和 IRQ)。常用的值为 io=0x378,irq=7。 D.4.1. 需求 ● 目标计算机,称为 target,将要安装 Debian。 ● 系统安装介质;参阅第 2.4 节 "安装介质"。 ● 另外一台连接到互联网的计算机,称为 source,功能是网关。 ● 一条 DB-25 Null-Modem 线。参阅 PLIP-Install-HOWTO 了解这种线的更多信息,以 及如何自己制作。 D.4.2. 建立源 下面的脚本是一个简单例子,说明如何配置使用 ppp0 连接到互联网的充当网关的源计算 机。 #!/bin/sh # We remove running modules from kernel to avoid conflicts and to # reconfigure them manually. modprobe -r lp parport_pc modprobe parport_pc io=0x378 irq=7 modprobe plip # Configure the plip interface (plip0 for me, see dmesg | grep plip) ifconfig plip0 192.168.0.2 pointopoint 192.168.0.1 netmask 255.255.255.255 up # Configure gateway modprobe iptable_nat iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward D.4.3. 安装目标 启动安装介质。安装需要运行在 expert 模式; 在启动提示符下输入 expert。如果您需要 为内核模块设置参数,同样要在启动提示符下输入。例如,要启动安装程序,并为 parport_pc 模块的 "io" 和 "irq" 选项设置值,在启动提示符后面输入: expert parport_pc.io=0x378 parport_pc.irq=7 下面是安装过程中各阶段所要提供的答案。 1. 从光盘加载安装组件 从列表里面选择 plip-modules 选项; 它使安装系统可以使用 PLIP 驱动。 2. 侦测网络硬件 ● 如果目标系统具有网卡,将显示侦测到的网卡的驱动模块列表。如果您希望强制 debian-installer 使用 plip,您应该排斥所有列出的驱动模块。显然,如果目 标系统没有网卡,安装程序不会显示该列表。 ● 因为前面没有网卡侦测/选择,安装程序将要求您从列表中选择网络驱动模块。选 择 plip 模块。 3. 配置网络 ● Auto-configure network with DHCP: No ● IP address: 192.168.0.1 ● Point-to-point address: 192.168.0.2 ● Name server addresses: 您可以使用与源计算机相同的地址 (参阅 /etc/ resolv.conf) D.5. 通过 PPP over Ethernet (PPPPoE) 来安装 Debian GNU/Linux 在一些国家,PPP over Ethernet (PPPoE) 是互联网供应商提供的通用宽带协议(ADSL 或 cable)。虽然安装程序默认并不支持使用 PPPoE 建立网络连接,但却很容易实现。本节将 说明操作方法。 安装时建立的 PPPoE 连接,重新启动后在新安装的系统里面仍然可用(参阅第 7 章启动进 入新 Debian 系统)。 要让安装过程中有建立和使用 PPPoE 的选项,您需要使用 CD-ROM/DVD 映像。其他的安装 方式不支持(例如 netboot)。 通过 PPPoE 进行安装,绝大部分与其他方式相同。下面步骤说明不同之处。 ● 使用 modules=ppp-udeb ^[32] 作为引导参数引导安装程序。这确保设置 PPPoE 的组 件 (ppp-udeb) 会被加载并自动运行。 ● 按照正常的步骤进行安装(语言、国家和键盘选择;加载额外的安装组件^[33])。 ● 下一步是侦测网络硬件,目的是识别当前系统中的网卡。 ● 在真正的 PPPoE 设置启动后,安装程序会探测所有识别的网卡,寻找 PPPoE 连接(一 个处理 PPPoE 连接的服务器)。 第一次尝试可能无法找到连接。这经常会出现在低速或过载的网络,或者有缺陷的服 务器上。多数情况下,第二次就能成功发现连接;要重试,从安装程序的主菜单中选 择 Configure and start a PPPoE connection。 ● 连接找到之后,用户需要提供登录信息(PPPoE 用户名和密码)。 ● 此时,安装程序就会用所提供的信息建立 PPPoE 连接。如果所提供的信息正确, PPPoE 将会正确配置,并且安装程序可以使用它连上互联网获取软件包(在需要时)。 假如登录信息不正确或有错误出现,安装程序将停止,但可以选择 Configure and start PPPoE connection 菜单项重新配置。 D.6. 图形安装程序 安装程序的图形版本只在有限的几个体系下存在,这包括 Intel x86。图形界面安装程序 的功能基本与普通安装程序相同,它们都是基于同样的程序,仅仅是使用了不同的前端。 虽然功能相同,但图形安装程序还有一些优越之处。主要的优点是可以支持更多的语言, 特别是那些在普通的 "newt" 前端下无法显示显示字符的语言。它还有一些优点,比如可 以使用鼠标,以及在一个屏幕下显示多个问题。 图形安装程序在所有的 CD 映像和硬盘安装方法映像上都有。只需从引导菜单选择对应的 选项就能启动图形安装程序。图形安装程序的 expert 和 rescue 模式可以从 "Advanced options" 菜单里面选取。之前的 installgui、expertgui 和 rescuegui 引导方法仍然可 以在引导提示后使用,这些可以在引导菜单的 "Help" 选项选取后看到。 图形安装程序的映象也可用于网络引导。有一个特殊的 "mini" ISO 映象^[34],主要用于 测试。 如同一般安装程序,它也可以在启动图形安装界面时添加引导参数。 注意 图形安装程序比普通安装程序需要更多的内存:96MB。如果无法满足内存条件,它将自动 回到普通的 "newt" 前端。 如果您系统上的内存少于 44MB,虽然普通安装程序可以启动,而图形安装程序可能根本无 法启动。因此建议在较少内存的系统上使用普通安装程序。 D.6.1. 使用图形安装程序 前面提到,图形安装程序与普通安装程序基本上工作一致,因此本手册的其他部分可以用 来给您的安装过程进行指导。 如果您喜欢用键盘替代鼠标,有两件事需要知道。要展开一个层级列表(比如用从大洲里面 选择国家),可以使用 + 和 - 键。对于多项选择(例如,选择任务),您首先需要在选中后 用 tab 跳到 Continue 按钮;按回车键切换选择,而不是激活 Continue 。 如果对话框提供了额外的帮助信息,会显示一个 Help 按钮。帮助信息可以通过该按钮或 者按下 F1 键。 要切换到另外一个控制台,您也需要使用 Ctrl 键,就像在 X Window 系统一样。例如, 要切换到 VT2(测试用的第一个 shell),需要使用:Ctrl+Left Alt+F2。图形安装程序自 己运行在 VT5,所以您可以使用 Ctrl+Left Alt+F5 切换回去。 ━━━━━━━━━━━━━━ ^[30] 串口鼠标具有一个 9 针的 D 型插头;总线型鼠标使用的是 8 针的圆形插头,请不 要和 PS/2 鼠标的 6 针圆形插头或 ADB 鼠标的 4 针圆形插头搞混。 ^[31] 它们包括 GNU core 工具和命令,像 sed、grep、tar 和 gzip。 ^[32] 参阅第 5.1.6 节 "引导界面" 了解如何添加引导参数。 ^[33] 本步骤中,ppp-udeb 组件作为其中的一个组件被加载。如果使用中或低优先级 (expert 模式),您可以手动选择 ppp-udeb,而不是在引导提示符后面输入"模块"参数。 ^[34] 该 mini ISO 映象可在 Debian 镜像的第 4.2 节 "从 Debian 镜像服务器下载文件 " 里下载。名字是 netboot/gtk/mini.iso。 附录 E. 文案 目录 E.1. 关于本文档 E.2. 帮助本文档 E.3. 主要贡献人员 E.4. 商标确认 E.1. 关于本文档 本手册是为 Sarge 版 debian-installer 创建,基于 Woody 版的软盘安装手册,而那份 手册又是基于更早版本的 Debian 安装手册和 2003 年 GPL 协议下的 Progeny 分发手册 。 本文档以 DocBook XML 写成。很多程序可以使用 docbook-xml 和 docbook-xsl 包中的信 息生成各种输出格式。 为了提升本文档的可维护性,我们使用了一些 XML 的特性,比如 entities 和 profiling 属性。它们充当类似于编程语言中变量与条件的角色。本文档的 XML 源文件包含了各种硬 件体系的信息 -- profiling 属性用于分开体系相关的文档碎片。 Debian 安装手册简体中文版翻译项目由 Carlos Z.F. Liu 发起组织,参加翻译和校对的 人员有(按字母和拼音排列):Carlos Liu、Huaxia Zhao、Kov Tchai、Ming Hua、 szjungle、wide288、胡海星、吴鲁加、解彦博、肖盛文。在此表示感谢!另外,附录中的 GPL 简体中文版取自:http://gnu.freehostingguru.com/gpl/。 E.2. 帮助本文档 对于本文档,如果您有问题或者建议,该提交关于 installation-guide 包的 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 。 E.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 安装的内容(第 D.3 节 "通过 Unix/Linux 系统来安装 Debian GNU /Linux")来源于 Karsten M. Self 所有版权的部分文档。 手册里面的使用 plip 安装一节 (第 D.4 节 "通过 Parallel Line IP (PLIP) 来安装 Debian GNU/Linux") 基于 Gilles Lamiral 的 PLIP-Install-HOWTO。 E.4. 商标确认 所有商标的所有权归各自的商标所有者。 附录 F. GNU 通用公共授权 注意 This is an unofficial translation of the GNU General Public License into Chinese. It was not published by the Free Software Foundation, and does not legally state the distribution terms for software that uses the GNU GPL -- only the original English text of the GNU GPL does that. However, we hope that this translation will help Chinese speakers to better understand the GNU GPL. 这是一份 GNU 通用公共授权非正式的中文翻译。它并非由自由软件基金会所发表,亦非使 用 GNU 通用公共授权的软件的法定发布条款 -- 只有 GNU 通用公共授权英文原文的版本 始具有此等效力。然而,我们希望这份翻译能帮助中文的使用者更了解 GNU 通用公共授权 。 第二版, 1991 年 6 月 著作权所有 (C) 1989,1991 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. 允许每个人复制和发布本授权文件的完整副本, 但不允许对它进行任何修改。 导言 大多数软件授权声明是设计用以剥夺您共享与修改软件的自由。相反地,GNU 通用公共授 权力图保证您分享与修改自由软件的自由-确保软件对所有的使用者都是自由的。通用公共 授权适用于大多数自由软件基金会的软件,以及任何作者指定使用本授权的其他软件。( 有些自由软件基金会的软件,则适用 GNU 函式库通用公共授权规定。)您也可以让您的软 件适用本授权规定。 当我们在谈论自由软件时,我们所指的是自由,而不是价格。我们的通用公共授权是设计 用以确保使您拥有发布自由软件备份的自由(以及您可以决定此一服务是否收费),确保 您能收到源码或者在您需要时能得到它,确保您能变更软件或将它的一部分用于新的自由 软件;并且确保您知道您可以做上述的这些事情。 为了保障您的权利,我们需要作出限制:禁止任何人否认您上述的权利,或者要求您放弃 这些权利。如果您发布软件的副本,或者对之加以修改,这些限制就转化成为您的责任。 例如,假如您发布此类程序的副本,无论是免费或收取费用,您必须将您所享有的一切权 利给予收受者。您也必须确保他们也能收到或得到原始程序码。而且您必须向他们展示这 些条款的內容,使他们知到他们所享有的权利。 我们采取两项措施來保护您的权利:(1)以著作权保护软件,以及(2)提供您本授权,赋与 您复制、发布并且/或者修改软件的法律许可。 同时,为了保护作者与我们(按:指自由软件基金会),我们想要确定每个人都明白,自 由软件是沒有担保责任的。如果软件被他人修改并加以传播,我们需要其收受者知道,他 们所得到的并非原始版本,因此由他人所引出的任何问题对原作者的声誉将不会有任何的 影响。 最后,所有自由软件不断地受到软件专利的威胁。我们希望能避免自由软件的再发布者以 个人名义取得专利授权而使程序专有化的风险。为了防止上述的情事发生,我们在此明确 声明:任何专利都必须为了每个人的自由使用而核准,否则就不应授与专利。 以下是有关复制、发布及修改的明确条款及条件。 GNU 通用公共授权 复制、发布与修改的条款与条件 0. 凡著作权人在其程序或其他著作中声明,该程序或著作会在通用公共授权条款下发布, 本授权对其均有适用。以下所称的"程序",是指任何一种适用通用公共授权的程序或著作 ;并且一个"基于本程序的著作",则指本程序或任何基于著作权法所产生的衍生著作,换 言之,是指包含本程序全部或一部的著作,不论是完整的或经过修改的程序,以及(或) 翻译成其他语言的程序(以下"修改"一词包括但不限于翻译行为在內)。被授权人则称为" 您"。 本授权不适用于复制、发布与修改以外的行为;这些行为不在本授权范围内。执行本程序 的行为并不受限制,而本程序的输出只有在其內容构成基于本程序所生的著作(而非只是 因为执行本程序所造成)时,始受本授权拘束。至于程序的输出內容是否构成本程序的衍 生著作,则取决于本程序的具体用途。 1. 您可以对所收受的本程序源代码,无论以何种媒介,复制与发布其完整的复制物,然而 您必须符合以下要件:以显著及适当的方式在每一份复制物上发布适当的著作权标示及无 担保声明;维持所有有关本授权以及无担保声明的原貌;并将本授权的副本连同本程序一 起交付予其他任何一位本程序的收受者。 您可以对让与复制物的实际行为收取一定的费用,您也可以自由决定是否提供担保以作为 对价的交换。 2. 您可以修改本程序的一个或数个复制物或者本程序的任何部份,以此形成基于本程序所 生的著作,并依前述第一条规定,复制与发布此一修改过的程序或著作,但您必须符合以 下要件: a. 您必须在所修改的挡案上附加显著的标示,阐明您修改过这些挡案,以及修改日期。 b. 您必须就您所发布或发行的著作,无论是包含本程序全部或一部的著作,或者是自本 程序或其任何部份所衍生的著作,整体授权所有第三人依本授权规定使用,且不得因 此项授权行为而收取任何费用。 c. 若经过修改的程序在执行时通常以交互方式读取命令时,您必须在最常被使用的方式 下,于开始进入这种交互式使用时,列印或展示以下宣告:适当的著作权标示及无担 保声明(或者声明您提供担保)、使用者可以依这些条件再发布此程序,以及告知使 用者如何浏览本授权的副本。(例外:若本程序本身是以交互的方式执行,然而通常 却不会列印该宣告时,则您基于本程序所生的著作便无需列印该宣告。) 这些要求对修改过的著作是整体适用的。倘著作中可识別的一部份并非衍生自本程序,并 且可以合理地认为是一独立的、个別的著作,则当您将其作为个別著作加以发布时,本授 权及其条款将不适用于该部分。然而当您将上述部分,作为基于本程序所生著作的一部而 发布时,整个著作的发布必须符合本授权条款的规定,而本授权对于其他被授权人所为的 许可及于著作整体。 因此,本条规定的意图不在于主张或剥夺您对于完全由您所完成著作的权利;应该說,本 条规定意在行使对基于程序所生的之衍生著作或集合著作发布行为的控制权。 此外,非基于本程序所生的其他著作与本程序(或基于本程序所生的著作)在同一储存或 发布的媒介上的单纯聚集行为,并不会使该著作因此受本授权条款约束。 3. 您可以依前述第一、二条规定,复制与发布本程序(或第二条所述基于本程序所产生的 著作)的目的码或可执行形式,但您必须符合以下要件: a. 附上完整、相对应的机器可判读源码,而这些源码必须依前述第一、二条规定在经常 用以作为软件交换的媒介物上发布;或 b. 附上至少三年有效的书面报价文件,提供任何第三人在支付不超过实际发布源码所需 成本的费用下,取得相同源码的完整机器可读复制物,并依前述第一、二条规定在经 常用以作为软件交换的媒介物上发布该复制物;或 c. 附上您所收受有关发布相同源码的报价资讯。(本项选择仅在非赢利发布、且仅在您 依前述b项方式自该书面报价文件收受程序目的码或可执行形式时,始有适用。) 著作的源码,是指对著作进行修改时适用的形式。对于一个可执行的著作而言,完整的源 码是指著作中所包含所有模组的全部源码,加上相关介面的定义挡,还加上用以控制该著 作编译与安裝的描述。然而,特別的例外情况是,所发布的源码并不需包含任何通常会随 著所执行作业系统的主要组成部分(编译器、核心等等)而发布的软件(无论以源码或二 进位格式),除非该部分本身即附加在可执行程序中。 若可执行码或目的码的发布方式,是以指定的地点提供存取位置供人复制,则提供可自相 同地点复制源码的使用机会,视同对于源码的发布,然而第三人并不因此而负有将目的码 连同源码一起复制的义务。 4. 除本授权所明示的方式外,您不得对本程序加以复制、修改、再授权或发布。任何试图 以其他方式进行复制、修改、再授权或者发布本程序的行为均为无效,并且将自动终止您 基于本授权所得享有的权利。然而,依本授权规定自您手中收受复制物或权利之人,只要 遵守本授权规定,他们所获得的授权并不会因此终止。 5. 因为您并未在本授权上签名,所以您无须接受本授权。然而,除此之外您別无其他修改 或发布本程序或其衍生著作的授权许可。若您不接受本授权,则这些行为在法律上都是被 禁止的。因此,藉由对本程序(或任何基于本程序所生的著作)的修改或发布行为,您表 示了对于本授权的接受,以及接受所有关于复制、发布或修改本程序或基于本程序所生著 作的条款与条件。 6. 每当您再发布本程序(或任何基于本程序所生的著作)时,收受者即自动获得原授权人 所授予依本授权条款与条件复制、发布或修改本程序的权利。您不得就本授权所赋予收受 者行使的权利附加任何进一步的限制。您对于第三人是否履行本授权一事,无须负责。 7. 若法院判决、专利侵权主张或者其他任何理由(不限于专利争议)的结果,使得加诸于 您的条件(无论是由法院命令、协议书或其他方式造成)与本授权规定有所冲突,他们并 不免除您对于本授权规定的遵守。若您无法同时符合依本授权所生义务及其他相关义务而 进行发布,那么其结果便是您不得发布该程序。例如,若专利授权不允许其他人直接或间 接取得复制物,通过您以免付权利金的方式再发布该程序,您唯一能同时滿足该义务及本 授权的方式就是徹底避免进行该程序的发布。 若本条任一部份在特殊情况下被认定无效或无法执行时,本条其余部分仍应适用,且本条 全部于其他情况下仍应适用。 本条的目的并不在诱使您侵害专利或其他財产权的权利主张,或就此类主张的有效性加以 争执;本条的唯一目的,是在保障藉由公共授权惯例所执行自由软件发布系统的完整性。 许多人信赖该系统一贯使用的应用程序,而对经由此系统发布的大量软件有相当多的贡献 ;作者/贡献者有权决定他或她是否希望经由其他的系统发布软件,而被授权人则无该种 选择权。 本条的用意在于将本授权其他不确定的部分徹底解释清楚。 8. 若因为专利或享有著作权保护的介面问题,而使得本程序的发布与/或使用局限于某些 国家时,则将本程序置于本授权规范之下的原著作权人得增列明确的发布地区限制条款, 将这些国家排除在外,而使发布的许可只限在未受排除的国家之內或之中。在该等情况下 ,该限制条款如同以书面方式订定于本授权內容中,而成为本授权的条款。 9. 自由软件基金会得随时发表通用公共授权的修正版与/或新版本。新版本在精神上将近 似于目前的版本,然而在细节上或所不同以因应新的问题或状况。每一个版本都有个別的 版本号码。若本程序指定有授权版本号码,表示其适用该版本或是"任何新版本"时,您可 以选择遵循该版本或任何由自由软件基金会日后所发表新版本的条款与条件。若本程序并 未指定授权版本号码时,您可以选择任一自由软件基金会所发表的版本。 10. 若您想将部分本程序纳入其他自由程序,而其发布的条件有所不同时,请写信取得作 者的许可。若为自由软件基金会享有著作权的软件,请写信至自由软件基金会;我们有时 会以例外方式予以处理。我们的决定取决于两项目标:确保我们自由软件的所有衍生著作 均维持在自由的状态,并广泛地促进软件的分享与再利用。 无担保声明 11. 由于本程序是无偿授权,因此在法律许可范围內,本授权对本程序并不负担保责任。 非经书面声明,著作权人与/或其他提供程序之人,无论明示或默许,均是依「现况」提 供本程序而并无任何形式的担保责任,其包括但不限于,就适售性以及特定目的的适用性 为默示性担保。有关本程序品质与效能的全部风险均由您承担。如本程序被证明有瑕疵, 您应承担所有服务、修复或改正的费用。 12. 非经法律要求或书面同意,任何著作权人或任何可能依前述方式修改与/或发布本程 序者,对于您因为使用或不能使用本程序所造成的一般性、特殊性、意外性或间接性损失 ,不负任何责任(包括但不限于,资料损失,资料执行不精确,或应由您或第三人承担的 损失,或本程序无法与其他程序运作等),即便前述的著作权人或其他人已被告知该等损 失的可能性时,也是一样。 条文结束 您的新程序该如何采用这些条款 如果您开发了一个新程序,并且希望能够让它尽可能地被大众使用,达成此目的的最好方 式就是让它成为自由软件,任何人依这些条款规定都能就该软件再为发布及修改。 为了做到这一点,请将以下声明附加到程序上。最安全的作法,是将声明放在每份源码挡 案的起始处,以有效传达无担保责任的讯息;且每份挡案至少应有「著作权」列以及本份 声明全文位置的提示。 用一行描述程序的名称与其用途简述。 著作权所有(C) 年份 作者姓名 本程序为自由软件;您可依据自由软件基金会所发表的 GNU 通用公共授权条款规定,就本程序再为发布与/或修改;无论您依据的是本授权的第二版或(您自行选择的)任一日后发行的版本。 本程序是基于使用目的而加以发布,然而不负任何担保责任;亦无对适售性或特定目的适用性所为的默示性担保。详情请参照 GNU 通用公共授权。 您应已收到附随于本程序的 GNU 通用公共授权的副本;如果没有,请写信至自由软件基金会:51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA。 同时附上如何以电子及书面信件与您联系的资料。 若程序是以交互方式运作时,请在交互式模式开始时,输出简短提示如下: Gnomovision 第69版,著作权所有 (C) 年份 作者姓名 Gnomovision不负担保责任,欲知详情请键入'show w'。这是一个自由软件,欢迎您在特定条件下再发布本程序;欲知详情请键入'show c'。 所假设的指令'show w'与'show c'应显示通用公共授权的相对应条款。当然,您可以使用 'show w'与'show c'以外的指令名称;甚至以鼠标键击或选菜单方式进行-只要是合于您程 序需要的方式都可以。 如有需要,您亦应取得您的雇主(若您的工作为程序设计師)或学校就本程序所签署的「 著作权放弃承諾书」。其范例如下,您只要修改姓名即可: Yoyodyne 公司,茲此放弃 James Hacker 所写之'Gnomovision'程序(该程序产出编译器所需资讯)所有的著作权利益。 Ty Coon 公司签章, 1989 年四月一日 Ty Coon 公司,副总裁 本通用公共授权并不允许您将本程序并入专有程序中。若您的程序是一子程序函数库时, 您可能认为允许专有应用程序与该函式库相连结会更有帮助。若这是您所想做的,请使用 GNU 函式库通用公共授权代替本授权。