第 2 章 安装 FreeBSD

This translation may be out of date. To help with the translations please access the FreeBSD translations instance.

2.1. 概述

FreeBSD 提供了一个以文字为主,简单好用的安装程序,叫做 sysinstall 。这是 FreeBSD 默认使用的安装程序; 厂商如果想,也可以提供适合自己需要的安装程序。本章说明如何使用 sysinstall 来安装 FreeBSD。

学习完本章之后,您将会知道:

  • 如何制作 FreeBSD 安装磁盘

  • FreeBSD如何参照及分割您的硬盘

  • 如何启动 sysinstall.

  • 在执行 sysinstall 时您将要回答的问题、 问题代表什么意义,以及该如何回答它们。

在阅读本章之前,您应该:

  • 阅读您要安装的 FreeBSD 版本所附的硬件支持列表以确定您的硬件有没有被支持。

一般来说,此安装说明是针对 i386™ ("PC 兼容机") 体系结构的电脑。如果有其它体系结构的安装说明, 我们将一并列出。虽然本文档经常保持更新, 但有可能与您安装版本上所带的说明文档有些许出入。 在这里建议您使用本说明文章作为一般性的安装指导参考手册。

2.2. 硬件需求

2.2.1. 最小配置

安装 FreeBSD 所需的最小硬件配置, 随 FreeBSD 版本和硬件架构不同而有所不同。

在接下来的几节中, 给出了这些信息的一些总结。随您安装 FreeBSD 的方式不同, 可能需要使用软驱或为 FreeBSD 支持的 CDROM 驱动器, 有时候也可能需要的是一块网卡。 这将在 准备引导介质 中进行介绍。

2.2.1.1. FreeBSD/i386 和 FreeBSD/pc98

FreeBSD/i386 和 FreeBSD/pc98 版本, 都需要 486 或更高的处理器,以及至少 24 MB 的 RAM。 您需要至少 150 MB 的空闲硬盘空间, 才能完成最小的安装配置。

对于老旧的硬件而言, 多数时候, 装配更多的 RAM 和腾出更多的硬盘空间, 要比使用更快的处理器更有用。

2.2.1.2. FreeBSD/amd64

有两类处理器同时能够支持运行 FreeBSD/amd64。 第一种是 AMD64 处理器, 包括 AMD Athlon™64、 AMD Athlon™64-FX、 AMD Opteron™ 以及更高级别的处理器。

能够使用 FreeBSD/amd64 的另一种处理器是包含了采用 Intel® EM64T 架构支持的处理器。 这类处理器包括 Intel® Core™ 2 Duo、 Quad、 以及 Extreme 系列处理器, 以及 Intel® Xeon™ 3000、 5000、 和 7000 系列处理器。

如果您的计算机使用 nVidia nForce3 Pro-150, 则 必须 使用 BIOS 配置, 禁用 IO APIC。 如果您没有找到这样的选项, 可能就只能转而禁用 ACPI 了。 Pro-150 芯片组存在一个 bug, 目前我们还没有找到绕过这一问题的方法。

2.2.1.3. FreeBSD/sparc64

要安装 FreeBSD/sparc64, 必须使用它支持的平台 (参见 支持的硬件)。

FreeBSD/sparc64 需要独占一块磁盘。 目前还没有办法与其它操作系统共享一块磁盘。

2.2.2. 支持的硬件

支持的硬件列表, 会作为 FreeBSD 发行版本的 FreeBSD 兼容硬件说明提供。 这个文档通常可以在 CDROM 或 FTP 安装文件的顶级目录找到, 它的名字是 HARDWARE.TXT, 此外, 在 sysinstall 的 documentation 菜单也可以找到。它针对特定的硬件架构列出了 FreeBSD 已知支持的硬件。 不同发行版本和架构上的硬件支持列表,可以在 FreeBSD 网站的 发行版信息 页面上找到。

2.3. 安装前的准备工作

2.3.1. 列出您电脑的硬件清单

在安装 FreeBSD 之前,您应该试着将您电脑中的硬件清单列出来。 FreeBSD 安装程序会将这些硬件(磁盘、网卡、光驱等等) 以及型号及制造厂商列出来。FreeBSD 也会尝试为这些设备找出最适当的 IRQ 及 IO 端口的设定。但是因为 PC 的硬件种类实在太过复杂, 这个步骤不一定总是能成功。这时, 您就可能需要手动更改有问题的设备的设定值。

如果您已经安装了其它的操作系统,如 Windows® 或 Linux, 那么您可以先由这些系统所提供的工具来查看您的设备设定值是怎么分配的。 如果您真的没办法确定某些接口卡用什么设定值,那么您可以检查看看, 说不定它的设定已经标示在卡上。常用的 IRQ 号码为 3、5 以及 7; IO 端口的值通常以 16 进制位表示,例如 Ox330。

我们建议您在安装 FreeBSD 之前把这些信息打印或记录下来,做成表格 的样子也许会比较有帮助,例如:

表 1. 硬件设备清单
设备名IRQIO 端口号备注

第一块硬盘

N/A

N/A

40 GB,Seagate 制造,第一个 IDE 接口主设备

CDROM

N/A

N/A

第一个 IDE 接口从设备

第二块硬盘

N/A

N/A

20 GB,IBM 制造, 第二个 IDE 接口主设备

第一个 IDE 控制器

14

0x1f0

网卡

N/A

N/A

Intel® 10/100

Modem

N/A

N/A

3Com® 56K faxmodem,位于 COM1 口

在清楚地了解了您计算机的配置之后, 需要检查它是否符合您希望安装的 FreeBSD 版本的硬件需求。

2.3.2. 备份您的数据

如果您的电脑上面存有重要的数据资料, 那么在安装 FreeBSD 前请确定您已经将这些资料备份了, 并且先测试这些备份文档是否有问题。FreeBSD 安装程序在要写入任何资料到您的硬盘前都会先提醒您确认, 一旦您确定要写入,那么以后就没有反悔的机会。

2.3.3. 决定要将 FreeBSD 安装到哪里

如果您想让 FreeBSD 使用整个硬盘,那么请直接跳到下一节。

但是,如果您想让 FreeBSD 跟您已有的系统并存, 那么您必须对您数据存在硬盘的分布方式有深入的了解, 以及其所造成的影响。

2.3.3.1. FreeBSD/i386 体系结构的硬盘分配方式

一个 PC 硬盘可以被细分为许多块。 这些块被称为 partitions (分区)。 由于 FreeBSD 内部也有分区的概念,如此命名很容易导致混淆, 因此我们在 FreeBSD 中,将其称为磁盘 slice,或简称为 slices。 例如, FreeBSD 提供的用于操作 PC 磁盘分区的工具 fdisk 就将其称为 slice 而不是 partition。 由于设计的原因, 每个硬盘仅支持四个分区; 这些分区叫做 主分区(Primary partion)。 为了突破这个限制以便能使用更多的分区,就有了新的分区类型,叫做 扩展分区(Extended partition)。 一个硬盘可以拥有一个扩展分区。在扩展分区里可以建立许多个所谓的 逻辑分区(Logical partitions)

每个分区都有其独立的 分区号(partition ID), 用以区分每个分区的数据类型。FreeBSD 分区的分区号为 165

一般而言,每种操作系统都会有自己独特的方式来区别分区。 例如 DOS 及其之后的 Windows®, 会分配给每个主分区及逻辑分区一个 驱动器字符, 从 C: 开始。

FreeBSD 必须安装在主分区。FreeBSD 可以在这个分区上面存放系统数据或是您建立的任何文件。 然而,如果您有多个硬盘,您也可以在这些硬盘上(全部或部分)建立 FreeBSD 分区。在您安装 FreeBSD 的时候,必须要有一个分区可以给 FreeBSD 使用。 这个分区可以是尚未规划的分区, 或是已经存在且存有数据但您不再需要的分区。

如果您已经用完了您硬盘上的所有分区, 那么您必须使用其它操作系统所提供的工具 (如 DOS 或 Windows® 下的 fdisk) 来腾出一个分区给 FreeBSD 使用。

如果您的某个分区有多余的空间,您可以使用它。 但是使用前您需要先整理一下这些分区。

FreeBSD 最小安装需要约 100 MB 的空间,但是这仅是 非常 基本的安装, 几乎没有剩下多少空间可以建立您自己的文件。一个较理想的最小安装是 250 MB,不含图形界面;或是 350 MB 以上,包含图形界面。 如果您还需要安装其它的第三方厂商的套件, 那么将需要更多的硬盘空间。

您可以使用类似 PartitionMagic® 这样的商业版本工具, 或类似 GParted 这样的自由软件工具来调整分区尺寸, 从而为 FreeBSD 腾出空间。 PartitionMagic® 和 GParted 都能改变 NTFS 分区的尺寸。 GParted 在许多 Live CD Linux 发行版, 如 SystemRescueCD 中均有提供。

目前已经有报告显示改变 Microsoft® Vista 分区尺寸时会出现问题。 在进行此类操作时, 建议您准备一张 Vista 安装 CDROM。如同其他的磁盘维护操作一样, 强烈建议您事先进行备份。

不当的使用这些工具可能会删掉您硬盘上的数据资料! 在使用这些工具前确定您有最近的、没问题的备份数据。

例 1. 使用已存在的分区

假设您只有一个 4GB 的硬盘,而且已经装了 Windows® 然后您将这个硬盘分成两个分区 C:D:,每个分区大小为 2 GB。在 C: 分区上存放有 1 GB 的数据、 D:分区上存放 0.5 GB 的数据。

这意味着您的盘上有两个分区,一个驱动器符号是一个分区 (如 c:、d:)。 您可以把所有存放在 D: 分区上的数据复制到 C: 分区, 这样就空出了一个分区(d:)给 FreeBSD 使用。

例 2. 缩减已现在的分区

假设您只有一个 4 GB 的硬盘,而且已经装了 Windows®。 您在安装 Windows® 的时候把 4 GB 都给了 C: 分区,并且已经使用了 1.5 GB 的空间。您想将剩余空间中的 2 GB 给 FreeBSD 使用。

为了安装 FreeBSD,您必须从下面两种方式中选择一种:

  1. 备份 Windows® 的数据资料,然后重新安装 Windows®, 并给 Windows® 分配 2 GB 的空间。

  2. 使用上面提及的 PartitionMagic® 来整理或切割您的分区。

2.3.4. 收集您的网络配置相关资料

如果您想通过网络(FTP 或是 NFS)安装 FreeBSD, 那么您就必须知道您的网络配置信息。在安装 FreeBSD 的过程中将会提示您输入这些资料,以顺利完成安装过程。

2.3.4.1. 使用以太网或电缆/DSL Modem

如果您通过局域网或是要通过网卡使用电缆/DSL 上网, 那么您必须准备下面的信息:

  1. IP 地址。

  2. 默认网关 IP 地址。

  3. 主机名称。

  4. DNS 服务器的 IP 地址。

  5. 子网掩码。

如果您不知道这些信息, 您可以询问系统管理员或是您的网络服务提供者。 他们可能会说这些信息会由 DHCP 自动分配;如果这样的话,请记住这一点就可以了。

2.3.4.2. 使用 Modem 连接

如果您由 ISP 提供的拨号服务上网,您仍然可以通过它安装 FreeBSD,只是会需要很长的时间。

您必须知道:

  1. 拨号到 ISP 的电话号码。

  2. 您的 modem 是连接到哪个 COM 端口。

  3. 您拨号到 ISP 所用的账号和密码。

2.3.5. 检查 FreeBSD 发行勘误

虽然我们尽力确保每个 FreeBSD 发行版本的稳定性, 但偶尔也会有一些错误进入发行版。极少数情况下, 这些问题甚至可能会影响安装。 当发现和修正问题之后,它们会列在 FreeBSD 网站中的 FreeBSD 发行勘误 中。 在您安装之前,应该首先看一看这份勘误表,以了解可能存在的问题。

关于所有释出版本的信息,包括勘误表,可以在 FreeBSD 网站发行版信息 一节中找到。

2.3.6. 准备安装介质

FreeBSD 可以通过下面任何一种安装介质进行安装:

安装介质
  • CDROM 或 DVD

  • USB 记忆棒

  • 在同一计算机上的 DOS 分区

  • SCSI 或 QIC 磁带

  • 软盘

网络
  • 通过防火墙的一个 FTP 站点,或使用 HTTP 代理。

  • NFS 服务器

  • 一个指定的并行或串行接口

如果您购买了 FreeBSD 的 CD 或 DVD,那么您可以直接进入下一节 (准备引导介质)。

如果您还没有 FreeBSD 的安装文件, 则应按照 准备您自己的安装介质 来准备。 读完那节之后, 您就可以回到这节并从 准备引导介质 继续了。

2.3.7. 准备引导介质

FreeBSD 的安装过程开始于将您的电脑开机进入 FreeBSD 安装环境 - -并非在其它的操作系统上运行一个程序。 计算机通常使用安装在硬盘上的操作系统进行引导, 也可以配置成使用一张"bootable(可引导)"的软盘进行启动。 大多数现代计算机也都可以从光驱或 USB 盘来引导系统。

如果您有 FreeBSD 的安装光盘或 DVD(或者是您购买的, 或者是您自己准备的。)并且您的计算机可以从光驱进行启动 (通常在 BIOS 中会有 "Boot Order" 或类似的选项可以设置),那么您就可以跳过此小节。 因为 FreeBSD 光盘及 DVD 光盘都是可以引导的, 用它们开机您不用做什么特别的准备。

