版权 © 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 The FreeBSD Documentation Project
版权 © 2003, 2004, 2005, 2006, 2007, 2008 FreeBSD 中文计划
欢迎使用 FreeBSD! 本手册适用于安装 FreeBSD 6.4-RELEASE 和 FreeBSD 7.0-RELEASE 以及它们的日常使用。 这个手册目前由很多人 持续地 维护。 其中的内容需要不断地更新。 如果您有兴趣参加这个项目,请发邮件到 FreeBSD 文档计划邮件列表。此文档最新的英文原始版本可以从 FreeBSD Web站点 上获得 (这本手册的较早期版本可以在 http://docs.FreeBSD.org/doc/ 找到), 由 FreeBSD 中文计划 维护的最新译本可以在 FreeBSD 中文计划 快照 Web 站点 和 FreeBSD 中文计划 文档快照 处获得, 这一译本会不断向主站同步。 此外, 您也可以从 FreeBSD 的 FTP 服务器 或众多的 镜像站点 得到这份文档的各种其他格式以及压缩形式的版本。 如果您更希望得到一份印刷版本的手册, 可以从 FreeBSD Mall 购买。 您还可以 搜索手册。
重要: 本文中许可证的非官方中文翻译仅供参考, 不作为判定任何责任的依据。如与英文原文有出入,则以英文原文为准。
在满足下列许可条件的前提下, 允许再分发或以源代码 (SGML DocBook) 或 “编译” (SGML, HTML, PDF, PostScript, RTF 等) 的经过修改或未修改的形式:
再分发源代码 (SGML DocBook) 必须不加修改的保留上述版权告示、 本条件清单和下述弃权书作为该文件的最先若干行。
再分发编译的形式 (转换为其它DTD、 PDF、 PostScript、 RTF 或其它形式), 必须将上述版权告示、本条件清单和下述弃权书复制到与分发品一同提供的文件, 以及其它材料中。
重要: 本文档由 FREEBSD DOCUMENTATION PROJECT “按现状条件” 提供, 并在此明示不提供任何明示或暗示的保障, 包括但不限于对商业适销性、 对特定目的的适用性的暗示保障。 任何情况下, FREEBSD DOCUMENTATION PROJECT 均不对任何直接、 间接、 偶然、 特殊、 惩罚性的, 或必然的损失 (包括但不限于替代商品或服务的采购、 使用、 数据或利益的损失或营业中断) 负责, 无论是如何导致的并以任何有责任逻辑的, 无论是否是在本文档使用以外以任何方式产生的契约、 严格责任或是民事侵权行为(包括疏忽或其它)中的, 即使已被告知发生该损失的可能性。
Redistribution and use in source (SGML DocBook) and 'compiled' forms (SGML, HTML, PDF, PostScript, RTF and so forth) with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code (SGML DocBook) must retain the above copyright notice, this list of conditions and the following disclaimer as the first lines of this file unmodified.
Redistributions in compiled form (transformed to other DTDs, converted to PDF, PostScript, RTF and other formats) must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
重要: THIS DOCUMENTATION IS PROVIDED BY THE FREEBSD DOCUMENTATION PROJECT "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FREEBSD DOCUMENTATION PROJECT BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
FreeBSD 是 FreeBSD基金会的注册商标
3Com 和 HomeConnect 是 3Com Corporation 的注册商标。
3ware 和 Escalade 是 3ware Inc 的注册商标。
ARM 是 ARM Limited. 的注册商标。
Adaptec 是 Adaptec, Inc. 的注册商标。
Adobe, Acrobat, Acrobat Reader, 以及 PostScript 是 Adobe Systems Incorporated 在美国和/或其他国家的商标或注册商标。
Apple, AirPort, FireWire, Mac, Macintosh, Mac OS, Quicktime, 以及 TrueType 是 Apple Computer, Inc. 在美国以及其他国家的注册商标。
Corel 和 WordPerfect 是 Corel Corporation 和/或其子公司 在加拿大、美国和/或其他国家的注册商标。
Sound Blaster 是 Creative Technology Ltd. 在美国和/或其他国家的注册商标。
CVSup 是 John D. Polstra 的注册商标。
Heidelberg、 Helvetica、 Palatino 以及 Times Roman 是 Heidelberger Druckmaschinen AG 在美国和其他国家的商标或注册商标。
IBM、 AIX、 EtherJet、 Netfinity、 OS/2、 PowerPC、 PS/2、 S/390 以及 ThinkPad 是国际商用机器公司在美国和其他国家的注册商标或商标。
IEEE, POSIX, 和 802 是 Institute of Electrical and Electronics Engineers, Inc. 在美国的注册商标。
Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium, 和 Xeon 是 Intel Corporation 及其分支机构在美国和其他国家的商标或注册商标。
Intuit 和 Quicken 是 Intuit Inc., 或其子公司在美国和其他国家的商标或注册商标。
Linux 是 Linus Torvalds 的注册商标。
LSI Logic, AcceleRAID, eXtremeRAID, MegaRAID 和 Mylex 是 LSI Logic Corp 的商标或注册商标。
M-Systems 和 DiskOnChip 是 M-Systems Flash Disk Pioneers, Ltd. 的商标或注册商标。
Macromedia, Flash, 以及 Shockwave Macromedia, Inc. 在美国和/或其他国家的商标或注册商标。
Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media, 和 Windows NT 是 Microsoft Corporation 在美国和/或其他国家的商标或注册商标。
Netscape 以及 Netscape Navigator 是 Netscape Communications Corporation 在美国和其他国家的注册商标。
GateD 和 NextHop 是 NextHop 在美国和其他国家的商标或注册商标。
Motif, OSF/1, 和 UNIX 是 The Open Group 在美国和其他国家的注册商标; IT DialTone 和 The Open Group 是其商标。
Oracle 是 Oracle Corporation 的注册商标。
PowerQuest 和 PartitionMagic 是 PowerQuest Corporation 在美国和/或其他国家的注册商标。
RealNetworks, RealPlayer, 和 RealAudio 是 RealNetworks, Inc. 的注册商标。
Red Hat, RPM, 是 Red Hat, Inc. 在美国和其他国家的注册商标。
SAP, R/3, 和 mySAP 是 SAP AG 在德国以及许多其他国家的商标或注册商标。
Sun、 Sun Microsystems、 Java、 Java Virtual Machine、 JavaServer Pages、 JDK、 JRE、 JSP、 JVM、 Netra、 Solaris、 StarOffice、 Sun Blade、 Sun Enterprise、 Sun Fire、 SunOS 以及 Ultra 是 Sun Microsystems, Inc. 在美国和其他国家的商标或注册商标。
Symantec 和 Ghost 是 Symantec Corporation 在美国和其他国家的注册商标。
MATLAB 是 The MathWorks, Inc. 的注册商标。
SpeedTouch 是 Thomson 的商标。
U.S. Robotics 和 Sportster 是 U.S. Robotics Corporation 的注册商标。
VMware 是 VMware, Inc. 的商标
Waterloo Maple 和 Maple 是 Waterloo Maple Inc 的商标或注册商标
Mathematica 是 Wolfram Research, Inc 的注册商标。
XFree86 是 The XFree86 Project, Inc 的商标。.
Ogg Vorbis 和 Xiph.Org 是 Xiph.Org 的商标。
许多制造商和经销商使用一些称为商标的图案或文字设计来彰显自己的产品。 本文档中出现的, 为 FreeBSD Project 所知晓的商标,后面将以 '™' 或 '®' 符号来标注。
作为 FreeBSD 的新用户,您将会在本手册第一部分找到 FreeBSD 的安装方法,同时逐渐引入概念和习俗来加强 UNIX® 基础。 阅读这部分只需要您有探索的精神和接受新概念的能力。
读完这些之后,手册中很漫长的第二部分是 FreeBSD 中系统管理员感兴趣的所有主题的全面参考。 在阅读这些章节的内容时所需要的背景知识都注释在每一章节的大纲里面, 如果需要,可在阅读前进行预习。
要获得附加的信息来源列表,请查阅 附录 B。
您目前看到的这本手册的第三版是 FreeBSD 文档计划的成员历时两年完成的顶峰之作。 第三版包含了如下的的主要变动:
第 11 章, 配置和优化, 进行了扩充并增加了关于 ACPI 电源和资源管理, cron 系统实用程序,以及更多的内核优化选项的相关内容。
第 14 章, 安全 一章增加了虚拟专用网 (VPNs), 文件访问控制表 (ACLs), 以及安全公告的内容。
第 16 章, 强制访问控制 (MAC) 是这一版新增的章节。 它解释了什么是 MAC, 以及这一机制如何使您的 FreeBSD 系统更安全。
第 18 章, 存储, 在原有基础上增加了 USB 存储设备, 文件系统快照, 文件系统容限, 基于文件及网络的文件系统, 以及与加密磁盘分区有关的内容。
第 21 章,Vinum, 是这一版中的新章节。 描述了如何使用这种提供了设备无关的逻辑磁盘、软件 RAID-0, RAID-1 和 RAID-5 的卷管理系统——Vinum。
在 第 28 章,PPP 和 SLIP 一章中增加了排除故障的说明。
第 29 章, 电子邮件 一章中增加了关于如何使用其它的邮件传输代理、 SMTP 认证、 UUCP、 fetchmail、 procmail、 以及其它进阶内容。
第 30 章,网络服务, 是新版中全新的一章。 这一章包括了如何架设 Apache HTTP 服务器、 ftpd, 以及用于支持 Microsoft® Windows® 客户的 Samba。 一些段落来自原先的 第 32 章, 进阶网络应用 一章。
第 32 章,进阶网络应用 一章增加了关于在 FreeBSD 中使用 Bluetooth® 设备, 安装无线网络, 以及使用异步传输模式 (ATM) 网络的内容。
增加了一份词汇表, 用以说明整本书中出现的术语。
对于全书中图表进行了进一步的美化工作。
本手册的第二版是 FreeBSD 文档计划的成员历时两年完成的顶峰之作。 第二版包含了如下的的主要变动:
添加了完整的索引。
用图形替换了以前所有用 ASCII 插图。
每个章节添加了标准大纲,列出了该章所包含的信息和读者所应该了解的知识。
内容逻辑地分成三个部分: “起步”,“系统管理”和“附录”。
第 2 章 (“安装 FreeBSD”) 新版本中使用了抓屏图片,使新用户更容易的领会正文。
第 3 章 (“UNIX 基础”)扩充了进程、守护进程和信号的附加信息。
第 4 章 (“安装应用程序”) 扩充了二进制包管理的附加信息。
第 5 章 (“X Window 系统”) 新版本中着重介绍使用现代桌面技术例如 XFree86™ 4.x 上的 KDE 和 GNOME
第 12 章 (“FreeBSD 启动过程”)对第一版内容进行扩充。
第 18 章 (“存储”) 由第一版中两个单独的章节“磁盘”和“备份”合并而成。 我们认为这两部分作为一个整体比较容易理解。同时 RAID (包括硬件和软件 RAID) 部分也被添加进来。
第 27 章 (“串口通信”) 对第一版进行完善,并为 FreeBSD 4.x/5.x 做了更新。
第 28 章 (“PPP 和 SLIP”) 全部更新。
许多新的内容被添加到 第 32 章 (“高级网络”).
第 29 章 (“电子邮件”)增加了关于配置 sendmail 的信息。
第 10 章(“Linux® 兼容性”) 增加了关于安装 Oracle® 和 SAP® R/3® 的信息。
第二版中也涵盖了下列主题:
这本手册分成了三个逻辑清晰的部分。第一部分 起步 涵盖了 FreeBSD 的安装和基本使用方法。 读者可根据自己的情况按顺序或者跳过一些熟悉的主题来阅读。第二部分 常用操作 涵盖了 FreeBSD 常用的功能, 这部分可以不按顺序阅读。每个部分由一个简明的大纲开始, 这个大纲描述本章节涵盖的内容和读者应该已经知道的知识。 这主要是让读者可以更好的选择感兴趣的章节阅读。第三部分 系统管理 涵盖了 FreeBSD 高级用户所感兴趣的广泛的话题。 第四部分 网络通讯 包括了网络和服务的话题, 而第五部分则是资源信息的附录。
向新用户介绍 FreeBSD。它描述了 FreeBSD 计划的历史、目标和开发模式。
本章将会带领用户完成安装过程。一些高级安装主题, 例如如何通过串行控制台安装,也涵盖在内。
本章涵盖了 FreeBSD 操作系统基础命令和功能。 如果熟悉 Linux 或者其他类 UNIX 操作系统,则可以跳过这章。
本章涵盖如何用 FreeBSD 的 “Ports Collection” 和标准二进制软件包来安装第三方软件。
本章概要地描述了 X Window System 系统并详细地介绍了如何在 FreeBSD 上使用它。 此外他也描述了常用的桌面环境, 例如 KDE 和 GNOME。
列出了一些常用的桌面应用程序,比如 web 浏览器和办公套件, 描述了在 FreeBSD 上如何安装它们。
展示了如何为您的系统设置声卡和视频回放支持。 也描述了一些简单的音频和视频应用程序。
解释了为什么需要配置一个新内核并提供了配置、 编译、安装自定义内核的详细说明。
描绘了 FreeBSD 上打印机管理, 包括横幅页、打印统计,还有初始的设置。
描述了 FreeBSD 的 Linux 兼容特性。 也提供了许多流行的 Linux 应用程序的详细的安装说明, 比如 Oracle、SAP R/3,还有 Mathematica®。
本章描述了管理员调整 FreeBSD 系统以优化性能时可能用到的一些参数。 也描述了 FreeBSD 中的各种配置文件以及它们所在的位置。
本章描述 FreeBSD 的启动过程并且解释了如何用配置选项来控制这个过程。
本章描述了如何创建和操作用户帐号, 同样也论述了设置用户资源限制和其他账号管理任务的方法。
描述了保证 FreeBSD 系统安全可以使用的许多工具, 这包括 Kerberos, IPsec 以及 OpenSSH。
介绍了 jail 框架, 以及 jail 相对于 FreeBSD 中传统的 chroot 支持的改进。
解释了何谓强制访问控制 (MAC) 以及如何利用这一机制来加强 FreeBSD 系统的安全。
介绍了 FreeBSD 事件审计是什么, 以及如何安装、 配置它, 并检查或监视审计记帐信息。
本章描述了怎样用 FreeBSD 来管理存储介质和文件系统,包括物理磁盘、RAID 阵列、光学和磁带媒体、后备存储磁盘以及网络文件系统。
介绍了 FreeBSD 中的 GEOM 框架是什么, 以及如何配置它所支持的各级 RAID。
探讨了 FreeBSD 对非原生文件系统的支持,比如 Sun™ 的 Z 文件系统。
本章描述了怎样使用逻辑卷管理器 Vinum。它提供了设备无关的逻辑磁盘和软件 RAID-0、RAID-1 以及 RAID-5。
介绍了虚拟化系统提供的功能, 以及如何配合 FreeBSD 使用它们。
本章描述了如何在 FreeBSD 上使用非英语语言。它涵盖了系统和应用程序级的本地化。
介绍了 FreeBSD-STABLE、 FreeBSD-CURRENT 以及 FreeBSD 发行版本之间的差异。 描述了一般用户如何紧跟开发过程并从中受益。
本章描述了如何在 FreeBSD 上配置和使用 Sun 的 DTrace 工具. 动态跟踪可以通过实时的系统分析,帮助找出系统性能瓶颈。
本章描述了最新的用来更新 FreeBSD 系统的工具。基本系统中的 freebsd-update(8) 和 Ports Collection 中的 portsnap(8)。
本章解释了如何连接终端和调制解调器到 FreeBSD 系统,包括拨入和拨出连接。
本章描述了如何用 FreeBSD 通过使用 PPP,SLIP 或者基于以太网的 PPP(PPPoE)来连接远程系统。
本章解释了一个 email 服务器的不同组成部分并且简单讨论了关于最流行的 mail 服务器软件 sendmail 的配置。
提供了详细的指引和示范配置文件以说明如何将一台 FreeBSD 机器作为网络文件系统服务器, 域名服务器, 网络信息服务器或时间同步服务器来使用的方法。
解释了基于软件的防火墙的原理, 并提供了关于配置 FreeBSD 上的几种防火墙的详细说明。
描述了许多关于网络的主题,包括如何在您的局域网中共享 Internet 连接, 高级路由话题, 无线网络, Bluetooth, ATM, IPv6以及许多高级话题。
列出了获得 FreeBSD 安装 CDROM 或 DVDROM 的不同资源,也提供了允许您自由下载 FreeBSD 的不同 Internet 站点。
由于本手册触及到了很多不同的主题,因而可能引发您想要获取更多详细的讲解。 参考书目列出了很多写作这本书时参考的好书。
讲述了很多对 FreeBSD 用户有用的能够提出问题并进行技术交流的关于 FreeBSD 的论坛。
列出了一些 FreeBSD 开发者的 PGP 签名公钥。
为了使本书保持一致性和易读性特做了以下约定:
斜体 字用来表示文件名、URLs、强调文字和术语的主流用法。
等宽 字体用来表示错误信息、 命令、 环境变量、 port 的名字、 主机名、 用户名、 组名、 设备名、 变量名, 以及代码片断。
粗体 字用来表示应用程序、命令和关键字。
按键用粗体来突出于其他文本。 组合键意味着字用‘+’连接时,同时的按下它们,例如:
Ctrl+Alt+Del
表示您应该同时按下 Ctrl, Alt 和 Del 键。
按顺序依次键入的关键字通常是用逗号隔开,例如:
Ctrl+X, Ctrl+S
这意味着用户应该同时按Ctrl 和 X,然后同时按 Ctrl 和 S。
以 E:\> 开头的例子代表一个 MS-DOS® 命令。除非另有说明,这些命令都可以在一个现代的 Microsoft Windows “命令行”窗口环境被执行。
E:\> tools\fdimage floppies\kern.flp A:
以 # 开头的例子代表必须以 FreeBSD 超级用户身份执行的命令。您可以用 root 身份登录来输入这些命令,或者以普通账号登录然后用 su(1) 来获得超级用户权限。
# dd if=kern.flp of=/dev/fd0
以 % 开头的例子代表命令应该被普通账号执行。 除非另有说明, 在设置环境变量和使用的其他 shell 命令均为 C-shell 语法。
% top
您所看到的这本书是全球几百人努力的结果。 无论他们只是纠正一些错误或提交完整的章节,所有的贡献都是非常有用的。
一些公司通过提供资金让作者专注于文档开发、提供出版资金等等方式来支持文档开发。 其中,BSDi (后并入Wind River Systems) 资助 FreeBSD 文档计划成员来专职改善这本书直到 2000 年三月第一个印刷版 (ISBN 1-57176-241-8) 的出版。Wind River Systems 同时资助其他作者来对输出结构做很多改进和给文章添加一些附加章节。 这项工作结束于 2001 年 11 月印刷第二版 (ISBN 1-57176-303-1)。在 2003-2004 两年中,FreeBSD Mall, 向为改进这本手册以使其第三版印刷版本能够出版的志愿者支付了报酬。
手册的以下章节主要是针对刚开始使用 FreeBSD 的用户及管理员:
FreeBSD 入门。
安装过程向导。
教您 UNIX 基本知识和基本原理。
展示如何在 FreeBSD 上安装大量的第三方应用程序。
介绍使用 X,UNIX 窗口系统,以及为一些生产环境配置桌面环境的细节。
我们尝试用最少的页数来保持前言的索引,以至于可以用最少翻页次数将该手册从头至尾读过。
非常感谢您对 FreeBSD 感兴趣! 下面的章节涵盖了 FreeBSD 项目的各个方面, 比如它的历史、目标、开发模式,等等。
阅读完这章,您将了解:
FreeBSD 与其它计算机操作系统的关系。
FreeBSD 项目的历史。
FreeBSD 项目的目标。
FreeBSD 开放源代码开发模式的基础。
当然还有:“FreeBSD” 这个名称的由来。
FreeBSD 是一个支持 Intel (x86 和 Itanium®),AMD64,Alpha™,Sun UltraSPARC® 计算机的基于 4.4BSD-Lite 的操作系统。 到其他体系结构的移植也在进行中。 您也可以阅读 FreeBSD 的历史, 或者最新的发行版本。 如果您有意捐助(代码, 硬件,基金),请看为 FreeBSD 提供帮助这篇文章。
FreeBSD 有许多非凡的特性。其中一些是:
抢占式多任务与动态优先级调整确保在应用程序和用户之间平滑公正的分享计算机资源, 即使工作在最大的负载之下。
多用户设备 使得许多用户能够同时使用同一 FreeBSD 系统做各种事情。 比如, 像打印机和磁带驱动器这样的系统外设, 可以完全地在系统或者网络上的所有用户之间共享, 可以对用户或者用户组进行个别的资源限制, 以保护临界系统资源不被滥用。
符合业界标准的强大 TCP/IP 网络 支持, 例如 SCTP、 DHCP、 NFS、 NIS、 PPP, SLIP, IPsec 以及 IPv6。 这意味着您的 FreeBSD 主机可以很容易地和其他系统互联, 也可以作为企业的服务器,提供重要的功能, 比如 NFS(远程文件访问)以及 email 服务, 或将您的组织接入 Internet 并提供 WWW,FTP,路由和防火墙(安全)服务。
内存保护确保应用程序(或者用户)不会相互干扰。 一个应用程序崩溃不会以任何方式影响其他程序。
FreeBSD 是一个 32 位操作系统 (在 Alpha,Itanium,AMD64,和 UltraSPARC 上是64 位), 并且从开始就是如此设计的。
业界标准的 X Window 系统 (X11R7)为便宜的常见 VGA 显示卡和监视器提供了一个图形化的用户界面(GUI), 并且完全开放代码。
和许多 Linux,SCO,SVR4,BSDI 和 NetBSD 程序的二进制代码兼容性
数以千计的 ready-to-run 应用程序可以从 FreeBSD ports 和 packages 套件中找到。 您可以顺利地从这里找到, 何须搜索网络?
可以在 Internet 上找到成千上万其它 easy-to-port 的应用程序。 FreeBSD 和大多数流行的商业 UNIX 代码级兼容, 因此大多数应用程序不需要或者只要很少的改动就可以编译。
页式请求虚拟内存和“集成的 VM/buffer 缓存”设计有效地满足了应用程序巨大的内存需求并依然保持其他用户的交互式响应。
SMP 提供对多处理器的支持。
内建了完整的 C、 C++、 Fortran 开发工具。 许多附加的用于高级研究和开发的程序语言, 也可以在通过 ports 和 packages 套件获得。
完整的系统源代码意味着您对您环境的最大程度的控制。 当您拥有了一个真正的开放系统时, 为什么还要受困于私有的解决方案, 任商业公司摆布呢?
丰富的在线文档。
不仅如此!
FreeBSD 基于加州大学伯克利分校计算机系统研究组 (CSRG) 发布的 4.4BSD-Lite, 继承了 BSD 系统开发的优良传统。 除了 CSRG 优秀的工作之外, FreeBSD 项目花费了非常多的时间来优化调整系统, 使其在真实负载情况下拥有最好的性能和可靠性。 在现今, 许多商业巨人正为给 PC 操作系统增加新功能、 提升和改善其可靠性, 以便在其上展开激烈竞争的同时, FreeBSD 现在 已经能够提供所有这一切了!
FreeBSD 可以提供的应用事实上仅局限于您的想象力。 从软件开发到工厂自动化,从存货控制到遥远的人造卫星天线方位控制, 如果商业的 UNIX 产品可以做到, 那么就非常有可能您也可以用 FreeBSD 来做! FreeBSD 也极大地受益于全世界的研究中心和大学开发的数以千计的高质量的应用程序, 这些程序通常只需要很少的花费甚至免费。 可用的商业应用程序, 每天也都在大量地增加。
因为 FreeBSD 自身的源代码是完全公开的, 所以对于特定的应用程序或项目,可以对系统进行最大限度的定制。 这对于大多数主流的商业生产商的操作系统来说几乎是不可能的。 以下是当前人们应用 FreeBSD 的某些程序的例子:
Internet 服务: FreeBSD 内建的强大的 TCP/IP 网络使它得以成为各种 Internet 服务的理想平台, 比如:
FTP 服务器
World Wide Web 服务器(标准的或者安全的 [SSL])
IPv4 and IPv6 路由
防火墙和 NAT(“IP 伪装”) 网关
电子邮件服务器
USENET 新闻组和电子布告栏系统
还有许多...
使用 FreeBSD, 您可以容易地从便宜的 386 类 PC 起步,并随着您的企业成长,一路升级到带有 RAID 存储的四路 Xeon 服务器。
教育: 您是一名计算机科学或者相关工程领域的学生吗? 学习操作系统,计算机体系结构和网络没有比在 FreeBSD 可提供的体验下动手实践更好的办法了。许多可自由使用的 CAD、数学和图形设计包也使它对于那些主要兴趣是在计算机上完成 其他工作的人非常有帮助。
研究: 有完整的系统源代码,FreeBSD 对于操作系统研究以及其他计算机科学分支都是一个极好的平台。 FreeBSD 可自由获得的本性, 同样可以使处在不同地方的开发团队在开放的论坛上讨论问题、 交流想法与合作开发成为可能, 且不必担心特别的版权协定或者限制。
网络:需要一个新的路由器? 一台域名服务器 (DNS)? 一个隔离您的内部网络的防火墙? FreeBSD 可以容易的把丢弃在角落不用的 386 或者 486 PC 变成一台完善的带包过滤能力的高级路由器。
X Window 工作站: FreeBSD 是廉价 X 终端的一种绝佳解决方案, 您可以选择使用免费的 X11 服务器。 与 X 终端不同,如果需要的话 FreeBSD 能够在本地直接运行程序, 因而减少了中央服务器的负担。 FreeBSD 甚至能够在 “无盘” 环境下启动, 这使得终端更为便宜和易于管理。
软件开发: 基本的 FreeBSD 系统带有包括著名的 GNU C/C++ 编译器和调试工具在内的一整套开发工具。
FreeBSD 可以通过 CD-ROM、DVD, 以及匿名 FTP 以源代码和二进制方式获得。请查看附录 A 了解获取 FreeBSD 的更多细节。
下面的章节提供了项目的一些背景信息, 包括简要的历史、项目目标、以及项目开发模式。
FreeBSD 项目起源于 1993 年早期, 部分作为 “Unofficial 386BSD Patchkit” 的副产物,patchkit 的最后 3 个协调维护人是:Nate Williams,Rod Grimes 和我。
我们最初的目标是做出一份 386BSD 的测试版以修正一些 Patchkit 机制无法解决的错误(bug)。 很多人可能还记得早期的项目名称叫做 “386BSD 0.5” 或者 “386BSD Interim” 就是这个原因。
386BSD 是 Bill Jolitz 的操作系统, 到那时已被严重地忽视了一年之久。 由于 Patchkit 在过去的每一天里都在急剧膨胀, 使得对其进行消化吸收变得越来越困难, 因此我们一致同意应该做些事情并决定通过提供这个临时的 “cleanup” 版本来帮助 Bill。 然而,Bill 却在事先没有指出这个项目应该如何开展下去的情况下, 突然决定退出这个项目,最终这个计划只好被迫停止。
没过多久, 我们认为即便没有 Bill 的支持, 项目仍有保留的价值, 因此,我们采用了 David Greenman 的意见,给其命名为 “FreeBSD”。在和当时的几个用户商量后, 我们提出了最初的目标, 而这件事明朗化后, 这个项目就走上了正轨,甚至可能成为现实。 为了拓展 FreeBSD 的发行渠道,我抱着试试看的心态, 联系了光盘商 Walnut Creek CDROM, 以便那些上网不方便的用户得到 FreeBSD。 Walnut Creek CDROM 不仅支持发行 FreeBSD 光盘版的想法, 还为这个计划提供了所需的计算机和高速网络接入。 在那时, 若没有 Walnut Creek CDROM 对一个完全未知的项目的空前信任, FreeBSD 不太可能像它今天这样,影响如此深远, 发展如此快速。
第一个 CD-ROM (以及在整个互联网范围内发行的) 发行版本是 FreeBSD 1.0,于 1993 年 10 月发布。这个版本基于 U.C. Berkeley 的 4.3BSD-Lite(“Net/2”)磁带, 也有许多组件是 386BSD 和自由软件基金会提供的。 对于第一次发行,这算是相当成功了。 在 1994 年 5 月,我们发布了更加成功的 FreeBSD 1.1 版。
然而此后不久,发生了一些意外的情况。 Novell 和 U.C. Berkeley 决定就 Berkeley Net/2 磁带的归属权问题打的那场马拉松式的官司达成和解。 判决的结果是, U.C. Berkeley 承认 Net/2 很大一部分代码是 “侵占来的” 且这些代码归 Novell 公司所拥有。这些代码是 Novell 不久前从 AT&T 买来的。 Berkeley 得到了来自 Novell 的 “祝福”: 4.4BSD-Lite 发行后,将不认为是侵权, 且要求现存的 Net/2 的用户更换新版。 这也包括 FreeBSD,我们的项目被要求在 1994 年 6 月底停止发行基于 Net/2 的产品。在此协议允许的时间内, 本项目被允许发行最后一版,也就是 FreeBSD 1.1.5.1。
于是 FreeBSD 开始艰苦的从全新的而且不完整的 4.4BSD-Lite 中重新整合自己。“Lite” 版本是不完整的, 因为 Berkeley 的 CSRG 已经删除了大量的构建可启动运行的系统所需要的代码 (因为各种各样的版权问题),事实上 4.4 的 Intel port 是非常不完整的。 直到 1994 年 11 月项目才完成这个转换,这个时候才把 FreeBSD 2.0 通过网络和 CD-ROM(在 12 月)发布出来。 尽管系统很多地方还很粗糙,这个版本还是取得了重大的成功, 接下来在 1995 年 6 月发布了更强大和容易安装的 FreeBSD 2.0.5 版本。
我们于 1996 年 8 月发布了 FreeBSD 2.1.5 版本, 它在 ISP 和商业团体中非常流行。 随后, 2.1-STABLE 分支的另一个版本应运而生,它就是 FreeBSD 2.1.7.1,在 1997 年 2 月发布并停止了 2.1-STABLE 的主流开发。现在,它处于维护状态, 仅仅提供安全性的增强和其他严重的错误修补的维护(RELENG_2_1_0)。
FreeBSD 2.2 版作为 RELENG_2_2 分支,于 1996 年 11 月从开发主线 (“-CURRENT”)分出来。 它的第一个完整版(2.2.1)于 1997 年 4 月发布出来。 97 年夏秋之间,顺着 2.2 分支的更进一步的版本在开发。 其最后一版(2.2.8)于 1998 年 11 月发布出来。 第一个官方的 3.0 版本出现在 1998 年 10 月, 意味着 2.2 分支结束的开始。
1999 年 1 月 20 日又出现了新的分支,就是 4.0-CURRENT 和 3.X-STABLE 分支。从 3.X-STABLE 起,3.1 在 1999 年 2 月 15 日发行,3.2 在1999 年 5 月 15 日,3.3 在 1999 年 9 月 16 日,3.4 在 1999 年 12 月 20 日,3.5 在 2000 年 6 月 24 日,接下来几天后发布了很少的修补升级至 3.5.1,加入了对 Kerberos 安全性方面的修补。 这是 3.X 分支最后一个发行版本。
随后在 2000 年 3 月 13 日出现了一个新的分支, 也就是 4.X-STABLE。 这之后发布了许多的发行版本: 4.0-RELEASE 于 2000 年 3月发布, 而最后的 4.11-RELEASE 则是在 2005 年 1 月发布的。
期待已久的 5.0-RELEASE 于 2003 年 1 月 19 日正式发布。 这是将近三年的开发的巅峰之作, 同时也标志了 FreeBSD 在先进的多处理器和应用程序线程支持的巨大成就, 并引入了对于 UltraSPARC 和 ia64 平台的支持。 之后于 2003 年 6 月发布了 5.1。 最后一个从 -CURRENT 分支的 5.X 版本是 5.2.1-RELEASE, 它在 2004 年 2 月正式发布。
RELENG_5 于 2004 年 8 月正式创建, 紧随其后的是 5.3-RELEASE, 它是 5-STABLE 分支的标志性发行版。 最新的 5.5-RELEASE 是在 Nov 2008 发布的。 RELENG_5 分支不会有后续的发行版了。
其后在 2005 年 7 月又建立了 RELENG_6 分支。 而 6.X 分支上的第一个版本, 即 6.0-RELEASE, 则是在 2005 年 11 月发布的。 最新的 6.4-RELEASE 发布于 Nov 2008。 我们还将继续从 RELENG_6 发布新的版本。
RELENG_7 分支于 2007 年 10 月创建。 这个分支最新的发布版本是 Feb 2008 的 7.0-RELEASE。 RELENG_7 分支将会有其他后继发布版本。
目前, 中长期的开发项目继续在 8.X-CURRENT (主干, trunk) 分支中进行, 而 8.X 的 CD-ROM (当然, 也包括网络) 快照版本可以在 快照服务器 找到。
FreeBSD 项目的目标是无附加条件地提供能够用于任何目的的软件。 我们中的许多人对代码 (以及项目本身) 都有非常大的投入, 因此当然不介意偶尔有一些资金上的补偿, 但我们并没打算坚决地要求得到这类资助。 我们认为我们的首要 “使命” 是为任何人提供代码, 不管他们打算用这些代码做什么, 因为这样代码将能够被更广泛地使用, 从而最大限度地发挥其价值。 我认为这是自由软件最基本的, 同时也是为我们所倡导的一个目标。
我们源代码树中, 以 GNU 公共许可证 (GPL) 或者 GNU 函数库公共许可证 (LGPL) 发布的那些代码带有少许的附加限制, 还好只是强制性的要求开放代码而不是别的。 由于使用 GPL 的软件在商业用途上会增加若干复杂性, 因此,如果可以选择的话, 我们更偏好使用限制相对更宽松的 BSD 版权来发布软件。
FreeBSD 的开发是一个非常开放且有有伸缩性的过程, 就像从我们的 贡献者列表里看到的,它是完全由来自全世界的数以百计的贡献者发展起来的。 FreeBSD 的开发基础结构允许数以百计的开发者通过互联网协同工作。 我们也经常关注着那些对我们的计划感兴趣的新开发者和新的创意, 那些有兴趣更进一步参与项目的人只需要在 FreeBSD 技术讨论邮件列表 联系我们。 FreeBSD 公告邮件列表 对那些希望了解我们工作所涉及到哪些领域的人也是有用的。
无论是独立地工作或者封闭式的团队工作, 了解 FreeBSD 计划和它的开发过程都是有益的:
在过去的几年中 FreeBSD 的中央源代码树是由 CVS (并行版本控制系统)来维护的,CVS 是一个与 FreeBSD 捆绑的可自由获得的源代码控制工具。自 2008 年六月起, 这个项目开始转为使用SVN (Subversion)。 这次转换被认为是非常必要的,因为 CVS 的对于快速扩展源代码树和历史记录的限制越趋明显。现在主源码库使用 SVN,客户端的工具像 CVSup 和 csup 这些依赖于旧的 CVS 基础结构依然可以使用 ── 因为对于 SVN 源码库的修改会被导回进 CVS。 目前只有中央原代码树是由 SVN 控制的。文档,万维网和 Ports 库还仍旧使用着 CVS。 The primary repository resides on a machine in Santa Clara CA, USA 主 CVS 代码库放置在美国加利福尼亚州圣克拉拉的一台机器上, 它被复制到全世界的大量镜像站上。包含 -CURRENT 和 -STABLE 的 SVN 树也同样能非常容易的你的机器上。 请参阅 同步你的源码树 获得更多的相关信息。
committer 是那些对 CVS 树有写权限的人, 他们被授权修改 FreeBSD 的源代码 (术语 “committer” 来自于 cvs(1) 的 commit 命令,这个命令用来把新的修改提交给 CVS 代码库)。提交修正的最好方法是使用 send-pr(1) 命令。如果您发现在系统中出现了一些问题的话, 您也可以通过邮件将它们发送至 FreeBSD committer 的邮件列表。
如果把 FreeBSD 项目看作一家公司,那么 FreeBSD 核心团队就相当于董事会。 核心团队的主要任务是提出总体上的发展计划,然后确定一个正确的方向。 邀请那些富有献身精神和可靠的开发者加入到 committer 队伍中来也是核心团队的工作之一, 这些新的成员将作为新核心团队成员和其他人一起继续前进。 当前的核心团队是 2006 年 7 月从 committer 中选举产生的。选举每两年一次。
一些核心团队的成员还负责特定的责任范围, 也就是说他们必须尽力确保某个子系统能工作正常。 FreeBSD 开发者的完整列表和他们的责任范围,请参见 贡献者列表
注意: 核心团队的大部分成员加入 FreeBSD 开发的时候都是志愿的, 并没有从项目中获得任何财政上的资助, 所以“承诺”不应该被理解为“支持保证”。 前面所述“董事会”的类推并不十分准确, 或许更好的说法是,他们是一群愿意放弃他们的生活, 投身于 FreeBSD 项目而非选择其个人更好的生活的人!
事实上,最大的开发团队正是为我们提供反馈和错误修补的用户自己。 FreeBSD 的非集中式的开发者保持联系的主要方式就是预订 FreeBSD 技术讨论邮件列表,很多事情在那里讨论。查看附录 C了解众多 FreeBSD 邮件列表的更多信息。
FreeBSD 贡献者列表 很长并在不断增长, 为什么不加入它来为 FreeBSD 做贡献呢?
提供代码不是为这个计划做贡献的唯一方式; 有一个更完整的需要做的事情的列表,可以参见 FreeBSD 项目网站。
总的来说,我们的开发模式好像是一组没有拘束的同心圆。 这种集中式的开发模式,主要是考虑到 FreeBSD 用户的方便, 同时让他们能很容易地维护同一份软件, 而不会把潜在的贡献者排除在外! 我们的目标是提供一个包含有大量具有一致性 应用程序的稳定的操作系统, 以利于用户的安装和使用,── 这种模式在完成目标的过程中工作得非常有效。
我们对于那些想要加入,成为 FreeBSD 开发者的期待是: 具有如同当前其他人一样的投入,来确保持续的成功!
FreeBSD 是一个免费使用且带有完整源代码的基于 4.4BSD-Lite 的系统, 它广泛运行于 Intel i386™、i486™、Pentium®、 Pentium Pro、 Celeron®、 Pentium II、 Pentium III、 Pentium 4(或者兼容系统)、 Xeon™、DEC Alpha 和 Sun UltraSPARC 的计算机系统上。 它主要以 加州大学伯克利分校 的 CSRG 研究小组的软件为基础,并加入了 NetBSD、OpenBSD、386BSD 以及来自 自由软件基金会 的一些东西。
自从 1994 年末我们的 FreeBSD 2.0 发行以来, FreeBSD 的性能,可定制性,稳定性都有了令人注目的提高。 最大的变化是通过整合虚拟内存/文件系统中的高速缓存改进的虚拟内存系统, 它不仅提升了性能,而且减少了 FreeBSD 对内存的需要, 使得 5 MB 内存成为可接受的最小配置。 其他的改进包括完整的 NIS 客户端和服务器端的支持, 事务式 TCP 协议支持,按需拨号的 PPP,集成的 DHCP 支持,改进的 SCSI 子系统, ISDN 的支持,ATM,FDDI,快速 Gigabit 以太网(1000 Mbit)支持, 提升了最新的 Adaptec 控制器的支持和修补了很多的错误。
除了最基本的系统软件,FreeBSD 还提供了一个拥有成千上万广受欢迎的程序组成的软件的 Ports Collection。 到本书付印时,已有超过 19,000 个 ports (ports 包括从 http(WWW) 服务器到游戏、程序设计语言、编辑器以及您能想到的几乎所有的东西)。 完整的 Ports Collection 大约需要 445 MB 的存储空间。所有的只提供对原始代码的 “修正”。这使得我们能够容易地更新软件, 而且减少了老旧的 1.0 Ports Collection 对硬盘空间的浪费。 要编译一个 port,您只要切换到您想要安装的程序的目录, 输入 make install,然后让系统去做剩下的事情。 您要编译的每一个程序完整的原始代码可以从 CD-ROM 或本地 FTP 获得,所以您只需要编译您想要软件的足够的磁盘空间。 几乎大多数的软件都提供了事先编译好的 “package” 以方便安装,对于那些不希望从源代码编译他们自己的 ports 的人只要使用一个简单的命令 (pkg_add)就可以安装。 有关 package 和 ports 的更多信息可以在第 4 章中找到。
您可以在最近的 FreeBSD 主机的 /usr/share/doc 目录下找到许多有用的文件来帮助您安装及使用 FreeBSD。 您也可以用一个 HTML 浏览器来查阅本地安装的手册, 使用下面的 URL:
您也可以查看在 http://www.FreeBSD.org/ 的主站上的副本。
FreeBSD 提供了一个以文字为主,简单好用的安装程序,叫做 sysinstall 。这是 FreeBSD 默认使用的安装程序; 厂商如果想,也可以提供适合自己需要的安装程序。本章说明如何使用 sysinstall 来安装 FreeBSD。
学习完本章之后,您将会知道:
如何制作 FreeBSD 安装磁盘
FreeBSD如何参照及分割您的硬盘
如何启动 sysinstall.
在执行 sysinstall 时您将要回答的问题、 问题代表什么意义,以及该如何回答它们。
在阅读本章之前,您应该:
阅读您要安装的 FreeBSD 版本所附的硬件支持列表以确定您的硬件有没有被支持。
注意: 一般来说,此安装说明是针对 i386 (“PC 兼容机”) 体系结构的电脑。如果有其它体系结构(如Alpha)的安装说明, 我们将一并列出。虽然本文档经常保持更新, 但有可能与您安装版本上所带的说明文档有些许出入。 在这里建议您使用本说明文章作为一般性的安装指导参考手册。
安装 FreeBSD 所需的最小硬件配置, 随 FreeBSD 版本和硬件架构不同而有所不同。
关于安装所需的最低硬件配置信息, 可以在 FreeBSD 网站的 发行版信息 部分中的 安装说明书 中找到。在接下来的几节中, 给出了这些信息的一些总结。随您安装 FreeBSD 的方式不同, 可能需要使用软驱或为 FreeBSD 支持的 CDROM 驱动器, 有时候也可能需要的是一块网卡。 这将在 第 2.3.7 节 中进行介绍。
FreeBSD/i386 和 FreeBSD/pc98 版本, 都需要 486 或更高的处理器,以及至少 24 MB 的 RAM。 您需要至少 150 MB 的空闲硬盘空间, 才能完成最小的安装配置。
注意: 对于老旧的硬件而言, 多数时候, 装配更多的 RAM 和腾出更多的硬盘空间, 要比使用更快的处理器更有用。
要安装 FreeBSD/alpha, 您使用的必须是某种受支持的平台 (参见 第 2.2.2 节) 而且 FreeBSD 必须独占一个硬盘。目前 FreeBSD 还无法与其它操作系统共享磁盘。 这个磁盘必须接在 SRM 固件支持的 SCSI 控制器上,或者如果您机器上的 SRM 支持从 IDE 硬盘启动,则应装到 IDE 硬盘上。
此外您还需要用于您的平台 SRM 控制台固件。有时,可以在 AlphaBIOS (或 ARC) 固件和 SRM 之间切换。如果没有, 则需要从制造商网站上下载并安装新的固件。
注意: 对于 Alpha 的支持, 从 FreeBSD 7.0 版本开始已经不再提供。 FreeBSD 6.X 系列发行版, 是最后一批支持这种硬件平台的版本。
有两类处理器同时能够支持运行 FreeBSD/amd64。 第一种是 AMD64 处理器, 包括 AMD Athlon™64、 AMD Athlon64-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, 目前我们还没有找到绕过这一问题的方法。
要安装 FreeBSD/sparc64, 必须使用它支持的平台 (参见 第 2.2.2 节)。
FreeBSD/sparc64 需要独占一块磁盘。 目前还没有办法与其它操作系统共享一块磁盘。
支持的硬件列表, 会作为 FreeBSD 发行版本的 FreeBSD 兼容硬件说明提供。 这个文档通常可以在 CDROM 或 FTP 安装文件的顶级目录找到, 它的名字是 HARDWARE.TXT, 此外, 在 sysinstall 的 documentation 菜单也可以找到。它针对特定的硬件架构列出了 FreeBSD 已知支持的硬件。 不同发行版本和架构上的硬件支持列表,可以在 FreeBSD 网站的 发行版信息 页面上找到。
在安装 FreeBSD 之前,您应该试着将您电脑中的硬件清单列出来。 FreeBSD 安装程序会将这些硬件(磁盘、网卡、光驱等等) 以及型号及制造厂商列出来。FreeBSD 也会尝试为这些设备找出最适当的 IRQ 及 IO 端口的设定。但是因为 PC 的硬件种类实在太过复杂, 这个步骤不一定总是能成功。这时, 您就可能需要手动更改有问题的设备的设定值。
如果您已经安装了其它的操作系统,如 Windows 或 Linux, 那么您可以先由这些系统所提供的工具来查看您的设备设定值是怎么分配的。 如果您真的没办法确定某些接口卡用什么设定值,那么您可以检查看看, 说不定它的设定已经标示在卡上。常用的 IRQ 号码为 3、5 以及 7; IO 端口的值通常以 16 进制位表示,例如 Ox330。
我们建议您在安装 FreeBSD 之前把这些信息打印或记录下来,做成表格 的样子也许会比较有帮助,例如:
表 2-1. 硬件设备清单
| 设备名 | IRQ | IO 端口号 | 备注 |
|---|---|---|---|
| 第一块硬盘 | 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 版本的硬件需求。
如果您的电脑上面存有重要的数据资料, 那么在安装 FreeBSD 前请确定您已经将这些资料备份了, 并且先测试这些备份文档是否有问题。FreeBSD 安装程序在要写入任何资料到您的硬盘前都会先提醒您确认, 一旦您确定要写入,那么以后就没有反悔的机会。
如果您想让 FreeBSD 使用整个硬盘,那么请直接跳到下一节。
但是,如果您想让 FreeBSD 跟您已有的系统并存, 那么您必须对您数据存在硬盘的分布方式有深入的了解, 以及其所造成的影响。
一个 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 腾出空间。 FreeBSD 光盘的 tools 目录包含两个免费的工具也可以完成这个工作: FIPS 以及 PResizer,它们的文档可以在同一目录中找到。 FIPS、PResizer, 和 PartitionMagic 能够改变 FAT16 以及 FAT32 分区的大小 ── 它们可以在 MS-DOS 以及 Windows ME 系统中使用。 这些工具的说明文件可以在同一个目录下面找到。 PartitionMagic 和 GParted 都能改变 NTFS 分区的尺寸。 GParted 在许多 Live CD Linux 发行版, 如 SystemRescueCD 中均有提供。
目前已经有报告显示改变 Microsoft Vista 分区尺寸时会出现问题。 在进行此类操作时, 建议您准备一张 Vista 安装 CDROM。如同其他的磁盘维护操作一样, 强烈建议您事先进行备份。
警告: 不当的使用这些工具可能会删掉您硬盘上的数据资料! 在使用这些工具前确定您有最近的、没问题的备份数据。
在 Alpha 上,您必须使用一整颗硬盘给 FreeBSD, 没有办法在同一个硬盘上跟其它操作系统共存。 根据不同的 Alpha 机器,您的硬盘可以是 SCSI 或 IDE 硬盘, 只要您的机器可以从这些硬盘开机就可以。
按照 Digital/Compaq 使用手册书写的惯例, 所有 SRM 输入的部分都用大写表示。 注意,SRM 大小写有别。
要想得知您硬盘的名称以及型号, 可以在 SRM console 提示符下使用 SHOW DEVICE 命令:
>>>SHOW DEVICE dka0.0.0.4.0 DKA0 TOSHIBA CD-ROM XM-57 3476 dkc0.0.0.1009.0 DKC0 RZ1BB-BS 0658 dkc100.1.0.1009.0 DKC100 SEAGATE ST34501W 0015 dva0.0.0.0.1 DVA0 ewa0.0.0.3.0 EWA0 00-00-F8-75-6D-01 pkc0.7.0.1009.0 PKC0 SCSI Bus ID 7 5.27 pqa0.0.0.4.0 PQA0 PCI EIDE pqb0.0.1.4.0 PQB0 PCI EIDE
此范例使用 Digital Personal Workstation 433au 并且显示出此机器联接有三个硬盘。第一个是 CDROM,叫做 DKA0;另外两个是两个硬盘,分别叫做 DKC0 及 DKC100。
硬盘名称中有 DKx 字样的是 SCSI 硬盘。 例如 DKA100 表示是一个 SCSI 设备, 其 SCSI ID 为 1,位于第一个 SCSI 接口 (A)。 DKC300 表示一个 SCSI 硬盘, SCSI ID 为 3,位于第三个 SCSI 接口 (C)。设备名称 PKx 表示 SCSI 控制卡。由以上 SHOW DEVICE 指令的输出结果看来, SCSI 光盘也被视为是 SCSI 硬盘的一种。
IDE 硬盘的名称类似 DQx,而 PQx 则表示相对应的硬盘控制器。
如果您想通过网络(FTP 或是 NFS)安装 FreeBSD, 那么您就必须知道您的网络配置信息。在安装 FreeBSD 的过程中将会提示您输入这些资料,以顺利完成安装过程。
如果您通过局域网或是要通过网卡使用电缆/DSL 上网, 那么您必须准备下面的信息:
IP 地址。
默认网关 IP 地址。
主机名称。
DNS 服务器的 IP 地址。
子网掩码。
如果您不知道这些信息, 您可以询问系统管理员或是您的网络服务提供者。 他们可能会说这些信息会由 DHCP 自动分配;如果这样的话,请记住这一点就可以了。
如果您由 ISP 提供的拨号服务上网,您仍然可以通过它安装 FreeBSD,只是会需要很长的时间。
您必须知道:
拨号到 ISP 的电话号码。
您的 modem 是连接到哪个 COM 端口。
您拨号到 ISP 所用的账号和密码。
虽然我们尽力确保每个 FreeBSD 发行版本的稳定性, 但偶尔也会有一些错误进入发行版。极少数情况下, 这些问题甚至可能会影响安装。 当发现和修正问题之后,它们会列在 FreeBSD 网站中的 FreeBSD 发行勘误 中。 在您安装之前,应该首先看一看这份勘误表,以了解可能存在的问题。
关于所有释出版本的信息,包括勘误表,可以在 FreeBSD 网站 的 发行版信息 一节中找到。
FreeBSD 可以通过下面任何一种安装介质进行安装:
安装介质
CDROM 或 DVD
在同一计算机上的 DOS 分区
SCSI 或 QIC 磁带
软盘
网络
通过防火墙的一个 FTP 站点,或使用 HTTP 代理。
NFS 服务器
一个指定的并行或串行接口
如果您购买了 FreeBSD 的 CD 或 DVD,那么您可以直接进入下一节 第 2.3.7 节。
如果您还没有 FreeBSD 的安装文件,您应该回到 第 2.13 节 一节, 它介绍了如何准备所需要的安装介质。之后,您就可以回到这一节, 并从 第 2.3.7 节 继续。
FreeBSD 的安装过程开始于将您的电脑开机进入 FreeBSD 安装环境 ── -并非在其它的操作系统上运行一个程序。 计算机通常使用安装在硬盘上的操作系统进行引导, 也可以配置成使用一张“bootable(可引导)”的软盘进行启动。 大多数现代计算机都可以从光驱进行引导系统。
提示: 如果您有 FreeBSD 的安装光盘或 DVD(或者是您购买的, 或者是您自己准备的。)并且您的计算机可以从光驱进行启动 (通常在 BIOS 中会有 “Boot Order” 或类似的选项可以设置),那么您就可以跳过此小节。 因为 FreeBSD 光盘及 DVD 光盘都是可以引导的, 用它们开机您不用做什么特别的准备。
一般来说,要建立安装盘(软盘)请依照下列步骤:
获取开机软盘映像文件
开机软盘映像文件可以在您的安装介质的 floppies/ 目录下找到, 另外您也可以从下述网站的 floppies 目录下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/<架构名>/<版本>-RELEASE/floppies/. 将 <架构名> 和 <版本> 替换为您使用的计算机体系结构和希望安装的版本号。 例如,用于安装 i386 上的 FreeBSD/i386 7.0-RELEASE 的文件的地址, 应该是 ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/7.0-RELEASE/floppies/。
软盘映像文件的扩展名是 .flp。 在 floppies/ 目录中包括了许多不同的映像文件, 随您安装的 FreeBSD 版本, 某些时候也随硬件的不同, 您需要使用的映像文件可能会有所不同。 您通常会需要四张软盘, 即 boot.flp、 kern1.flp、 kern2.flp, 以及 kern3.flp。 请查阅同一目录下的 README.TXT 文件以了解关于这些映像文件的最新信息。
重要: 您的 FTP 程序必须使用 二进制模式 来下载这些映 像文件。有些浏览器只会用 text (或ASCII ) 模式来传输数据, 用这些浏览器下载的映像文件做成的软盘将无法正常开机。
准备软盘
您必须为您下载的每一个映像文件准备一张软盘。 并且请避免使用到坏掉的软盘。 最简单的方式就是您先将这些软盘格式化, 不要相信所谓的已格式化的软盘。在 Windows 下的格式化程序不会告诉您出现多少坏块, 它只是简单的标记它们为 “bad” 并且忽略它们。 根据建议您应该使用全新的软盘来存放安装程序。
重要: 如果您在安装 FreeBSD 的过程中造成当机、 冻结或是其它怪异现象,第一个要怀疑的就是引导软盘。 请用其它的软盘制作映像文件再试试看。
将映像文件写入软盘中
.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/fd1 是 B: 驱动器,依此类推。其它的 UNIX 系统可能会用不同的的名称, 这时您就要查阅该系统的说明文件。
您现在可以安装 FreeBSD 了
重要: 默认情况下, 安装过程并不会改变任何您硬盘中的数据, 除非您看到下面的讯息:
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!在看到这最后的警告讯息前您都可以随时离开, 安装程序界面不会变更您的硬盘。如果您发现有任何设定错误, 这时您可以直接将电源关掉而不会造成任何伤害。
从电脑尚未开机开始说起
将电脑电源打开。刚开始的时候它应该会显示进入系统设置菜单或 BIOS 要按哪个键,常见的是 F2、 F10、Del 或 Alt+S。不论是要按哪个键,请按它进入 BIOS 设置画面。 有时您的计算机可能会显示一个图形画面,典型的做法是按 Esc 将关掉这个图形画面, 以使您能够看到必要的设置信息。
找到设置开机顺序的选项,它的标记为 “Boot Order” 通常会列出一些设备让您选择,例如:Floppy、 CDROM、First Hard Disk 等等。
如果您要用软盘安装,请确定选到 floppy disk; 如果您要用光盘安装,请选择 CDROM。为了避免疑惑, 请参考您的主板说明手册。
储存设定并离开,系统应该会重新启动。
如果您用软盘安装,请将在 第 2.3.7 节 一节中制作好的第一张引导盘,里面包含kern.flp boot.flp 文件的那张盘, 放入软盘驱动器中。
如果您是从光盘安装, 那么开机后请将 FreeBSD 光盘放入光驱中。
如果您开机后如往常一样并没有从软盘或光盘引导,请检查:
是不是软盘或光盘太晚放入面错失开机引导时间。 如果是, 请将它们放入后重新开机。
BIOS 设定不对,请重新检查 BIOS 的设定。
您的 BIOS 不支持从这些安装介质引导。
FreeBSD 即将启动。如果您是从光盘引导, 您会见到类似下面的画面:
Booting from CD-Rom... 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.01 Console: internal video/keyboard BIOS CD is cd0 BIOS drive C: is disk0 BIOS drive D: is disk1 BIOS 639kB/261120kB 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。 您只需从第一张软盘启动, 然后再需要时根据提示插入其他软盘就可以了。
不论是从软盘或光盘引导, 接下来都会进入 FreeBSD 引导加载器菜单:
您可以等待十秒, 或按 Enter。
从电脑尚未打开电源开始。
打开电脑电源并等待屏幕上出现开机提示信息。
如您需要制作用于安装的软盘,请参考 第 2.3.7 节, 将其中一张制作为第一片引导盘,其中包含 boot.flp。将这张软盘插进软驱, 并输入下列命令,以便从软盘启动 (请视实际情况修改命令中的软驱盘符):
>>>BOOT DVA0 -FLAGS '' -FILE ''
如果您要从光盘引导, 请将光盘放入光驱中然后输入下列命令开始安装 (请视情况修改命令中的光驱盘符):
>>>BOOT DKA0 -FLAGS '' -FILE ''
然后 FreeBSD 就会启动。如果您从软盘引导, 到某个阶段您会看到下面的信息:
Insert disk labelled "Kernel floppy 1" and press any key...
此时应按照提示取出 boot.flp 软盘, 换上 kern1.flp 软盘, 然后按 Enter 键。
不论从软盘或光盘引导,您都会看到下面这段信息:
Hit [Enter] to boot immediately, or any other key for command prompt. Booting [kernel] in 9 seconds... _
您可以等待 10 秒或是按 Enter 跳过。 之后就会进入内核设定菜单。
多数 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+A 或 Stop+A, 或者在串口控制台上发送 BREAK (例如, 在 tip(1) 或 cu(1) 中是 ~#) 以便进入 PROM 提示符。 它应该是类似下面这样:
okok {0}
![]()
这时, 将 CDROM 插入驱动器, 并在 PROM 提示符后面, 输入 boot cdrom。
前面屏幕显示的最后几百行字会存在缓冲区中以便您查阅。
要浏览缓冲区,您可以按下 Scroll Lock 键, 这会开启画面的卷动功能。然后您就可以使用方向键或 PageUp 、PageDown 键来上下翻阅。 再按一次 Scroll Lock 键将停止画面卷动。
在您浏览的时候会看到类似 图 2-2的画面。 真正的结果依照您的电脑装置而有所不同。
图 2-2. 典型的设备探测结果
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 和更高版本中, 在探测完系统设备之后, 将显示 图 2-3。 请使用光标键来选择国家或地区。 接着按 Enter, 系统将自动设置地区及键盘映射。 您也可以很容易地退出 sysinstall 程序并从头来过。
在主界面使用方向键选择 Exit Install 您会看到 如下的信息:
User Confirmation Requested
Are you sure you wish to exit? The system will reboot
(be sure to remove any floppies/CDs/DVDs from the drives).
[ Yes ] No
如果 CDROM 还留在光驱里,而且选择了 [ Yes ], 则安装程序将重新启动。
如果您是从软盘启动, 则在重启系统之前, 需要将 boot.flp 软盘取出。
sysinstall 是 FreeBSD 项目所提供的安装程序。它以 console(控制台)为主, 分为多个菜单及画面让您配置及控制安装过程。
sysinstall 菜单画面由方向键、 Enter、Tab、Space, 以及其它按键所控制。在主画面的 Usage 菜单有这些按键的说明。
要查看这些说明,请将光标移到 Usage 项目,然后 [Select] 按键被选择, 图 2-5,然后按下 Enter 键。
安装画面的使用说明会显示出来,阅读完毕请按 Enter 键回到主画面。
用方向键从主菜单选择 Doc 条目然后按 Enter键。
这将会进入说明文件菜单。
阅读这些说明文件很重要。
要阅读一篇文章,请用方向键选取要阅读的文章然后按 Enter 键。阅读中再按一下 Enter 就会回到说明文件画面。
若要回到主菜单,用方向键选择 Exit 然后按下 Enter 键。
如果要改变键盘按键的对应方式, 请在主菜单选取 Keymap 然后按 Enter 键。一般情况下不改变此项, 除非您使用了非标准键盘或非美国键盘。
您可以使用上下键移动到您想使用的键盘对应方式, 然后按下 Space 键以选取它;再按 Space 键可以取消选取。当您完成后, 请选择 [ OK ] 然后按 Enter 键。
这一屏幕只显示出部分列表。选择 [ Cancel ] 按 Tab 键将使用默认的键盘对应, 并返回到主菜单
选择 Options 然后按 Enter 键。
预设值通常可以适用于大部分的使用者,您并不需要改变它们。 版本名称要根据安装的版本进行变化。
目前选择项目的描述会在屏幕下方以蓝底白字显示。 注意其中有一个项目是 Use Defaults(使用默认值) 您可以由此项将所有的设定还原为预设值。
可以按下 F1 来阅读各选项的说明。
按 Q 键可以回到主画面。
您的第一个工作就是要分配 FreeBSD 用的硬盘空间以便 sysinstall 先做好一些准备。 为了完成这个工作,您必须先对 FreeBSD 如何找到磁盘信息做一个了解。
当您在系统上安装配置 FreeBSD 之前, 有一个重要的事情一定要注意,尤其是当您有多个硬盘的时候。
在 pc 架构,当您跑像 MS-DOS 或 Microsoft Windows 这种跟 BIOS 相关的操作系统的时候,BIOS 有能力改变正常的磁盘顺序, 然后这些操作系统会跟着 BIOS 做改变。这让使用者不一定非要有所谓的 “primary master” 硬盘开机。 许多人发现最简单而便宜备份系统的方式就是再去买一块一模一样的硬盘, 然后定期将数据从第一块硬盘复制到第二个硬盘,使用 Ghost® 或 XCOPY。所以,当第一个硬盘死了, 或者是被病毒破坏,或者有坏轨道, 他们可以调整 BIOS 中的开机顺序而直接用第二块硬盘开机。 就像交换硬盘的数据线,但是无需打开机箱。
比较昂贵,配有 SCSI 控制卡的系统通常可以延伸 BIOS 的功能来让 SCSI 设备 (可达七个) 达到类似改变顺序的功能。
习惯于使用这种方式的使用者可能会感到惊讶, 因为在 FreeBSD 中并非如此。FreeBSD 不会参考 BIOS, 而且也不知道所谓的 “BIOS 逻辑磁盘对应” 是怎么回事。这会让人感觉很疑惑, 明明就是一样的硬盘而且资料也完全从另一块复制过来的, 结果却没办法像以前那样用。
当使用 FreeBSD 以前,请将 BIOS 中的硬盘开机顺序调回正常的顺序, 并且以后不要再改变。 如果一定要交换硬盘顺序, 那请用硬件的方式, 打开机箱并调整调线。
注意: 如果不再做改变,数据将会写进硬盘。如果您犯了一个错误想重新开始, 请选择 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 键, 然后您就会看到一个列表列出所有在探测设备的时候找到的硬盘。 图 2-13 范例显示的是有找到两个 IDE 硬盘的情形,这两个硬盘分别为 ad0 和 ad2。
您可能正在奇怪,为什么 ad1 没有列出来? 为什么遗失了呢?
试想,如果您有两个 IDE 硬盘,一个是在第一个 Primary master, 一个是 Secondary master,这样会发生什么事呢? 如果 FreeBSD 依照找到的顺序来为他们命名,如 ad0 和 ad1 那么就不会有什么问题。
但是,现在问题来了。如果您现在想在 primary slave 加装第三个硬盘, 那么这个硬盘的名称就会是 ad1,之前的 ad1 就会变成 ad2。 这会造成什么问题呢?因为设备的名称 (如 ad1s1a)是用来寻找文件系统的, 因此您可能会发现,突然,您有些文件系统从此无法正确地显示出来, 必须修改 FreeBSD 配置文件(译注:/etc/fstab)才可以正确显示。
为了解决这些问题,在配置内核的时候可以叫 FreeBSD 直接用 IDE 设