要创建引导系统所需的记忆棒, 需按下面的操作进行:

  1. 获取记忆棒映像文件

    记忆棒映像文件可以从 arch 对应的 ISO-IMAGES 目录, 例如 ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/arch/ISO-IMAGES/version/FreeBSD-12.0-RELEASE-arch-memstick.img 获得。 其中, archversion 需要替换为您使用的平台和版本。 例如, FreeBSD/i386 12.0-RELEASE 的记忆棒映像位于 ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/ISO-IMAGES/12.0/FreeBSD-12.0-RELEASE-i386-memstick.img

    记忆棒的映像文件扩展名是 .img。 在 ISO-IMAGES/ 目录中提供了多种不同的映像, 您需要根据使用的 FreeBSD 版本, 有时也包括硬件来选择合适的映像。

    在继续安装之前, 务必 备份 您目前保存在 USB 记忆棒上的数据, 接下来的操作将会 擦除 这些数据。

  2. 准备记忆棒

    下面的例子中, 目标记忆棒对应的设备名是 /dev/da0。 请小心地确认这是希望覆盖的设备, 否则可能会损坏您的现有数据。

    设置 kern.geom.debugflags sysctl 为允许写入目标设备的主引导记录。

     #  sysctl kern.geom.debugflags=16
  3. 将映像文件写入记忆棒

    .img 文件 不是 直接复制到记忆棒中的那种普通文件。 这个映像是一份包含启动盘全部内容的映像。 这意味着简单地从一个地方复制到另一个地方是 不能 赋予其引导系统的能力的。 您必须使用 dd(1) 将映像文件直接写入磁盘:

    # dd if=FreeBSD-12.0-RELEASE-i386-memstick.img of=/dev/da0 bs=64k

一般来说,要建立安装盘(软盘)请依照下列步骤:

  1. 获取开机软盘映像文件

    请注意, 从 FreeBSD 8.0 开始, 我们不再提供软盘映像了。 请参阅前面关于如何使用 USB 记忆棒, 或 CDROM 和 DVD 来安装 FreeBSD 的介绍。

    开机软盘映像文件可以在您的安装介质的 floppies/ 目录下找到, 另外您也可以从下述网站的 floppies 目录下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/架构名/版本-RELEASE/floppies/。 将 <架构名><版本> 替换为您使用的计算机体系结构和希望安装的版本号。 例如,用于安装 i386™ 上的 FreeBSD/i386 11.2-RELEASE 的文件的地址, 应该是 ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/11.2-RELEASE/floppies/

    软盘映像文件的扩展名是 .flp。 在 floppies/ 目录中包括了许多不同的映像文件, 随您安装的 FreeBSD 版本, 某些时候也随硬件的不同, 您需要使用的映像文件可能会有所不同。 您通常会需要四张软盘, 即 boot.flpkern1.flpkern2.flp, 以及 kern3.flp。 请查阅同一目录下的 README.TXT 文件以了解关于这些映像文件的最新信息。

    您的 FTP 程序必须使用 二进制模式 来下载这些映 像文件。有些浏览器只会用 text (或_ASCII _) 模式来传输数据, 用这些浏览器下载的映像文件做成的软盘将无法正常开机。

  2. 准备软盘

    您必须为您下载的每一个映像文件准备一张软盘。 并且请避免使用到坏掉的软盘。 最简单的方式就是您先将这些软盘格式化, 不要相信所谓的已格式化的软盘。在 Windows® 下的格式化程序不会告诉您出现多少坏块, 它只是简单的标记它们为 "bad" 并且忽略它们。 根据建议您应该使用全新的软盘来存放安装程序。

    如果您在安装 FreeBSD 的过程中造成当机、 冻结或是其它怪异现象,第一个要怀疑的就是引导软盘。 请用其它的软盘制作映像文件再试试看。

  3. 将映像文件写入软盘中

    .flp 文件 并非 一般的文件,您不能直接将它们复制到软盘上。 事实上它是一张包含完整磁盘内容的映像文件。这表示您 不能 简单的使用 DOS 的 copy 命令将文件写到软盘上, 而必须使用特别的工具程序将映像文件直接写到软盘中。

    如果您使用 MS-DOS® 或 Windows® 操作系统来制作引导盘, 那么您可以使用我们提供的 fdimage 程序来将映像文件写到软盘中。

    如果您使用的是光盘,假设光盘的驱动器符号为 E:,那么请执行下面的命令:

    E:\> tools\fdimage floppies\boot.flp A:

    重复上述命令以完成每个 .flp 文件的写入, 每换一个映像文件都必须更换软盘; 制作好的软盘请注明是使用哪个映像文件做的。 如果您的映像文件存放在不同的地方,请自行修改上面的指令指向您存放 .flp 文件的地方。要是您没有 FreeBSD 光盘, 您可以到 FreeBSD 的 FTP 站点 tools目录 中下载。

    如果您在 UNIX® 系统上制作软盘(例如其它 FreeBSD 机器), 您可以使用 dd(1) 命令来将映像文件写到软盘中。 如果您用 FreeBSD,可以执行下面的命令:

    # dd if=boot.flp of=/dev/fd0

    在 FreeBSD 中,/dev/fd0 指的是第一个软驱(即 A: 驱动器); /dev/fd1B: 驱动器,依此类推。其它的 UNIX® 系统可能会用不同的的名称, 这时您就要查阅该系统的说明文件。

您现在可以安装 FreeBSD 了

2.4. 开始安装

默认情况下, 安装过程并不会改变任何您硬盘中的数据, 除非您看到下面的讯息:

Last Chance: Are you SURE you want continue the installation?

If you're running this on a disk with data you wish to save then WE
STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding!

We can take no responsibility for lost disk contents!

在看到这最后的警告讯息前您都可以随时离开, 安装程序界面不会变更您的硬盘。如果您发现有任何设定错误, 这时您可以直接将电源关掉而不会造成任何伤害。

2.4.1. 开机启动

2.4.1.1. 引导 i386™ 系统

  1. 从电脑尚未开机开始说起

  2. 将电脑电源打开。刚开始的时候它应该会显示进入系统设置菜单或 BIOS 要按哪个键,常见的是 F2F10DelAlt+S。不论是要按哪个键,请按它进入 BIOS 设置画面。 有时您的计算机可能会显示一个图形画面,典型的做法是按 Esc 将关掉这个图形画面, 以使您能够看到必要的设置信息。

  3. 找到设置开机顺序的选项,它的标记为 "Boot Order" 通常会列出一些设备让您选择,例如:FloppyCDROMFirst Hard Disk 等等。

    如果您要用光盘安装,请选择 CDROM。 如果使用 USB 盘, 或者软盘来引导系统, 也应类似地确认选择了正确的引导设备。 如有疑问, 请参考您的主板说明手册。

    储存设定并离开,系统应该会重新启动。

  4. 如果您根据 准备引导介质 制作了 "可引导" 的 USB 记忆棒, 在开机前将其插到计算机上。

    如果您是从光盘安装, 那么开机后请立即将 FreeBSD 光盘放入光驱中。

    对于 FreeBSD 7.3 和更早的版本, 可以使用软盘引导, 这些软盘可以根据 准备引导介质 来制作。 其中, boot.flp 是启动盘。 引导系统时应使用这张软盘。

    如果您开机后发现计算机引导了先前已经装好的其他操作系统, 请检查: .. 是不是软盘或光盘太晚放入而错失开机引导时间。 如果是, 请将它们放入后重新开机。 .. BIOS 设定不对,请重新检查 BIOS 的设定。 .. 您的 BIOS 不支持从这些安装介质引导。

  5. FreeBSD 即将启动。如果您是从光盘引导, 您会见到类似下面的画面:

    Booting from CD-Rom...
    645MB medium detected
    CD Loader 1.2
    
    Building the boot loader arguments
    Looking up /BOOT/LOADER... Found
    Relocating the loader and the BTX
    Starting the BTX loader
    
    BTX loader 1.00 BTX version is 1.02
    Consoles: internal video/keyboard
    BIOS CD is cd0
    BIOS drive C: is disk0
    BIOS drive D: is disk1
    BIOS 636kB/261056kB available memory
    
    FreeBSD/i386 bootstrap loader, Revision 1.1
    
    Loading /boot/defaults/loader.conf
    /boot/kernel/kernel text=0x64daa0 data=0xa4e80+0xa9e40 syms=[0x4+0x6cac0+0x4+0x88e9d]
    \

    如果您从软盘启动, 则应看到类似下面的画面:

    Booting from Floppy...
    Uncompressing ... done
    
    BTX loader 1.00  BTX version is 1.01
    Console: internal video/keyboard
    BIOS drive A: is disk0
    BIOS drive C: is disk1
    BIOS 639kB/261120kB available memory
    
    FreeBSD/i386 bootstrap loader, Revision 1.1
    
    Loading /boot/defaults/loader.conf
    /kernel text=0x277391 data=0x3268c+0x332a8 |
    
    Insert disk labelled "Kernel floppy 1" and press any key...

    请根据提示将 boot.flp 软盘取出, 插入 kern1.flp 这张盘, 然后按 Enter。 您只需从第一张软盘启动, 然后再需要时根据提示插入其他软盘就可以了。

  6. 不论是从光盘、 USB 记忆棒或软盘引导, 接下来都会进入 FreeBSD 引导加载器菜单:

    boot loader menu
    图 1. FreeBSD Boot Loader Menu

    您可以等待十秒, 或按 Enter

2.4.1.2. 引导 sparc64

多数 sparc64 系统均配置为从硬盘自动引导。 如果希望安装 FreeBSD,就需要从网络或 CDROM 启动了, 这需要首先进入 PROM (OpenFirmware)。

要完成这项工作,首先需要重启系统,并等待出现引导消息。 具体的信息取决于您使用的型号,不过它应该会是类似下面这样:

Sun Blade 100 (UltraSPARC-IIe), Keyboard Present
Copyright 1998-2001 Sun Microsystems, Inc.  All rights reserved.
OpenBoot 4.2, 128 MB memory installed, Serial #51090132.
Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.

如果您的系统此时开始了从硬盘引导的过程,则需要按下 L1+AStop+A, 或者在串口控制台上发送 BREAK (例如, 在 tip(1)cu(1) 中是 ~#) 以便进入 PROM 提示符。 它应该是类似下面这样:

ok        (1)
ok {0} (2)
1这是在只有一颗 CPU 的系统上的提示。
2这是用于 SMP 系统的选项, 这里的数字, 是系统中可用的 CPU 数量。

这时, 将 CDROM 插入驱动器, 并在 PROM 提示符后面, 输入 boot cdrom

2.4.2. 查看设备探测的结果

前面屏幕显示的最后几百行字会存在缓冲区中以便您查阅。

要浏览缓冲区,您可以按下 Scroll Lock 键, 这会开启画面的卷动功能。然后您就可以使用方向键或 PageUpPageDown 键来上下翻阅。 再按一次 Scroll Lock 键将停止画面卷动。

在您浏览的时候会看到类似 典型的设备探测结果的画面。 真正的结果依照您的电脑装置而有所不同。

典型的设备探测结果
avail memory = 253050880 (247120K bytes)
Preloaded elf kernel "kernel" at 0xc0817000.
Preloaded mfs_root "/mfsroot" at 0xc0817084.
md0: Preloaded image </mfsroot> 4423680 bytes at 0xc03ddcd4

md1: Malloc disk
Using $PIR table, 4 entries at 0xc00fde60
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1:<VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11
isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0
isa0: <iSA bus> on isab0
atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0 <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci
0
usb0: <VIA 83572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr1
uhub0: 2 ports with 2 removable, self powered
pci0: <unknown card> (vendor=0x1106, dev=0x3040) at 7.3
dc0: <ADMtek AN985 10/100BaseTX> port 0xe800-0xe8ff mem 0xdb000000-0xeb0003ff ir
q 11 at device 8.0 on pci0
dc0: Ethernet address: 00:04:5a:74:6b:b5
miibus0: <MII bus> on dc0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xec00-0xec1f irq 9 at device 10.
0 on pci0
ed0 address 52:54:05:de:73:1b, type NE2000 (16 bit)
isa0: too many dependant configs (8)
isa0: unexpected small tag 14
orm0: <Option ROM> at iomem 0xc0000-0xc7fff on isa0
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5” drive> on fdc0 drive 0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/@ mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
pppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/15 bytes threshold
plip0: <PLIP network interface> on ppbus0
ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master UDMA33
acd0: CD-RW <LITE-ON LTR-1210B> at ata1-slave PIO4
Mounting root from ufs:/dev/md0c
/stand/sysinstall running as init on vty0

请仔细检查探测结果以确定 FreeBSD 找到所有您期望出现的设备。 如果系统没有找到设备, 则不会将其列出。 定制内核 能够让您为系统添加默认的 GENERIC 内核所不支持的设备, 如声卡等。

在 FreeBSD 6.2 和更高版本中, 在探测完系统设备之后, 将显示 选择国家及地区菜单。 请使用光标键来选择国家或地区。 接着按 Enter, 系统将自动设置地区。 您也可以很容易地退出 sysinstall 程序并从头来过。

config country
图 2. 选择国家及地区菜单

如果您在国家及地区菜单中选择了 United States (美国), 则系统会使用标准的美国键盘映射; 如果选择了不同的国家, 则会显示下面的菜单。 使用光标键选择正确的键盘映射, 然后按 Enter 来确认。

config keymap
图 3. 选择键盘菜单
sysinstall exit
图 4. 选择离开 Sysinstall

在主界面使用方向键选择 Exit Install 您会看到 如下的信息:

                      User Confirmation Requested
         Are you sure you wish to exit? The system will reboot

                            [ Yes ]    No

如果此处选择了 yes 但 CDROM 还留在光驱里, 则会再次进入安装程序。

如果您是从软盘启动, 则在重启系统之前, 需要将 boot.flp 软盘取出。

2.5. 介绍 Sysinstall

sysinstall 是 FreeBSD 项目所提供的安装程序。它以 console(控制台)为主, 分为多个菜单及画面让您配置及控制安装过程。

sysinstall 菜单画面由方向键、 EnterTabSpace, 以及其它按键所控制。在主画面的 Usage 菜单有这些按键的说明。

要查看这些说明,请将光标移到 Usage 项目,然后 Select 按键被选择, 选取 Sysinstall 主菜单的 Usage 项目,然后按下 Enter 键。

安装画面的使用说明会显示出来,阅读完毕请按 Enter 键回到主画面。

main1
图 5. 选取 Sysinstall 主菜单的 Usage 项目

2.5.1. 选择 Documentation(说明文件) 菜单

用方向键从主菜单选择 Doc 条目然后按 Enter键。

main doc
图 6. 选择说明文件菜单

这将会进入说明文件菜单。

docmenu1
图 7. Sysinstall 说明文件菜单

阅读这些说明文件很重要。

要阅读一篇文章,请用方向键选取要阅读的文章然后按 Enter 键。阅读中再按一下 Enter 就会回到说明文件画面。

若要回到主菜单,用方向键选择 Exit 然后按下 Enter 键。

2.5.2. 选择键盘对应(Keymap)菜单

如果要改变键盘按键的对应方式, 请在主菜单选取 Keymap 然后按 Enter 键。一般情况下不改变此项, 除非您使用了非标准键盘或非美国键盘。

main keymap
图 8. Sysinstall 主菜单

您可以使用上下键移动到您想使用的键盘对应方式, 然后按下 Space 键以选取它;再按 Space 键可以取消选取。当您完成后, 请选择 OK 然后按 Enter 键。

这一屏幕只显示出部分列表。选择 CancelTab 键将使用默认的键盘对应, 并返回到主菜单

keymap
图 9. Sysinstall 键盘对应菜单

2.5.3. 安装选项设置画面

选择 Options 然后按 Enter 键。

main options
图 10. Sysinstall 主菜单
options
图 11. Sysinstall 选项设置

预设值通常可以适用于大部分的使用者,您并不需要改变它们。 版本名称要根据安装的版本进行变化。

目前选择项目的描述会在屏幕下方以蓝底白字显示。 注意其中有一个项目是 Use Defaults(使用默认值) 您可以由此项将所有的设定还原为预设值。

可以按下 F1 来阅读各选项的说明。

Q 键可以回到主画面。

2.5.4. 开始进行标准安装

Standard(标准) 安装适用于那些 UNIX® 或 FreeBSD 的初级使用者。用方向键选择 Standard 然后按 Enter 键可开始进入标准安装。

main std
图 12. 开始进行标准安装

2.6. 分配磁盘空间

您的第一个工作就是要分配 FreeBSD 用的硬盘空间以便 sysinstall 先做好一些准备。 为了完成这个工作,您必须先对 FreeBSD 如何找到磁盘信息做一个了解。

2.6.1. BIOS 磁盘编号

当您在系统上安装配置 FreeBSD 之前, 有一个重要的事情一定要注意,尤其是当您有多个硬盘的时候。

在 pc 架构,当您跑像 MS-DOS® 或 Microsoft® Windows® 这种跟 BIOS 相关的操作系统的时候,BIOS 有能力改变正常的磁盘顺序, 然后这些操作系统会跟着 BIOS 做改变。这让使用者不一定非要有所谓的 "primary master" 硬盘开机。 许多人发现最简单而便宜备份系统的方式就是再去买一块一模一样的硬盘, 然后定期将数据从第一块硬盘复制到第二个硬盘,使用 Ghost 或 XCOPY。所以,当第一个硬盘死了, 或者是被病毒破坏,或者有坏轨道, 他们可以调整 BIOS 中的开机顺序而直接用第二块硬盘开机。 就像交换硬盘的数据线,但是无需打开机箱。

比较昂贵,配有 SCSI 控制卡的系统通常可以延伸 BIOS 的功能来让 SCSI 设备 (可达七个) 达到类似改变顺序的功能。

习惯于使用这种方式的使用者可能会感到惊讶, 因为在 FreeBSD 中并非如此。FreeBSD 不会参考 BIOS, 而且也不知道所谓的 "BIOS 逻辑磁盘对应" 是怎么回事。这会让人感觉很疑惑, 明明就是一样的硬盘而且资料也完全从另一块复制过来的, 结果却没办法像以前那样用。

当使用 FreeBSD 以前,请将 BIOS 中的硬盘开机顺序调回正常的顺序, 并且以后不要再改变。 如果一定要交换硬盘顺序, 那请用硬件的方式, 打开机箱并调整调线。

Bill 替 Fred 把旧的 Wintel 的机器装上了 FreeBSD。 他装了一台 SCSI 硬盘,ID 是 0,然后把 FreeBSD 装在上面。

Fred 开始使用他新的 FreeBSD 系统;但是过了几天, 他发现这旧的 SCSI硬盘发生了许多小问题。之后, 他就跟 Bill 说起这件事。

又过了几天,Bill 决定是该解决问题的时候了, 所以他从后面房间的硬盘 "收藏" 中找出了一个一模一样的硬盘,并且经过表面测试后显示这块硬盘没有问题。 因此,Bill 将它的 ID 调成 4,然后安装到 Fred 的机器, 并且将资料从磁盘 0 复制到磁盘 4。现在新硬盘装好了, 而且看起来好像一切正常;所以,Bill 认为现在应该可以开始用它了。 Bill 于是到 SCSI BIOS 中设定 SCSI ID 4 为开机盘,用磁盘 4 重新开机后,一切跑得很顺利。

继续用了几天后,Bill 跟 Fred 决定要来玩点新的: 该将 FreeBSD 升级了。Bill 将 ID 0 的硬盘移除 (因为有问题) 并且又从收藏区中拿了一块一样的硬盘来。然后他用 Fred 神奇的网络 FTP 磁盘将新版的 FreeBSD 安装在这块硬盘上; 安装过程没什么问题发生。

Fred 用了这新版本几天后,觉得它很适合用在工程部门…​ 是时候将以前放在旧系统的工作资料复制过来了。 因此, Fred 将 ID4 的 SCSI 硬盘 (里面有放着旧系统中复制过来的最新资料) mount 起来,结果竟然发现在 ID4 的硬盘上, 他以前的所有资料都不见了!

资料跑到哪里去了呢?

当初 Bill 将 ID0 硬盘的资料复制到 ID4 的时候, ID4 即成为一个 "新的副本"。 而当他调 SCSI BIOS 设定 ID4 为开机盘,想让系统从 ID4 开机, 这其实只是他自己笨,因为大部分的系统可以直接调 BIOS 而改变开机顺序, 但是 FreeBSD 却会把开机顺序还原成正常的模式,因此,Fred 的 FreeBSD 还是从原来那块 ID0 的硬盘开机的。所有的资料都还在那块硬盘上, 而不是在想象之中的 ID4 硬盘。

幸运的是, 在我们发现这件事的时候那些资料都还在, 我们将这些资料从最早的那块 ID0 硬盘取出来并交还给 Fred, 而 Bill 也由此了解到计算机计数是从 0 开始的。

虽然我们这里的例子使用 SCSI 硬盘, 但是相同的概念也可以套用在 IDE 硬盘上。

2.6.2. 使用 FDisk 创建分区

如果不再做改变,数据将会写进硬盘。如果您犯了一个错误想重新开始, 请选择 sysinstall 安装程序的退出按钮(exit)。或按 U 键来 Undo 操作。 如果您的操作没有结果, 您总可以重新启动您的计算机来达到您的目的。

当您在 sysinstall 主菜单选择使用标准安装后,您会看到下面的信息:

                                 Message
 In the next menu, you will need to set up a DOS-style ("fdisk")
 partitioning scheme for your hard disk. If you simply wish to devote
 all disk space to FreeBSD (overwriting anything else that might be on
 the disk(s) selected) then use the (A)ll command to select the default
 partitioning scheme followed by a (Q)uit. If you wish to allocate only
 free space to FreeBSD, move to a partition marked "unused" and use the
 (C)reate command.
                                [  OK  ]

                      [ Press enter or space ]

如屏幕指示,按 Enter 键, 然后您就会看到一个列表列出所有在探测设备的时候找到的硬盘。 选择要分区的硬盘 范例显示的是有找到两个 IDE 硬盘的情形,这两个硬盘分别为 ad0ad2

fdisk drive1
图 13. 选择要分区的硬盘

您可能正在奇怪,为什么 ad1 没有列出来? 为什么遗失了呢?

试想,如果您有两个 IDE 硬盘,一个是在第一个 Primary master, 一个是 Secondary master,这样会发生什么事呢? 如果 FreeBSD 依照找到的顺序来为他们命名,如 ad0ad1 那么就不会有什么问题。

但是,现在问题来了。如果您现在想在 primary slave 加装第三个硬盘, 那么这个硬盘的名称就会是 ad1,之前的 ad1 就会变成 ad2。 这会造成什么问题呢?因为设备的名称 (如 ad1s1a)是用来寻找文件系统的, 因此您可能会发现,突然,您有些文件系统从此无法正确地显示出来, 必须修改 FreeBSD 配置文件(译注:/etc/fstab)才可以正确显示。

为了解决这些问题,在配置内核的时候可以叫 FreeBSD 直接用 IDE 设备所在的位置来命名,而不是依据找到的顺序。使用这种方式的话, 在 secondary master 的 IDE 设备就 永远是ad2,即使您的系统中没有 ad0ad1 也不受影响。

此为 FreeBSD 内核的默认值,这也是为什么上面的画面只显示 ad0ad2 的原因。 画面上这台机器的两颗硬盘是装在 primary 及 secondary 的 master 上面; 并没有任何一个硬盘安装在 slave 插槽上。

您应该选择您想安装 FreeBSD 的硬盘,然后按下 OK。之后 FDisk 就会开始,您会看到类似 典型的尚未编辑前的 Fdisk 分区表的画面。

FDisk 的显示画面分为三个部分。

第一部分是画面上最上面两行,显示的是目前所选择的硬盘的信息。 包含它的 FreeBSD 名称、硬盘分布以及硬盘的总容量。

第二部分显示的是目前选择的硬盘上有哪些分区, 每个分区的开始及结束位置、所占容量、FreeBSD 名称、 它们的描述以及类别(sub-type)。此范例显示有两个未使用的小分区, 还有一个大的 FAT 分区, (很可能是 MS-DOS® 或 Windows® 的 C: ), 以及一个扩展分区(在 MS-DOS® 或 Windows® 里面还可以包含逻辑分区)。

第三个部分显示 FDisk 中可用的命令。

fdisk edit1
图 14. 典型的尚未编辑前的 Fdisk 分区表

接下来要做的事跟您要怎么给您的硬盘分区有关。

如果您要让 FreeBSD 使用整个硬盘(稍后您确认要 sysinstall 继续安装后会删除所有这个硬盘上的资料),那么您就可以按 A 键(Use Entire Disk ) 目前已有的分区都会被删除,取而代之的是一个小的,标示为 unused 的分区,以及一个大的 FreeBSD 分区。之后, 请用方向键将光标移到这个 FreeBSD 分区,然后按 S 以将此分区标记为启动分区。 您会看到类似 Fdisk 分区使用整个硬盘 的画面。注意,在 Flags 栏中的 A 记号表示此分区是 激活 的, 因而启动将从此分区进行。

要删除现有的分区以便为 FreeBSD 腾出空间, 您可以将光标移动到要删除的分区后按 D 键。 然后就可按 C 键, 并在弹出的对话框中输入将要创建的分区的大小。 输入合适的大小后按 Enter 键。 一般而言, 这个对话框中的初始值是可以分配给该分区的最大值。 它可能是最大的邻接分区或未分配的整个硬盘大小。

如果您已经建立好给 FreeBSD 的分区 (使用像 PartitionMagic®类似的工具), 那么您可以按下 C 键来建立一个新的分区。同样的, 会有对话框询问您要建立的分区的大小。

fdisk edit2
图 15. Fdisk 分区使用整个硬盘

完成后,按 Q 键。您的变更会存在 sysinstall 中, 但是还不会真正写入您的硬盘。

2.6.3. 安装多重引导

在这步骤您可以选择要不要安装一个多重引导管理器。 一般而言,如果碰到下列的情形, 您应该选择要安装多重引导管理程序。

  • 您有一个以上的硬盘,并且 FreeBSD 并不是安装在第一个硬盘上。

  • 除了 FreeBSD,您还有其它的操作系统安装在同一块硬盘上, 所以您需要在开机的时候选择要进入哪一个系统。

如果您在这台机器上只安装一个 FreeBSD 操作系统, 并且安装在第一个硬盘, 那么选择 Standard 安装就可以了。如果您已经使用了一个第三方的多重引导程序, 那么请选择 None

选择好配置后请按 Enter

boot mgr
图 16. Sysinstall 多重引导管理程序

按下 F1 键所显示的在线说明中有讨论一些操作系统共存可能发生的问题。

2.6.4. 在其它硬盘上创建分区

如果您的系统上有一个以上的硬盘, 在选择完多重引导管理程序后会再回到选择硬盘的画面。 如果您要将 FreeBSD 安装在多个硬盘上,那么您可以在这里选择其它的硬盘, 然后重复使用 FDisk 来建立分区。

如果您想让 FreeBSD 来管理其它的硬盘, 那么两个硬盘都必须安装 FreeBSD 的多重引导管理程序。

fdisk drive2
图 17. 离开选择硬盘画面

Tab 键可以在您最后选择的硬盘、 OK 以及 Cancel 之间进行切换。

Tab 键将光标移动到 OK 然后按 Enter 键继续安装过程。

2.6.5. 使用 bsdlabel 创建分区

您现在必须在刚刚建立好的 slice 中规划一些 label。 请注意,每个 label 的代号是 ah,另外,习惯上 bcd 是有特殊用途的,不应该随意变动。

某些应用程序可以利用一些特殊的分区而达到较好的效果, 尤其是分区分散在不同的硬盘的时候。但是,现在您是第一次安装FreeBSD, 所以不需要去烦恼如何分割您的硬盘。最重要的是, 装好FreeBSD然后学习如何使用它。当您对FreeBSD有相当程度的熟悉后, 您可以随时重新安装FreeBSD,然后改变您分区的方式。

下面的范例中有四个分区 - 一个是磁盘交换分区,另外三个是文件系统。

表 2. 为第一个硬盘分区
分区文件系统大小描述

a

/

1 GB

这是一个根文件系统(root filesystem)。 任何其它的文件系统都会 挂在根目录(译注:用根目录比较亲切) 下面。 1 GB 对于此目录来说是合理的大小, 因为您往后并不会在这里存放太多的数据; 在安装 FreeBSD 后会用掉约 128 MB 的根目录空间。 剩下的空间是用来存放临时文件用的,同时, 您也应该预留一些空间,因为以后的FreeBSD版本可能会需要较多的 /(根目录)空间。

b

N/A

2-3 x RAM

b 分区为系统磁盘交换分区 (swap space)。选择正确的交换空间大小可是一门学问唷。 一般来说,交换空间的大小应该是您系统上内存(RAM) 大小的2到3倍。 交换空间至少要有 64 MB。因此, 如果您的电脑上的 RAM 比 32 MB 小, 请将交换空间大小设为 64 MB。

如果您有一个以上的硬盘, 您可以在每个硬盘上都配置交换分区。FreeBSD 会利用每个硬盘上的交换空间,这样做能够提高 swap 的性能。 如果是这种情形, 先算出您总共需要的交换空间大小 (如128 MB),然后除以您拥有的硬盘数目(如2块), 算出的结果就是每个硬盘上要配置的交换空间的大小。 在这个例子中, 每个硬盘的交换空间为 64 MB。

e

/var

512 MB 至 4096 MB

/var 目录会存放不同长度的文件、 日志以及其它管理用途的文件。大部分这些文件都是 FreeBSD 每天在运行的时候会读取或是写入的。 当这些文件放在另外的文件系统(译注:即/var) 可以避免影响到其它目录下面类似的文件存取机制。

f

/usr

剩下的硬盘空间 (至少 8 GB)

您所有的其它的文件通常都会存在/usr 目录以及其子目录下面。

上面例子中的数值仅限于有经验的用户使用。 通常我们鼓励用户使用 FreeBSD 分区编辑器中一个叫做 Auto Defaults的自动分区布局功能。

如果您要将FreeBSD安装在一个以上的硬盘, 那么您必须在您配置的其它分区上再建立分区。 最简单的方式就是在每个硬盘上建立两个分区,一个是交换分区, 一个是文件系统分区。

表 3. 为其它磁盘分区
分区文件系统大小描述

b

N/A

见描述

之前提过,交换分区是可以跨硬盘的。但是,即使 a 分区没有使用,习惯上还是会把交换分区放在 b 分区上。

e

/disk_n_

剩下的硬盘空间

剩下的空间是一个大的分区,最简单的做法是将之规划为 a分区而不是e分区。然而, 习惯上a分区是保留给根目录 (/) 用的。您不一定要遵守这个习惯,但是 sysinstall 会, 所以照着它做会使您的安装比较清爽、干净。 您可以将这些文件系统挂在任何地方,本范例建议将它们挂在 /diskn 目录,n 依据每个硬盘而有所不同, 但是,您喜欢的话也可将它们挂在别的地方。

分区的配置完成后,您可以用sysinstall. 来建立它们了。您会看到下面的信息:

                                 Message
 Now, you need to create BSD partitions inside of the fdisk
 partition(s) just created. If you have a reasonable amount of disk
 space (1GB or more) and don't have any special requirements, simply
 use the (A)uto command to allocate space automatically. If you have
 more specific needs or just don't care for the layout chosen by
 (A)uto, press F1 for more information on manual layout.

                                [  OK  ]
                          [ Press enter or space ]

按下 Enter 键开始FreeBSD分区表编辑器,称做 Disklabel。

Sysinstall Disklabel 编辑器 显示您第一次执行 Disklabel的画面。 画面分为三个区域。

前几行显示的是您正在编辑的硬盘以及您正在建立的 slice 位于哪个分区上。(在这里,Disklabel 使用的是 分区名称 而不是 slice 名)。 此画面也会显示 slice 还有多少空间可以使用;亦即,有多余的空间, 但是尚未指派分区。

画面中间区域显示已建立的区区,每个分区的文件系统名称、 所占的大小以及一些关于建立这些文件系统的参数选项。

下方的第三区显示在 Disklabel 中可用的按键。

disklabel ed1
图 18. Sysinstall Disklabel 编辑器

Disklabel 您可以自动配置分区以及给它们预设的大小。 这些默认的分区是由内部的分区尺寸算法根据磁盘的大小计算出的。 您可以按 A键使用此功能。您会看到类似 Sysinstall Disklabel 编辑器-使用自动配置的画面。根据您硬盘的大小, 自动分配所配置的大小不一定合适。但是没有关系, 您并不一定要使用预设的大小。

默认情况下会给/tmp 目录一个独立分区,而不是附属在 / 之下。 这样可以避免将一些临时文件放到根目录中(译注: 可能会用完根目录空间)。

disklabel auto
图 19. Sysinstall Disklabel 编辑器-使用自动配置

如果您不想使用默认的分区布局, 则需要用方向键移动光标并选中第一个分区, 然后按 D 来删除它。 重复这一过程直到删除了所有推荐的分区。

要建立第一个分区 (a,作为 / - 根文件系统), 请确认您已经在屏幕顶部选中了正确的 slice, 然后按 C。 接下来将出现一个对话框, 要求您输入新分区的尺寸 (如 根目录使用空间 所示)。 您可以输入以块为单位的尺寸,或以 M 表示MB、 G 结尾表示GB, 或者 C 表示柱面数的方式来表达尺寸。

disklabel root1
图 20. 根目录使用空间

如果使用此处显示的默认尺寸, 则会创建一个占满整个 slice 空余空间的 partition。如果希望使用前面例子中描述的 partition 尺寸, 则应按 Backspace 键删除这些数字, 并输入 512M, 如 编辑要分区大小 所示。 然后, 按下 OK

disklabel root2
图 21. 编辑要分区大小

输入完大小后接着问您要建立的分区是文件系统还是交换空间,如 选择根分区类型所示。第一个分区是文件系统, 所以确认选择 FS后按Enter 键。

disklabel fs
图 22. 选择根分区类型

最后,因为您要建立的是一个文件系统,所以必须告诉 Disklabel 这个文件系统要挂接在什么地方,如 选择根挂接点所示。根文件系统的挂接点 /, 所以请输入 /,然后按 Enter键。

disklabel root3
图 23. 选择根挂接点

刚刚制作好的分区会显示在画面上。 您应该重复上述的动作以建立其它的分区。当建立交换空间的时候, 系统不会问您要将它挂接在哪里,因为交换空间是不用挂在系统上的。 当您在建立最后一个分区/usr的时候, 您可以直接使用默认的大小,即所有此分区剩余的空间。

您最终的 FreeBSD DiskLabel 编辑器画面会类似 Sysinstall Disklabel 编辑器, 实际数字按您的选择而有所不同。 按下 Q 键完成分区的建立。

disklabel ed2
图 24. Sysinstall Disklabel 编辑器

2.7. 选择要安装的软件包

2.7.1. 选择要安装的软件包

安装哪些软件包在很大程度上取决于系统将被用来做什么, 以及有多少可用的磁盘空间。内建的选项包括了运行所需要的最小系统, 到把所有软件包全都装上的常用配置。UNIX® 或 FreeBSD 新手通常直接选择一个设定好的软件包就可以了, 而有经验的使用者则可以考虑自己订制安装哪些软件包。

按下 F1 可以看到有关软件包的更多选项信息, 以及它们都包含了哪些软件,之后,可以按 Enter 回到软件包选择画面。

如果需要图形用户界面, 则配置 X 服务以及选择默认桌面需要在完成 FreeBSD 之后完成。 关于安装和配置 X 服务的信息, 可以在 X Window 系统 找到。

如果需要定制内核, 您还需要选择包含源代码的那个选项。 要了解为什么应该编译和构建新的内核, 请参见 配置FreeBSD的内核

显然, 包含所有组件的系统是最万能的。 如果磁盘空间足够, 用光标键选择 选择软件包 中的 All 并按 Enter。 如果担心磁盘空间不够的话, 则选择最合适的选项。 不要担心选择的是否是最合适的, 因为其他软件包可以在安装完毕后再加入进来。

dist set
图 25. 选择软件包

2.7.2. 安装ports软件包

当选择完您想要安装的部分后,接着会询问您要不要安装FreeBSD Ports 软件包;Ports软件包可以让您简单方便地安装软件包。Ports本身并不包含编辑 软件所需要的程序源代码,而是一个包含自动下载、编辑以及安装的文档集合。 安装应用程序: Packages 和 Ports 一章讨论如何使用Ports.

安装程序并不会检查您是否有足够的硬盘空间, 在选择这一项之前请先确定您有足够的硬盘空间。 目前 FreeBSD 12.0 版本中, FreeBSD Ports Collection 大约占用 3 GB 大小的硬盘空间。 对于近期的版本您可能需要更多一些空间来安装他们。

                         User Confirmation Requested
 Would you like to install the FreeBSD Ports Collection?

 This will give you ready access to over 24,000 ported software packages,
 at a cost of around 500 MB of disk space when "clean" and possibly much
 more than that if a lot of the distribution tarballs are loaded
 (unless you have the extra CDs from a FreeBSD CD/DVD distribution
 available and can mount it on /cdrom, in which case this is far less
 of a problem).

 The Ports Collection is a very valuable resource and well worth having
 on your /usr partition, so it is advisable to say Yes to this option.

 For more information on the Ports Collection & the latest ports,
 visit:
     http://www.FreeBSD.org/ports

                              [ Yes ]     No

选择 yes 将会安装 Ports Collection, 而选择 no 则将跳过它。 选好后按 Enter 继续。 此后, 选择安装的软件包的屏幕将再次出现。

dist set2
图 26. 确认您要安装的软件包

如果对您的选择感到满意,请选择Exit 退出,确保OK 被高亮显示,然后按Enter 继续。

2.8. 选择您要使用的安装介质

如果要从 CDROM 或 DVD安装,使用方向键将光标移到 Install from a FreeBSD CD/DVD。确认 OK 被选取,然后按 Enter 开始安装程序。

如果要使用其它的方式安装, 请选择适当的安装介质然后按照屏幕指示进行安装。

F1 可以显示安装介质的在线说明。按一下 Enter 可返回选择安装介质画面。

media
图 27. 选择安装介质
FTP安装模式

使用FTP安装,有三种方式:主动式(active)FTP、被动式(passive)FTP 或是透过HTTP代理服务器。

主动式FTP: 从FTP服务器安装

这个选项将会使所有的FTP传输使用 "Active"模式。 这将无法通过防火墙,但是可以使用在那些比较早期, 不支持被动模式的FTP站。如果您的连接在使用被动(默认值) 模式卡住了,请换主动模式看看!

被动模式FTP:通过防火墙从FTP服务器安装

此选项会让 sysinstall 使用 "Passive"模式来安装。这使得使用者可以穿过 不允许用非固定TCP PORTS连入的防火墙。

FTP 透过 HTTP 代理服务器: 透过HTTP代理服务器, 由 FTP 服务器安装

此选项会让 sysinstall 通过HTTP协议 (像浏览器一样)连到proxy服务器。 proxy服务器会解释送出的请求,然后通知FTP服务器。 因为通过HTTP协议,所以可以穿过防火墙。 要用这种方式,您必须指定proxy服务器的地址。

对于一个 FTP 代理服务器而言, 通常在使用者登入名称中加入您要登入的服务器的用户名, 加在 "@" 符号后面。然后代理服务器就会 "假装" 成一个真的服务器。例如,假设您要从 ftp.FreeBSD.org 安装,通过 FTP 代理服务器 foo.example.com, 使用1234端口。

在这种情况下,您可以到 options 菜单,将 FTP username 设为 ftp@ftp.FreeBSD.org,密码设为您的电子邮件地址。 安装介质部分,指定FTP (或是被动式 FTP,如果代理服务器支持的话) 以及URL为 ftp://foo.example.com:1234/pub/FreeBSD

因为ftp.FreeBSD.org/pub/FreeBSD 目录会被抓取到 foo.example.com之下,您就可以从 这台 机器 (会从 ftp.FreeBSD.org 抓取文件) 安装。

2.9. 安装确认

到此为止,可以开始进行安装了, 这也是您避免更动到您的硬盘的最后机会。

                       User Confirmation Requested
 Last Chance! Are you SURE you want to continue the installation?

 If you're running this on a disk with data you wish to save then WE
 STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding!

 We can take no responsibility for lost disk contents!

                             [ Yes ]    No

选择 yes 然后按下 Enter 确认安装

安装所需的时间会根据您所选择的软件、 安装介质以及您电脑的速度而有所不同。 在安装的过程中会有一些信息来显示目前的进度。

当您看到下面的信息表示已经安装完成了:

                               Message

Congratulations! You now have FreeBSD installed on your system.

We will now move on to the final configuration questions.
For any option you do not wish to configure, simply select No.

If you wish to re-enter this utility after the system is up, you may
do so by typing: /usr/sbin/sysinstall.

                                 [ OK ]

                      [  Press enter or space  ]

按下 Enter 以进行安装后的配置。

选择 no 然后按 Enter 会取消安装,不会对您的系统造成更动。您会看到下面的信息:

                                Message
Installation complete with some errors.  You may wish to scroll
through the debugging messages on VTY1 with the scroll-lock feature.
You can also choose "No" at the next prompt and go back into the
installation menus to retry whichever operations have failed.

                                 [ OK ]

产生这个信息是因为什么东西也没有安装,按下 Enter 后会离开安装程序回到主安装界面。从主安装界面可以退出安装程序。

2.10. 安装后的配置

安装成功后, 就可以进行进一步的配置了。 引导新安装的 FreeBSD 系统之后, 使用 sysinstall 并选择 Configure

2.10.1. 配置网卡

如果您之前配置用 PPP 通过 FTP 安装,那么这个画面将不会出现; 正像所说的那样,您可以稍后再做配置。

如果想更多的了解网卡或将FreeBSD配置为网关或路由器,请参考 Advanced Networking 的相关文章。

                      User Confirmation Requested
   Would you like to configure any Ethernet or PPP network devices?

                             [ Yes ]   No

如果要配置网卡,请选择 yes 然后按 Enter。 否则请选择 no 继续。

ed0 conf
图 28. 选择网卡设备

用方向键选择您要配置的网卡接口,然后按Enter

                      User Confirmation Requested
       Do you want to try IPv6 configuration of the interface?

                              Yes   [ No ]

目录私人区域网络IP协议IPv4已经足够,所以选择 no 然后按 Enter

如果想试试新的IP通信协议 IPv6 , 使用 RA 服务,请选择 yes 然后按 Enter。 寻找 RA 服务器将会花费几秒的时间。

                             User Confirmation Requested
        Do you want to try DHCP configuration of the interface?

                              Yes   [ No ]

如果您不需要 DHCP (Dynamic Host Configuration Protocol 动态主机配置协议) ,选择 no 然后按Enter

选择 yes 会执行dhclient, 如果成功,它会自动将网络配置信息填上。更多的信息请参考 网络自动配置 (DHCP)

下面的网络配置显示了怎样把以太网设备配置成区域网络网关的角色。

ed0 conf2
图 29. 配置 ed0接口

使用Tab 键可以在各个栏目之间进行切换,请输入适当 的信息:

Host(机器名称)

完整的机器名称,例如本例中的 k6-2.example.com

Domain(域名)

您机器所在的域名称,如本例的 example.com

IPv4 Gateway(IPv4网关)

输入将数据包传送到远端网络的机器IP地址。 只有当机器是网络上的一个节点时才要输入。 如果这台机器要作为您局域网的网关, 请将此处设为空白。IPv4网关, 也被称作默认网关或默认路由器。

域名服务器

本地网络中的域名服务器的IP地址。 本例中假设机器所在的网络中没有域名服务器, 所以填入的是ISP提供的域名服务器地址 (208.163.10.2。)

IPv4 地址

本机所使用的IP地址。本例为 192.168.0.1

子网掩码

在这个局域网中所使用的地址块是 192.168.0.0 - 192.168.0.255, 对应的子网掩码是 255.255.255.0

ifconfig 额外参数设定

任何ifconfig命令跟网卡接口有关的参数。 本范例中没有。

使用 Tab 键选择 OK然后按 Enter键。

                      User Confirmation Requested
        Would you like to bring the ed0 interface up right now?

                             [ Yes ]   No

选择 yes 然后按 Enter 将会将机器的网卡转为启用状态。 机器下次启动的时候即可使用。

2.10.2. 配置网关

                       User Confirmation Requested
       Do you want this machine to function as a network gateway?

                              [ Yes ]    No

如果这台机器要作为本地网络和其它机器之间传送数据包的网关,请选择 yes 然后按 Enter。 如果这台机器只是网络上的普通节点,请选择 no 并按 Enter 继续。

2.10.3. 配置网络服务

                      User Confirmation Requested
Do you want to configure inetd and the network services that it provides?

                               Yes   [ No ]

如果选择 no, 许多网络服务,如 telnetd 将不会启用。 这样, 远端用户将无法 telnet 进入这台机器。 本机上的用户还是可以 telnet到远端机器的。

这些服务可以在安装完成后修改/etc/inetd.conf 配置文件来启用它们。请参阅 总览 以获得更多的信息。

如果您想现在就配置这些网络服务,请选择 yes, 然后会看到下面的信息:

                      User Confirmation Requested
The Internet Super Server (inetd) allows a number of simple Internet
services to be enabled, including finger, ftp and telnetd.  Enabling
these services may increase risk of security problems by increasing
the exposure of your system.

With this in mind, do you wish to enable inetd?

                             [ Yes ]   No

选择 yes 继续。

                      User Confirmation Requested
inetd(8) relies on its configuration file, /etc/inetd.conf, to determine
which of its Internet services will be available.  The default FreeBSD
inetd.conf(5) leaves all services disabled by default, so they must be
specifically enabled in the configuration file before they will
function, even once inetd(8) is enabled.  Note that services for
IPv6 must be separately enabled from IPv4 services.

Select [Yes] now to invoke an editor on /etc/inetd.conf, or [No] to
use the current settings.

                             [ Yes ]   No

选择 yes 将允许您添加网络服务 (或将相应网络服务每行开头的 # 除掉即可。)

edit inetd conf
图 30. 编辑 inetd.conf配置文件

在加入您想启用的服务后,按下 Esc键会出现一个 对话框可以让您离开以及保存修改。

2.10.4. 启用 SSH 登录

                      User Confirmation Requested
                  Would you like to enable SSH login?
                           Yes        [  No  ]

选择 yes 便会启用 sshd(8), 也就是 OpenSSH 服务程序。 它能够让您以安全的方式从远程访问机器。 如欲了解关于 OpenSSH 的进一步详情, 请参见 OpenSSH

2.10.5. 匿名 FTP

                      User Confirmation Requested
 Do you want to have anonymous FTP access to this machine?

                              Yes    [ No ]

2.10.5.1. 不允许匿名 FTP访问

选择默认的 no 并按下 Enter 键将仍然可以让在这台机器上有账号的用户访问 FTP。

2.10.5.2. 允许匿名 FTP访问

如果您选择允许匿名 FTP 存取, 那么网络中任何人都可以使用FTP来访问您的机器。 在启用匿名访问之前应该考虑网络的安全问题。 如果要知道更多有关网络安全的信息, 请参阅 安全

要启用FTP匿名访问,用方向键选择 yes 并按 Enter键。 系统会给出进一步的确认信息:

                       User Confirmation Requested
 Anonymous FTP permits un-authenticated users to connect to the system
 FTP server, if FTP service is enabled.  Anonymous users are
 restricted to a specific subset of the file system, and the default
 configuration provides a drop-box incoming directory to which uploads
 are permitted.  You must separately enable both inetd(8), and enable
 ftpd(8) in inetd.conf(5) for FTP services to be available.  If you
 did not do so earlier, you will have the opportunity to enable inetd(8)
 again later.

 If you want the server to be read-only you should leave the upload
 directory option empty and add the -r command-line option to ftpd(8)
 in inetd.conf(5)

 Do you wish to continue configuring anonymous FTP?

                          [ Yes ]         No

这些信息会告诉您 FTP 服务还需要在 /etc/inetd.conf 中启用。 假如您希望允许匿名 FTP 连接, 请参见 配置网络服务。 选择 yes 并按 Enter 继续; 系统将给出下列信息:

ftp anon1
图 31. 默认的匿名 FTP 配置

使用 Tab 在不同的信息字段之间切换, 并填写必要的信息:

UID

用于分配给匿名 FTP 用户的用户 ID。 所有上传的文件的属主都将是这个 ID。

Group

匿名 FTP 用户所在的组。

Comment

用于在 /etc/passwd 中描述该用户的说明性信息。

FTP Root Directory

可供匿名 FTP 用户使用的文件所在的根目录。

Upload Subdirectory

匿名 FTP 用户上传的文件的存放位置。

默认的 FTP 根目录将放在 /var 目录下。 如果您的 /var 目录空间不足以应付您的FTP需求, 您可以将FTP的根目录改为 /usr 目录下的 /usr/ftp 目录。

当您对一切配置都满意后,请按 Enter 键继续。

                          User Confirmation Requested
         Create a welcome message file for anonymous FTP users?

                              [ Yes ]    No

如果您选择 yes 并按下 Enter键, 系统会自动打开文本编辑器让您编辑FTP的欢迎信息。

ftp anon2
图 32. 编辑FTP欢迎信息

此文本编辑器叫做 ee。 按照指示修改信息文本或是稍后再用您喜爱的文本编辑器来修改。 请记住画面下方显示的文件位置。

Esc 将弹出一个默认为 a) leave editor的对话框。按 Enter 退出并继续。再次按 Enter 将保存修改。

2.10.6. 配置网络文件系统

网络文件系统 (NFS) 可以让您可以在网络上共享您的文件。 一台机器可以配置成NFS服务器、客户端或两者并存。请参考 网络文件系统(NFS) 以获得更多的信息。

2.10.6.1. NFS 服务器

                       User Confirmation Requested
 Do you want to configure this machine as an NFS server?

                              Yes    [ No ]

如果您不想安装网络文件系统,请选择 no 然后按 Enter键。

如果您选择 yes 将会出现一个对话框提醒您必须先建立一个 exports 文件。

                               Message
Operating as an NFS server means that you must first configure an
/etc/exports file to indicate which hosts are allowed certain kinds of
access to your local filesystems.
Press [Enter] now to invoke an editor on /etc/exports
                               [ OK ]

Enter 键继续。系统会启动文本编辑器让您编辑 exports 文件。

nfs server edit
图 33. 编辑 exports文件

按照指示加入真实输出的文件目录或是稍后用您喜爱的编辑器自行编辑。 请记下画面下方显示的文件名称及位置。

按下 Esc 键会出现一具对话框,默认选项是 a) leave editor。按下 Enter 离开并继续。

2.10.6.2. NFS 客户端

NFS 客户端允许您的机器访问NFS服务器。

                       User Confirmation Requested
 Do you want to configure this machine as an NFS client?

                              Yes   [ No ]

按照您的需要,选择 yesno 然后按 Enter

2.10.7. 配置系统终端

系统提供了几个选项可以让您配置终端的表现方式。

                      User Confirmation Requested
       Would you like to customize your system console settings?

                              [ Yes ]  No

要查阅及配置这些选项,请选择 yes 并按Enter

console saver1
图 34. 系统终端配置选项

最常用的选项就是屏幕保护程序了。使用方向键将光标移动到 Saver 然后按 Enter

console saver2
图 35. 屏幕保护程序选项

选择您想使用的屏幕保护程序,然后按 Enter。 之后回到系统终端配置画面。

默认开启屏幕保护程序的时间是300秒。如果要更改此时间,请再次选择 Saver 。然后选择 Timeout 并按 Enter键。系统会弹出一个对话框如下:

console saver3
图 36. 屏幕保护时间设置

您可以直接改变这个值,然后选 OK并按 Enter 键回到系统终端配置画面。

console saver4
图 37. 退出系统终端配置

选择 Exit 然后按下 Enter 键会回到安装后的配置画面。

2.10.8. 配置时区

配置您机器的时区可以让系统自动校正任何区域时间的变更, 并且在执行一些跟时区相关的程序时不会出错。

例子中假设此台机器位于美国东部的时区。 请参考您所在的地理位置来配置。

                      User Confirmation Requested
          Would you like to set this machine's time zone now?

                            [ Yes ]   No

选择 yes 并按下 Enter键以配置时区。

                       User Confirmation Requested
 Is this machine's CMOS clock set to UTC? If it is set to local time
 or you don't know, please choose NO here!

                              Yes   [ No ]

这里按照您机器时间的配置,选择 yesno 然后按 Enter

timezone1
图 38. 选择您所处的地理区域

请选择适当的区域然后按 Enter

timezone2
图 39. 选择您所在的国家

选择您所在的国家然后按 Enter

timezone3
图 40. 选择您所在的时区

选择您所在的时区然后按 Enter

                            Confirmation
            Does the abbreviation 'EDT' look reasonable?

                            [ Yes ]   No

检查一下时区的缩写是否正确,如果没错,请按 Enter 返回系统安装后的配置画面。

2.10.9. Linux 兼容性

这节内容只适用于 FreeBSD 7.X 安装过程, 如果您安装的是 FreeBSD 8.X 或更高版本, 系统不会给出这个提示。

                      User Confirmation Requested
          Would you like to enable Linux binary compatibility?

                            [ Yes ]   No

选择 yes 并按下Enter 键, 将允许您在FreeBSD中执行Linux的软件。安装程序会安装一些为了跟 Linux 兼容的软件包。

如果您是通过FTP安装,那么您必须连到网络上。 有时候FTP站并不会包含所有的安装软件包(例如Linux兼容软件包); 不过,稍后您还可以再安装这个项目。

2.10.10. 配置鼠标

此选项可以让您在终端上使用三键鼠标剪贴文字。 如果您用的鼠标是两个按钮,请参考手册 moused(8); 以取得有关模拟三键鼠标的信息。范例中使用的鼠标不是USB接口。 (例如ps/2或com接口的鼠标):

                      User Confirmation Requested
         Does this system have a PS/2, serial, or bus mouse?

                            [ Yes ]    No

如果您使用的是 PS/2、 串口或 Bus 鼠标,请选择 yes, 如果是 USB 鼠标, 则应选择 no 并按 Enter

mouse1
图 41. 选择鼠标类型

使用方向键选择 Type 然后按 Enter

mouse2
图 42. 设置鼠标协议

在这个例子中使用的类型是ps/2鼠标,所以可以使用默认的 Auto(自动) 。 您可以用方向键选择合适的项目,确定选择了 OK 后按 Enter 键离开此画面。

mouse3
图 43. 配置鼠标端口

选择 Port 然后按 Enter

mouse4
图 44. 配置鼠标端口

假设这台机器用的是ps/2鼠标,您可以采用默认的 PS/2 选项。请选择适当的项目然后按 Enter

mouse5
图 45. 启动鼠标服务进程

选择Enable然后按 Enter 来启动和测试鼠标。

mouse6
图 46. 测试鼠标功能

鼠标指针可以在屏幕上移动,指明鼠标服务已经正常启用。那么请选择 yesEnter键。否则鼠标没 有配置成功 - 选择 no 并尝试不同的配置 选项。

选择 Exit 并按 Enter 退回到系统安装完成后的配置画面。

2.10.11. 安装预编译的软件包 (package)

Package 是事先编译好的二进制文件, 因此, 这是安装软件的一种便捷的方式。

在这里作为例子我们将给出安装一个 package 所需的过程。 如果需要, 还可以在这一阶段加入其他 package。 安装完成之后, sysinstall 依然可以用来安装其他 package。

                     User Confirmation Requested
 The FreeBSD package collection is a collection of hundreds of
 ready-to-run applications, from text editors to games to WEB servers
 and more. Would you like to browse the collection now?

                            [ Yes ]   No

选择 yes 并按 Enter 将进入 package 选择界面:

pkg cat
图 47. 选择 Package 类别

在任何时候, 只有当前安装介质上存在的 package 才可以安装。

如果选择了 All 或某个特定的分类, 则系统会列出全部可用的 package。 用光标键移动光棒选中需要的 package, 并按 Enter

系统会显示可供选择的 package:

pkg sel
图 48. 选择 Package

如图所示, 我们选择了 bash shell。 您可以根据需要使用 Space 键来勾选选定的 package。 在屏幕左下角会给出 package 的简短说明。

反复按下 Tab 键, 可以在最后选中的 package、 OKCancel 之间来回切换。

当您把需要的 package 都标记为安装之后, 按一下 Tab 切换到 OK, 随后按下 Enter 就可以回到 package 选择菜单了。

左右方向键可以用于在 OKCancel 之间进行切换。 这种方法也可以用来选择 OK, 随后按下 Enter 也可以回到 package 选择菜单。

pkg install
图 49. 安装预编译软件包

使用 Tab 和左右方向键选择 Install 并按 Enter。 接下来需要确认将要安装的预编译包:

pkg confirm
图 50. 确认将要安装的预编译包

选择 OK 并按下 Enter 就可以开始预编译包的安装了。在这个过程中您会看到安装的相关信息, 直到安装完成为止。请留意观察是否有错误信息出现。

在完成预编译包的安装之后, 就进入了最后的配置阶段。 如果您没有选择任何预编译包, 并希望直接进入最后的配置阶段, 则可以选择 Install 来跳过。

2.10.12. 添加用户和组

在安装系统的过程中, 您应添加至少一个用户, 以避免直接以 root 用户的身份登录。 用以保存其用户数据的根分区通常很小, 因此用 root 身份运行程序可能将其迅速填满。 下面的提示信息介绍了这样做可能带来的更大隐患:

                     User Confirmation Requested
 Would you like to add any initial user accounts to the system? Adding
 at least one account for yourself at this stage is suggested since
 working as the "root" user is dangerous (it is easy to do things which
 adversely affect the entire system).

                            [ Yes ]   No

选择 yes 并按 Enter 即可开始创建用户的过程。

adduser1
图 51. 选择用户

用箭头键来选择 User 然后按 Enter

adduser2
图 52. 添加用户信息

下面的描述信息会出现在屏幕的下方,可以使用 Tab 键来切换不同的项目,以便输入相关信息:

Login ID

新用户的登录名(强制性必须写)

UID

这个用户的ID编号(如果不写,系统自动添加)

Group

这个用户的登录组名(如果不写,系统自动添加)

Password

这个用户的密码(键入这个需要很仔细!)

Full name

用户的全名(解释、备注)

Member groups

这个用户所在的组

Home directory

用户的主目录(如果不写,系统自动添加)

Login shell

用户登录的shell(默认是/bin/sh)。

你可以将登录 shell 由 /bin/sh 改为 /usr/local/bin/bash, 以便使用事先以 package 形式安装的 bash shell。不要使用一个不存在的或您不能登录的shell。 最通用的shell是使用 BSD-world 的 C shell, 可以通过指定/bin/tcsh来修改。

用户也可以被添加到 wheel 组中成了一个超级用户,从而拥有 root 权限。

当您感觉满意时,键入 OK 键, 用户和组管理菜单将会重新出现。

adduser3
图 53. 退出用户和组管理

如果有其他的需要, 此时还可以添加其他的组。 此外, 还可以通过 sysinstall 在安装完成之后添加它们。

当您完成添加用户的时候,选择Exit 然后键入Enter 继续下面的安装。

2.10.13. 设置 root 密码

                        Message
 Now you must set the system manager's password.
 This is the password you'll use to log in as "root".

                         [ OK ]

               [ Press enter or space ]

键入 Enter 来设置 root 密码。

密码必须正确地输入两次。 毋庸讳言, 您需要选择一个不容易忘记的口令。 请注意您输入的口令不会回显, 也不会显示星号。

New password:
Retype new password :

密码成功键入后,安装将继续。

2.10.14. 退出安装

如果您需要设置 其他网络设备, 或需要完成其他的配置工作, 可以在此时或者事后通过 sysinstall 来进行配置。

                     User Confirmation Requested
 Visit the general configuration menu for a chance to set any last
 options?

                              Yes   [ No ]

选择 no 然后键入 Enter 返回到主安装菜单。

mainexit
图 54. 退出安装

选择 X Exit Install 然后键入 Enter。您可能需要确认是否真的退出安装:

                     User Confirmation Requested
 Are you sure you wish to exit? The system will reboot.

                            [ Yes ]   No

选择 yes。 如果您是从 CDROM 引导的系统, 则会出现下面的提示信息要求您取出光盘:

                    Message
 Be sure to remove the media from the drive.

                    [ OK ]
           [ Press enter or space ]

在系统开始重启之前, CDROM 驱动器是锁住的。 CDROM 解锁后就可以取出光盘了 (动作要快)。 按 OK 重启系统。

此后系统将重新启动, 因此请留意是否会出现一些错误信息。 进一步的细节, 请参见 FreeBSD 的启动过程

2.10.15. 配置其他网络服务

如果之前缺少这一领域的经验, 那么配置网络服务对于新手而言, 很可能会是一件很有挑战的事情。 网络, 包括 Internet, 对于包括 FreeBSD 在内的所有现代操作系统而言都至关重要。 因此, 首先对 FreeBSD 提供的丰富的网络性能加以了解会很有帮助。 在安装过程中了解这些知识, 能够确保用户更好地理解他们可以用到的各种服务。

网络服务是一些可以接收来自网络上任何地方的人所提交的输入信息的程序。 人们一直都在努力确保这些程序不会做任何 "有害的" 事情。 不幸的是, 程序员们并不是十全十美的完人,因此,网络服务程序中的漏洞, 便有可能被攻击者利用来做一些坏事。因而, 只启用那些您知道自己需要的服务就很重要了。如果存在疑问, 那么就最好不要在您发现需要它之前启动任何网络服务。 您可以事后通过再次运行 sysinstall 或直接手工配置 /etc/rc.conf 来随时启用这些服务。

选择 Networking 选项将下显示一个类似下面的菜单:

net config menu1
图 55. 网络配置之上层配置

第一个选项, Interfaces, 已经在前面的 配置网卡 中做过配置, 因此现在可以略过它。

选择 AMD 选项, 将添加对于 BSD 自动挂接程序的支持。 这个程序通常会和 NFS 协议 (详情参见下文) 配合使用,以便自动挂载远程文件系统。 启用它不需要在此时进行特殊的额外配置。

下一行是 AMD Flags 的参数选项。 选择它之后,会弹出一个让您选择 AMD 参数的子菜单。 菜单中包含一系列的选项:

-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map

-a 选项用来设置默认的挂接位置,这里使用的是 /.amd_mnt目录。-l 指定默认的 日志 文件; 但是,当使用 syslogd 时, 所有在日志中记录的活动, 都会发送到系统日志服务去。 /host 用来挂接远程主机上输出的文件系统,而 /net 目录则用来挂接从特定 IP 地址输出的文件系统。 /etc/amd.map 文件定义了用于 AMD 的默认输出选项。

Anon FTP 允许匿名 FTP 访问。 选中这个选项, 可以使这台机器成为一台匿名 FTP 服务器。 要注意启用这个选项的安全风险。 系统将使用另外的菜单来说明安全风险和进一步的配置。

Gateway 选项可以使将本机配置成为一台以前我们介绍过的网关。 如果您在安装过程中不小心选中了 Gateway, 也可以在这里用这个选项来取消。

Inetd 选项用来配置或完全禁用前面讨论过的 inetd(8) 服务程序。

Mail 用来配置系统默认的 MTA 或邮件传输代理。 选择这个选项将出现下面的菜单:

mta main
图 56. 选择默认的 MTA

这里给您提供了一个安装MTA 并将其配置为默认值的机会。MTA 是一种能够将邮件头递给本系统或互联网上的用户的邮件服务。

选择 Sendmail 将会安装十分流行的 sendmail 服务, 这也是 FreeBSD 的默认配置。Sendmail local 选项表示将 sendmail 设为默认的 MTA,但禁止其从 Internet 上接收邮件的能力。 此外还有一些其他选项,PostfixEximSendmail 的功能类似。 它们两者也可以投递邮件; 不过, 有些用户会喜欢使用它们代替 sendmailMTA。

选择 MTA 或决定不挑选 MTA 之后, 网络配置菜单的下一项将是 NFS client

NFS client 客户端可以使系统通过 NFS 与服务器进行通信。 NFS 服务器通过 NFS 协议可以使其它在网络上的机器来访问自己的文件系统。 如果这台机器要作为一台独立的服务器,这个选项可以保留不选。 如果启用它, 您在之后还需要进行更多的其他配置; 请参见 网络文件系统(NFS) 以了解关于配置客户机和服务器的进一步详情。

接下来的 NFS server 选项, 可以让您将本机系统配置为 NFS 服务器。 这会自动将启动 RPC 远程过程调用的信息写入配置文件。 RPC 是一种在多个主机和程序之间进行连接组织的机制。

下一项是 Ntpdate 选项, 它能够处理时间同步。 当选择它后, 会出现一个像下面所似的菜单:

ntp config
图 57. Ntpdate 配置

从这个菜单选择一个离您最近的服务器。 选择较近的服务器,有助于提高时间同步的精度, 因为较远的服务器的连接延迟可能会比较大。

下一个选项是 PCNFSD。 这个选项将安装第三方软件包 net/pcnfsd。 它可以用来为无法自行提供 NFS 认证服务的操作系统, 如微软的 MS-DOS® 提供服务。

滚屏到下一页看一下其它选项:

net config menu2
图 58. 网络配置之下层配置

rpcbind(8)rpc.statd(8)rpc.lockd(8) 这三个程序是用来提供远程过程调用 (RPC) 服务的。 rpcbind 程序管理 NFS 服务器和客户端的通信, 这是 NFS 正确工作的必要前提。rpc.statd 程序可以和其它主机上 rpc.statd 程序交互, 以提供状态监控。这些状态报告默认情况下会保存到 /var/db/statd.status 文件中。 最后的一项是 rpc.lockd 选项, 如果启用,则将提供文件上锁服务。通常将它和 rpc.statd 联用, 以监视哪些主机会请求对文件执行上锁操作, 以及这种操作的频繁程度。 尽管后两项功能对于调试非常有用, 但它们并不是 NFS 服务器和客户端正常运行所必需的。

下一个项目是Routed,这是一个路由程序。 routed(8) 程序管理网络路由表,发现多播路由, 并且支持在网络上与它物理相连的主机来复制它的路由表的请求。 它被广泛地应用在本地网络中并扮演着网关的角色。 当选择它后,一个子菜单会来询问您这个程序的默认位置。 默认的位置已经被定义过, 您可以选择 Enter 键, 也可以按下其它的键。 这时会出来另一个菜单来询问您传递给 routed程序的参数。 默认的是 -q 参数。

接下来是 Rwhod 选项, 选中它会启用 rwhod(8) 程序在系统初时化的时候。 rwhod程序通过网络周期性的广播系统 信息或以"客户"的身份来收集这些信息。 更多的信息可以查看 ruptime(1)rwho(1) 手册页。

倒数第二个选项是sshd(8) 程序。它可以通过使用 OpenSSH 来提供安全的shell服务, 我们推荐通过使用它来使用 telnet 和 FTP 服务。 sshd 服务通过使用加密技术来创建从一台机器到另一台机器的安全连接。

最后有一个 TCP 扩展选项。 这可以用来扩展在 RFC 1323 和 RFC 1644 里定义的 TCP 功能。当许多主机以高速连接本机时,可能会引起某些连接被丢弃。 我们不推荐使用这个选项, 但是当使用独立的主机时可以从它上面得到一些好处。

现在您已经配置完成了网络服务, 您可以滚动屏幕到顶部选择 X Exit 项, 退出进入下一个配置部分, 或简单地选择两次 X Exit 之后选择 X Exit Install 来退出 sysinstall。

2.10.16. FreeBSD 的启动过程

2.10.16.1. FreeBSD/i386 的启动过程

如果启动正常,您将看到在屏幕上有很多信息滚动, 最后您会看到登录命令行。您可以通过键入 Scroll-Lock和使用 PgUpPgDn来查看信息,再键入 Scroll-Lock 回到命令行。

记录信息可能不会显示(缓冲区的限制)。您可以通过键入 dmesg 来查看。

使用您在安装过程中设置的用户名/密码来登录。(例子中使用 rpratt)。除非必须的时候请不要用 root 用户登录。

典型的启动信息:(忽略版本信息)

Copyright (c) 1992-2002 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.

Timecounter "i8254"  frequency 1193182 Hz
CPU: AMD-K6(tm) 3D processor (300.68-MHz 586-class CPU)
  Origin = "AuthenticAMD"  Id = 0x580  Stepping = 0
  Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX>
  AMD Features=0x80000800<SYSCALL,3DNow!>
real memory  = 268435456 (262144K bytes)
config> di sn0
config> di lnc0
config> di le0
config> di ie0
config> di fe0
config> di cs0
config> di bt0
config> di aic0
config> di aha0
config> di adv0
config> q
avail memory = 256311296 (250304K bytes)
Preloaded elf kernel "kernel" at 0xc0491000.
Preloaded userconfig_script "/boot/kernel.conf" at 0xc049109c.
md0: Malloc disk
Using $PIR table, 4 entries at 0xc00fde60
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11
isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0: <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci0
usb0: <VIA 83C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
chip1: <VIA 82C586B ACPI interface> at device 7.3 on pci0
ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xe800-0xe81f irq 9 at
device 10.0 on pci0
ed0: address 52:54:05:de:73:1b, type NE2000 (16 bit)
isa0: too many dependant configs (8)
isa0: unexpected small tag 14
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <keyboard controller (i8042)> at port 0x60-0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/2 mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x1 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/15 bytes threshold
ppbus0: IEEE1284 device found /NIBBLE
Probing for PnP devices on ppbus0:
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master using UDMA33
ad2: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata1-master using UDMA33
acd0: CDROM <DELTA OTC-H101/ST3 F/W by OIPD> at ata0-slave using PIO4
Mounting root from ufs:/dev/ad0s1a
swapon: adding /dev/ad0s1b as swap device
Automatic boot in progress...
/dev/ad0s1a: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1a: clean, 48752 free (552 frags, 6025 blocks, 0.9% fragmentation)
/dev/ad0s1f: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1f: clean, 128997 free (21 frags, 16122 blocks, 0.0% fragmentation)
/dev/ad0s1g: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1g: clean, 3036299 free (43175 frags, 374073 blocks, 1.3% fragmentation)
/dev/ad0s1e: filesystem CLEAN; SKIPPING CHECKS
/dev/ad0s1e: clean, 128193 free (17 frags, 16022 blocks, 0.0% fragmentation)
Doing initial network setup: hostname.
ed0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
        inet6 fe80::5054::5ff::fede:731b%ed0 prefixlen 64 tentative scopeid 0x1
        ether 52:54:05:de:73:1b
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x8
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
Additional routing options: IP gateway=YES TCP keepalive=YES
routing daemons:.
additional daemons: syslogd.
Doing additional network setup:.
Starting final network daemons: creating ssh RSA host key
Generating public/private rsa1 key pair.
Your identification has been saved in /etc/ssh/ssh_host_key.
Your public key has been saved in /etc/ssh/ssh_host_key.pub.
The key fingerprint is:
cd:76:89:16:69:0e:d0:6e:f8:66:d0:07:26:3c:7e:2d root@k6-2.example.com
 creating ssh DSA host key
Generating public/private dsa key pair.
Your identification has been saved in /etc/ssh/ssh_host_dsa_key.
Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub.
The key fingerprint is:
f9:a1:a9:47:c4:ad:f9:8d:52:b8:b8:ff:8c:ad:2d:e6 root@k6-2.example.com.
setting ELF ldconfig path: /usr/lib /usr/lib/compat /usr/X11R6/lib
/usr/local/lib
a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout
starting standard daemons: inetd cron sshd usbd sendmail.
Initial rc.i386 initialization:.
rc.i386 configuring syscons: blank_time screensaver moused.
Additional ABI support: linux.
Local package initialization:.
Additional TCP options:.

FreeBSD/i386 (k6-2.example.com) (ttyv0)

login: rpratt
Password:

生成 RSA 和 DSA密钥在比较慢的机器上可能要花很长时间。这只是一个 新安装后的首次启动,以后的启动会变得更快一点。

如果已经完成 X 服务器的配置, 且指定了默认的桌面窗口管理器, 就可以在命令行键入 startx 来启动它了。

2.10.17. FreeBSD 关机

正确的关闭操作系统是很重要的。不要仅仅关闭电源。 首先,您需要成为一个超级用户,通过键入 su 命令来实现。然后输入 root 密码。这需要用户是 wheel 组的一名成员。然后, 以root键入 shutdown -h now命令。

The operating system has halted.
Please press any key to reboot.

当shutdown命令发出后,屏幕上出现 "Please press any key to reboot" 信息时,您就可以安全的关闭计算机了。如果按下任意一个键, 计算机将重新启动。

您也能够使用 Ctrl+Alt+Del 组合键来重新启动计算机,但是不推荐使用这个操作。

2.11. 常见问题

下面将介绍一些在安装过程中常见的问题,像如何报告发生的问题, 如何双重启动 FreeBSD 和 MS-DOS® 或 Windows®。

2.11.1. 当您遇到错误时,应该怎么做?

由于 PC 结构的限制, 硬件检测不可能 100% 地可靠, 但是有些问题是您可以自己解决的。

首先检查一下您使用的 FreeBSD 版本的 硬件兼容说明 文档看看您使用的是否是被支持的硬件。

如果您使用的硬件是系统支持的,但仍然遇到了死机或其他问题, 则需要联编 定制的内核。 这能够支持默认的 GENERIC 内核所不支持的设备。 在引导盘上的内核假定绝大多数的硬件,均为按出厂设置的方式配置了 IRQ、 IO 地址和 DMA 通道。 如果您的硬件重新进行了配置, 则可能需要编辑内核配置, 并重新编译内核, 以便告诉 FreeBSD 到哪里去查找设备。

除此之外,也可能遇到这种情况吗,即探测某种并不存在的设备时, 会干扰到其他设备的检测并使其失败。 这种情况吗下应禁止驱动程序检测可能导致冲突的设备。

有些安装问题可以借助更新硬件的程序来解决,特别是主板的 BIOS 。 大部分的主板制造商都会提供网站给用户下载新的 BIOS 以及提供如何更新的说明。

也有许多制造商强烈建议,除非必要否则不要轻易更新 BIOS 。因为更新的过程 可能 会发生问题,进而损害 BIOS 芯片。

2.11.2. 使用 MS-DOS® 和 Windows® 文件系统

目前, FreeBSD 尚不支持通过 Double Space™ 程序压缩的文件系统。 因此,如果希望 FreeBSD 访问数据, 则应首先解压缩这些文件系统。 这项工作,可以通过位于 Start> Programs > System Tools 菜单的 Compression Agent 来完成。

FreeBSD 可以支持基于 MS-DOS® 的文件系统 (有时被称为 FAT 文件系统)。 mount_msdosfs(8) 命令能够把这样的文件系统挂接到现有的目录结构中, 并允许访问 FAT 文件系统上的内容。 通常我们并不直接使用 mount_msdosfs(8) 程序,它一般会在 /etc/fstab 中的某一行被调用或者被 mount(8) 工具并配合适当的参数来调用。

/etc/fstab中一个典型的例子:

/dev/ad0sN  /dos  msdosfs rw  0	0

/dos 目录必须事先存在。 更多关于 /etc/fstab 的细节, 请参阅 fstab(5)

一个使用 mount(8) 挂载 MS-DOS® 文件系统的例子:

# mount -t msdosfs /dev/ad0s1 /mnt

在此例子中, MS-DOS® 文件系统位于主硬盘的第一个分区。 您的情况可能与引不同,查看命令 dmesgmount 的输出。 它们应该可以让您得到足够的分区信息。

FreeBSD 可能使用和其他操作系统不同计数方法来标记磁盘 slices, 特别需要指出的是, MS-DOS® 的扩展分区通常会比 MS-DOS® 主分区被标记为更高的数值。 可以使用 fdisk(8) 工具来帮助测定哪些 slices 属于 FreeBSD 哪些是属于其他的操作系统。

NTFS 分区也可以通过类似 mount_ntfs(8) 命令挂接在FreeBSD上。

2.11.3. 排除故障时的常见问题和解决方法

2.11.3.1. 我的系统在引导到探测硬件时发生了死机、 安装过程中行为异常, 或没有检测到软驱。

FreeBSD 在启动过程中广泛使用了 i386、 amd64 及 ia64 平台提供的 ACPI 服务来检测系统配置。 不幸的是, 在 ACPI 驱动和主板 BIOS 中存在一些 bug。 如果遇到这种情况, 可以在系统引导时禁用 ACPI, 其方法是在第三阶段引导加载器时使用 hint hint.acpi.0.disabled

 set hint.acpi.0.disabled="1"

这一设置会在系统重启之后失效,因此,如果需要的话,您应在 /boot/loader.conf 文件中增加 hint.acpi.0.disabled="1"。 关于引导加载器的进一步详情, 请参见 概述

2.11.3.2. 在硬盘安装 FreeBSD 之后的首次启动时, 内核加载并检测了硬件, 但给出下列消息并停止运行:

系统在处理引导盘非系统中的第一块盘时有一个由来已久的问题。 BIOS 采用的编号方式有时和 FreeBSD 不一致, 而设法将其变为一样则很难正确地实现。

因而, 在发生这种情况时,FreeBSD 可能会需要一些帮助才能找到磁盘。有两种常见的情况, 在这些情况下您都需要手工告诉 FreeBSD 根文件系统模块的位置。 这是通过告诉引导加载器 BIOS 磁盘编号、磁盘类型以及 FreeBSD 中的该种磁盘的编号来实现的。

第一种情况是有两块 IDE 硬盘, 分别配置为对应 IDE 总线上的主 (master) 设备, 并希望 FreeBSD 从第二块硬盘上启动。 BIOS 将两块硬盘识别为磁盘 0 和磁盘 1, 而 FreeBSD 则将其分别叫做 ad0ad2

FreeBSD 位于 BIOS 磁盘 1, 其类型是 ad 而 FreeBSD 磁盘编号则是 2, 因此, 您应输入:

 1:ad(2,a)kernel

注意, 如果您的主总线上有从设备, 则这一配置是不必要的 (因为这样配置是错的)。

第二种情况是从 SCSI 磁盘启动,但系统中安装了一个或多个 IDE 硬盘。这时,FreeBSD 磁盘编号会比 BIOS 磁盘编号小。如果您有两块 IDE 硬盘, 以及一块 SCSI 硬盘,则 SCSI 硬盘将会是 BIOS 磁盘 2, 类型为 da 而 FreeBSD 磁盘编号是 0, 因此, 您应输入:

 2:da(0,a)kernel

来告诉 FreeBSD 您希望从 BIOS 磁盘 2 引导, 而它是系统中的第一块 SCSI 硬盘。 假如只有一块 IDE 硬盘, 则应以 1: 代替。

一旦您确定了应选用的正确配置, 就可以用标准的文本编辑器把它写到 /boot.config 文件中了。 除非另行指定, FreeBSD 将使用这个文件的内容, 作为对 boot: 提示的默认回应。

2.11.3.3. 在硬盘安装 FreeBSD 之后的首次启动时, Boot Manager 只是给出了 F? 的菜单提示, 但并不继续引导过程。

在您安装 FreeBSD 进行到分区编辑器时所设置的磁盘尺寸信息不对。 请回到分区编辑器并指定正确的磁盘尺寸。 这种情况必须重新安装 FreeBSD。

如果您无法确定在您机器上的正确尺寸信息,可以用一个小技巧: 在磁盘开始的地方安装一个小的 DOS 分区, 并在其后安装 FreeBSD。 安装程序能够看到这个 DOS 分区, 并利用它推测磁盘的尺寸信息, 这通常会有所帮助。

下面的技巧不再推荐使用, 在这里仅供参考:

如果您正准备建立只运行 FreeBSD 的服务器或工作站, 而无需考虑 (之后) 与 DOS、 Linux 或其他操作系统的兼容性, 也可以使用整个硬盘 (分区编辑器中的 A), 选择 FreeBSD 独占整个硬盘每一个扇区的非标准选项。 这会扫除关于磁盘尺寸的一切烦恼, 但会限制您以后运行 FreeBSD 以外的其他操作系统的能力。

2.11.3.4. 系统找到了 ed(4) 网卡, 但总是报设备超时 (device timeout) 错误。

您的网卡可能使用了与 /boot/device.hints 文件中指定的 IRQ 不同的中断请求号。 ed(4) 驱动默认情况下并不支持 "软" 配置 (在 DOS 中使用 EZSETUP 配置的值), 但如果您在网卡的 hints 中指定 -1, 便会使用软配置。

您应使用网卡的跳线进行硬配置 (根据需要修改内核设置) 或通过 hint hint.ed.0.irq="-1" 将 IRQ 指定为 -1。 这会告诉内核使用软配置。

另一个可能是您的网卡使用 IRQ 9, 这会与 IRQ 2 共用同一中断请求线, 同时也是导致问题的一个常见原因 (特别是 VGA 卡使用 IRQ 2 的时候!)。 您应尽量避免使用 IRQ 2 或 9。

2.11.3.5. 当在 X11 终端中运行 sysinstall 的时候, 黄色的字体相对于浅灰色的背景变得难以阅读。 有没有什么能让这个应用程序提供高对比度的方法? colorcontrast

如果你已经安装了 X11 并且 sysinstall 在 xterm(1) 或者 rxvt(1) 中默认的颜色使得文字难以辩认, 可以在你的 ~.Xdefaults 中加入 XTerm*color7: #c0c0c0 获得深灰色的背景。

2.12. 高级安装指南

这节主要描述在一些特殊情况下如何安装FreeBSD。

2.12.1. 在一个没有显示器或键盘的系统上安装FreeBSD

这种类型的安装叫做 "headless install(无头安装)", 因您正要安装FreeBSD的机器不是没带显示器,就是没有显卡。 您可能会问那怎么安装? 可以使用一个串行控制台。 串行控制台基本上是使用另外一台机器来充当主显示设备和键盘。 要这样做,只要执行下面的步骤: 创建安装 USB 记忆棒,请看 准备引导介质一节说明; 此外, 也可下载 ISO 映像文件, 具体请参阅 创建一张安装光盘

要将安装介质改为使用串口控制台, 需要按下面这些步骤来操作 (如果使用 CDROM 则可跳过第一步):

  1. 令安装 USB 记忆棒引导并进入串口控制台

    如果使用刚刚制作的 USB 记忆棒引导系统, 则 FreeBSD 会进入正常的安装模式。 我们希望引导到串口控制台来完成安装。 为了做到这一点, 需要在 FreeBSD 中使用 mount(8) 挂载 USB 盘。

    # mount /dev/da0a /mnt

    您需要根据实际情况修改挂点的名称。

    现在挂好了记忆棒, 您需要对其进行配置令其进入串口控制台。 为此, 需要在 USB 记忆棒中的 loader.conf 文件中加入下面的这行配置:

    # echo 'console="comconsole"' >> /mnt/boot/loader.conf

    这样就完成了对 USB 记忆棒的配置, 您应使用 umount(8) 命令将其卸下:

    # umount /mnt

    现在就可以拔下 USB 记忆棒并进入这一过程的第三步了。

  2. 令安装 CD 引导并进入串口控制台

    如果您直接使用 ISO 映像 (see 创建一张安装光盘) 制作的 CD 引导, 则 FreeBSD 会引导进入正常的安装模式。 我们希望引导到串口控制台来完成安装。 为了做到这一点, 您需要展开、 修改并重新生成 ISO 文件, 然后再刻录光盘。

    在保存例如 FreeBSD-8.1-RELEASE-i386-disc1.iso ISO 的 FreeBSD 系统上用 tar(1) 工具提取全部文件:

    # mkdir /path/to/headless-iso
    # tar -C /path/to/headless-iso -pxvf FreeBSD-8.1-RELEASE-i386-disc1.iso

    接下来需要对其进行配置令其进入串口控制台。 为此, 需要在从 ISO 映像中提取的 loader.conf 文件中加入下面的这行配置:

    # echo 'console="comconsole"' >> /path/to/headless-iso/boot/loader.conf

    最后, 从修改好的目录树中创建新的 ISO 映像。 这里我们使用通过 sysutils/cdrtools port 安装的 mkisofs(8) 工具来完成:

    # mkisofs -v -b boot/cdboot -no-emul-boot -r -J -V "Headless_install" \
    	    -o Headless-FreeBSD-8.1-RELEASE-i386-disc1.iso /path/to/headless-iso

    这样就完成了对 ISO 映像的配置, 您可以使用您熟悉的工具将其刻录到 CD-R 上了。

  3. 连接 Null-modem 线

    现在需要一根 null-modem 线 来连接两台机器。 只要连接两台机器的串口。 这里不能使用普通的串口线, 而必须使用 null-modem 线, 因为它需要一些内部交叉的连线。

  4. 开始启动安装

    现在可以开始安装了。 将 USB 记忆棒插到您准备进行 headless 安装的机器上, 然后开机。 如果您使用的是 CDROM, 则在开机之后立即将光盘放进光驱。

  5. 连接您的无头机器

    现在您已经通过cu(1)连接到了那台机器。

    # cu -l /dev/cuau0

    在 FreeBSD 7.X 上应使用下面的命令:

    # cu -l /dev/cuad0

这样就可以了! 您现在可以通过 cu 会话来控制那台 headless 的机器了。 接着系统会提示选择终端类型。 选择 FreeBSD 彩色控制台并继续安装!

2.13. 准备您自己的安装介质

为了避免重复 "FreeBSD disc" 在这里指 FreeBSD CDROM or DVD 那即意味着您要购买或自己制做。

有好几个原因需要您创建自己的FreeBSD安装介质。 这可能是物理介质,如磁带,使用 sysinstall 程序找到的安装文件, FTP 站点或 MS-DOS®分区。

例如:

  • 您有许多机器连接到本地网络,使用一个FreeBSD光盘。 您要使用FreeBSD来创建一个本地FTP站点, 然后使用这个FTP站点来代替连接到Internet。

  • 您有一张 FreeBSD 光盘, FreeBSD 不支持您的 CD/DVD 驱动器, 但 MS-DOS®/Windows® 支持。 您要复制安装文件到一个DOS分区, 然后使用这些文件进行安装。

  • 您要安装的计算机没有 CD/DVD驱动器和网卡,但您可以连接一个 "Laplink-style" 串口或并口线缆到那台计算机。

  • 您要通过一个磁带机来安装FreeBSD.

2.13.1. 创建一张安装光盘

FreeBSD 的每个发行版本都为每一支持的平台提供至少两张 CDROM 映像 ("ISO images")。如果您有刻录机, 这些映像文件可以被("burned") 成FreeBSD的安装光盘。 如果没有刻录机,而上网带宽却很便宜,它也是一种很好的安装方式。

  1. 下载正确的 ISO 映像文件

    每个版本的ISO映像文件都可以从 ftp://ftp.FreeBSD.org/pub/FreeBSD/ISO-IMAGES-架构名/版本 或最近的镜像站点下载。选择合适的 架构版本

    目录中包含下面一些映像文件:

    表 4. FreeBSD 7.X 和 8.X ISO 映像文件名和含义
    文件名包含内容

    FreeBSD-版本-RELEASE-架构-bootonly.iso

    这个 CD 映像可以让您从光驱启动并进入安装过程, 但它并不提供用于支持从 CD 直接安装 FreeBSD 所需的文件。 在从 CD 引导之后, 您需要通过网络 (例如从 FTP 服务器) 来完成安装。

    FreeBSD-版本-RELEASE-架构-dvd1.iso.gz

    这个 DVD 映像包括用于安装 FreeBSD 操作系统基本组件、 预编译包和文档所需的全部文件。 它也支持引导进入基于 "livefs" 的修复模式。

    FreeBSD-版本-RELEASE-架构-memstick.img

    这个映像可以写进 USB 记忆棒, 用于引导系统并完成安装。 它也支持引导进入基于 "livefs" 的修复模式。 这个版本的映像中包含了文档所需要的全部文件, 但不提供其他包。 FreeBSD 7.3 和更早版本中没有这个文件。

    FreeBSD-版本-RELEASE-架构-disc1.iso

    这个 CD 映像包含了 FreeBSD 操作系统的基本组件和文档包, 但不包括其它包。

    FreeBSD-版本-RELEASE-架构-disc2.iso

    这个 CD 映像包含了能填满光盘的尽可能多的第三方软件包。 在 FreeBSD 8.0 和更高版本中不提供这个映像。

    FreeBSD-版本-RELEASE-架构-disc3.iso

    另一个包含了能填满光盘的尽可能多的第三方软件包的 CD 映像。 在 FreeBSD 8.0 和更高版本中不提供这个映像。

    版本-RELEASE-架构-docs.iso

    FreeBSD 文档。

    FreeBSD-版本-RELEASE-架构-livefs.iso

    这个 CD 映像包含了用以支持引导进入基于 "livefs" 的修复模式, 但不包括直接从 CD 安装所需的文件。

    FreeBSD 7.X 系列在 FreeBSD 7.3 之前的版本, 以及 FreeBSD 8.X 系列在 FreeBSD 8.1 之前的版本使用不同的命名习惯。 它们的 ISO 文件名不使用 FreeBSD- 前缀。

    必须 下载 bootonly ISO 映像 (如果有) 或 disc1 的映像其中的一个。 没有必要都下载, 因为 disc1 映像包含了 bootonly ISO 映像中的全部内容。

    如果您的 Internet 带宽很廉价, 则应使用 bootonly ISO。 它能安装 FreeBSD, 而您可以根据需要使用 ports/packages 系统来下载并安装第三方软件 (参见 安装应用程序: Packages 和 Ports)。

    如果打算安装 FreeBSD 并安装常用的软件包, 则应使用 dvd1

    其它的映像盘也很有用, 但不是必须的, 尤其是在您有高速的网络连接时。

  2. 刻录 CDs

    您必须把这些映像文件刻录成光盘。 如果您在其它的FreeBSD系统上完成此项工作,请看 创建和使用光学介质(CD) 得到更多的信息,(特别是 burncdcdrecord

    如果您在其它的系统平台上执行,您需要相应的刻录软件。 映像文件使用的是标准的ISO格式,必须被您的刻录软件所支持。

如果有兴趣制作一张定制的 FreeBSD 版本, 请参考 Release Engineering Article

2.13.2. 为 FreeBSD 安装盘建立局域网 FTP 站点

FreeBSD 光盘的布局和 FTP 站点相同。 这样, 建立局域网 FTP 站点来用于网络上的其它计算机安装 FreeBSD, 就十分的容易。

  1. 在要作为FTP站点的那台FreeBSD机器上, 确定FreeBSD磁盘放入光驱中并将它挂在 /cdrom 目录中。

    # mount /cdrom
  2. /etc/passwd 文件中建立一个可匿名访问 FTP 服务器的账号。 您可以利用 vipw(8) 命令编辑 /etc/passwd 文件, 加入下面这一行叙述:

    ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent
  3. 确定在 /etc/inetd.conf 配置文件中开启了FTP服务。

任何本地网络中的机器在安装 FreeBSD 选择安装介质时就可以选择透过 FTP 站点,然后选取 "Other" 后输入 ftp:// 本地FTP服务器 即可以透过本地的FTP站点来安装FreeBSD。

如果用作 FTP 客户端的引导介质 (通常是软盘) 与本地局域网的 FTP 站点上的版本不一致, sysinstall 会不允许您完成安装。 如果您使用的版本差距不很大, 并且希望绕过这一判断, 则应进入 Options 菜单, 并将安装包的名字改为 any

此方式最好使用在有防火墙保护的内部网络。 如果要将此FTP服务公开给外面的网际网络(非本地用户), 您的电脑必须承担被侵入或其它的风险。 我们强烈建议您要有完善的安全机制才这样做。

2.13.3. 创建安装软盘

如果您从软盘安装(我们_不_推荐那样做), 或者是由于不支持硬件或者更简单的理由是因为您坚持要使用软盘安装。 您必须准备几张软盘。

至少这些软盘必须是 1.44 MB 的,用来容纳所有在 base (基本系统) 目录下的文件。如果您在 DOS 操作系统下准备就 必须 使用 MS-DOS® 的 FORMAT 命令来格式化软盘。 如果您使用的是 Windows® 操作系统, 在资源管理器中就可以完成这个工作 (用右键单击 A: 驱动器,并选择 "Format")。

不要 指望厂家的预先格式化! 最好还是亲自进行格式化。 过去用户报告的很多问题都是由于不正确地使用格式化设备所造成的, 所以我们需要在这里着重提一下。

如果您在另外一台FreeBSD的机器上做了启动盘的话, 进行格式化是一个不错的主意。 虽然您不需要把每张盘都做成DOS文件系统。您也可以使用 bsdlabelnewfs 命令来创建一个UFS文件系统,具体操作按下面的顺序进行:

# fdformat -f 1440 fd0.1440
# bsdlabel -w fd0.1440 floppy3
# newfs -t 2 -u 18 -l 1 -i 65536 /dev/fd0

然后您就可以像其它的文件系统一样挂上和写入这些磁盘。

格式化这些磁盘后,您必须把文件复制到磁盘中。 这些发行文件被分割成刚好可存进五张 1.44 MB 软盘。 检查您所有的磁盘, 找出所有可能适合的文件。 直到您找到所有需要的配置并且将它们以这种方式安置。 第一个配置都应该有一个子目录在磁盘上, 例如: a:\base\base.aaa:\base\base.ab, 等等。

base.inf 文件, 也应放在 base 的第一张盘上, 因为安装程序需要读取这个文件, 以了解在获得发布包时需要下载多少文件。

一旦您进入选择安装介质的屏幕, 选择 Floppy 将会看到后面的提示符。

2.13.4. 从 MS-DOS® 分区安装

如果从 MS-DOS® 分区安装, 您需要将发布文件复制到该分区根目录下的 freebsd 目录中。 例如: c:\freebsd。 您必须复制一部分 CDROM 或 FTP 上的目录结构, 因此, 如果您从光盘进行复制, 建议使用 DOS 的 xcopy 命令。 下面是准备进行 FreeBSD 最小系统安装的例子:

C:\> md c:\freebsd
C:\> xcopy e:\bin c:\freebsd\bin\ /s
C:\> xcopy e:\manpages c:\freebsd\manpages\ /s

假设 C: 盘是您的空闲空间, E: 盘是您挂接的 CDROM。

如果您没有光盘驱动器,您可以从以下网站下载发行包。ftp.FreeBSD.org. 每一个发行包都在一个目录中,例如 base 发行包可以在 12.0/base/ 目录中找到。

对很多发行包来说,如果您希望从 MS-DOS®分区安装的话 (您有足够的空间),安装 c:\freebsd - 下的每个文件-这个 BIN 发行包只是最低限度的要求。

2.13.5. 创建一个安装磁带

从磁带安装也许是最简单的方式, 比在线使用 FTP 安装或使用 CDROM 还快。安装的程序假设是简单地被压缩在磁带上。 在您得到所有配置文件后,简单地解开它们,用下面的命令:

# cd /freebsd/distdir
# tar cvf /dev/rwt0 dist1 ... dist2

在您安装的时候,您要确定留有足够的空间给临时目录(允许您选择) 来容纳磁带安装时 全部 的内容。由于不是随机访问 磁带的,所以这种安装方法需要很多临时空间。

开始安装时,在从软盘启动 之前, 磁带机必须已经放在驱动设备中。否则, 安装过程中可能会找不到它。

2.13.6. 通过网络安装

可用的网络安装类型有三种。 以太网 (标准的以太网控制器)、 串口 (PPP) 以及 并口 (PLIP (laplink 线缆))。

如果希望以最迅速的方式完成网络安装, 那么以太网适配器当然就是首选! FreeBSD 支持绝大多数常见 PC 以太网卡; 系统能够支持的网卡 (以及所需的配置) 可以在 FreeBSD 发行版附带的硬件兼容说明中找到。 如果您使用的是系统支持的 PCMCIA 以太网卡, 在为笔记本加电 之前 之前一定要把它插好! 很不幸, FreeBSD 目前并不支持在安装过程中热插 PCMCIA 卡。

此外, 您还需要知道自己的 IP 地址、 网络类型对应的子网掩码, 以及机器名。 如果您正通过 PPP 连接安装而没有固定的静态 IP, 不用怕, 这个 IP 地址会由您的 ISP 自动分配。 您的系统管理员会告诉您进行网络配置所需的信息。 如果您需要通过名字而不是 IP 地址来访问其他主机, 则还需要配置一个域名服务器, 可能还需要一个网关地址 (在使用 PPP 时, 这个地址是服务提供商的 IP 地址)。 如果您希望通过 HTTP 代理服务器来完成 FTP 安装, 还需要知道代理服务器的地址。 如果您不知道这些信息, 则应在进行这种安装 之前 向系统管理员或 ISP 询问。

如果您使用一个 MODEM,那您就只有 PPP 这一种选择了。在您安装的过程中, 要确定您能很容易地获得完整且快速的关于您服务提供商的信息。

如果您使用 PAP 或 CHAP 方式连接到您的 ISP, (换句话说,如果您不使用脚本在Windows®中连接到您的ISP), 那么您需要在 ppp 提示符下输入 dial 命令。否则,当 PPP 连接者只提供一种最简单的终端模拟器,您必须知道如何使用针对 MODEM 的 "AT commands"拨号到您的 ISP。 想知道更深入的信息可以参考 使用手册中的用户级PPP那节 以及 FAQ 。 如果您有一些问题,可以使用 set log local …​ 命令将日志显示在屏幕上。

您也可以通过并口电缆连接到另外一台 FreeBSD 机器上进行安装,您可以考虑使用 "laplink" 并口电缆进行安装。通过并口安装要比通过串口 (最高 50 kbytes/sec)安装快得多。

2.13.6.1. 通过NFS安装之前

NFS 安装方式是非常方便的。只需要简单地将 FreeBSD 文件复制到一台服务器上,然后在安装时选择NFS介质。

如果这个服务器要 "特权端口" 才能支持 (如SUN的工作站),您需要在安装前在 Options 菜单中设置 NFS Secure

如果你使用了一块低质量的以太网卡比较糟糕, 速度很慢,则应考虑 NFS Slow的选项。

为了达到NFS安装的目的,这个服务器必须支持 subdir 加载。 例如,如果您的 FreeBSD 12.0 目录存在: ziggy:/usr/archive/stuff/FreeBSD,然后 ziggy 将必须允许直接挂上 /usr/archive/stuff/FreeBSD,而不仅仅是 /usr/usr/archive/stuff

在 FreeBSD的 /etc/exports 配置文件中, 是由 -alldirs 选项来控制的。其它 NFS 服务器也许有不同的方式。如果您从服务器得到 permission denied 这个信息, 可能是因为您没有正确的启用它。


Last modified on: March 9, 2024 by Danilo G. Baio