容器技术交流

 找回密码
 立即注册
查看: 3560|回复: 2

第一章 FreeBSD简介 FreeBSD 6.0架设管理与应用

[复制链接]
发表于 2009-5-5 09:16:26 | 显示全部楼层 |阅读模式


近年来笔者在 FreeBSD 及 Linux 从事程序开发的工作,使用 FreeBSD 及 Linux 的经验也越来越多,对于 FreeBSD 系统的优越也越来越肯定。

笔者第一次接触 FreeBSD 是在刚进入大学时,由于对 UNIX 系统的兴趣,在网络上找了很多关于 UNIX 的介绍,最后在众多 UNIX-like 的系统中选择了 FreeBSD。当时我连 UNIX 最基本的指令都不会,在使用上也常遇到问题,但却不因此而放弃。

在遇到问题时,笔者第一步通常是到 BBS 上的 BSD 版上发问。在台湾有许多 FreeBSD 的使用者,他们都非常热心且乐意为新手解答。而现在,FreeBSD 在网络上的数据已经非常丰原富了,只要在搜寻引擎上输入您想查询的主题,一定能找到相关解答。

对于初学者而言,学习新的操作系统一定会遇到很多问题。但当这些困难获得解决时,就是一次新的成长。因此,当读者在使用 FreeBSD 遇到问题时,千万不因气馁,只要再加把劲,您也可以在 FreeBSD 世界中得心应手。

本书将带领读者从基本的系统使用、网络服务器架设、到深入系统管理所需的知识,并将笔者在管理公司及学校服务器的经验和读者分享,期望对有心学习 FreeBSD 的使用者有所助益。为了推广 FreeBSD,笔者也将本书全部内容放在网站上供大家参考,网址是 http://www.twbsd.org,本书的第二片光盘中亦包含了本书电子文件。提供电子文件的用意除了推广 FreeBSD 外,更希望有助于读者设定、操作、及使用。不过,请读者不要散布电子文件,若有需要,请上笔者网站上下载。

经过一年的漫长等待,FreeBSD 终于又释出最新的 6.0 版本了。FreeBSD 6.0 可以说是继 4.x 以后最稳定的分支。由于之前 FreeBSD 5.x 加入了许多新的功能,不论是稳定性或效能都比不上 4.x。然而 6.0 改善了 5.x 的稳定性,它可以说是 FreeBSD 近年来最重要的一次更新。因此,其释出的时间也一再延期,最主要的目的就是要提供使用者一套好用的操作系统。

感谢许多朋友对于笔者之前 FreeBSD 系列书籍的指正与厚爱,祈盼各界继续支持指教。

王俊斌

2005 年 11 月

[ 本帖最后由 zhxedu 于 2009-5-5 09:25 编辑 ]

FreeBSD 6.0架设管理与应用.part1.rar

1.39 MB, 下载次数: 2418

FreeBSD 6.0架设管理与应用.part2.rar

1.39 MB, 下载次数: 2316

FreeBSD 6.0架设管理与应用.part3.rar

1.39 MB, 下载次数: 2300

FreeBSD 6.0架设管理与应用.part4.rar

213.01 KB, 下载次数: 2199

 楼主| 发表于 2009-5-5 09:17:42 | 显示全部楼层
第一章 FreeBSD 简介

1.1 什么是FreeBSD?

我想大家都知道 Microsoft Windows 是一套操作系统,FreeBSD 也是一套操作系统。FreeBSD 是一个可以在 Intel 兼容个人计算机、DEC Alpha 或 PC98 架构的计算机上执行的 UNIX 操作系统。大家应该听过另一套UNIX的操作系统 Linux,FreeBSD 也是一套免费的操作系统。它可以让我们的个人计算机变成先进的工作站,更稳定的提供你所需的网络服务。

BSD UNIX 系统可以说是网络操作系统的始祖,FreeBSD 是众多 BSD UNIX 分支中的一个,它继承了 BSD 系统的高性能与可靠性。自从1993 年 FreeBSD 推出 1.0-RELEASE 以来,FreeBSD 开发团队便致力于系统的调校,使其发挥绝佳的效能。在 FreeBSD 团队的统筹努力下,使它比起其它免费的 UNIX 操作系统更有结构。在 FreeBSD 上有许多支持的免费软件,这些软件大都已移植收录于 FreeBSD ports 中,使得我们在安装软件时变得十分轻松。FreeBSD 支持 32 位、64 位的许多不同平台,具有高效能核心架构、动态函式库共享、绝佳的网络功能,比起其它商用 UNIX 系统毫不逊色。

FreeBSD 操作系统相当容易取得及安装,除了经由传统的光盘安装外,它也可以经由网络安装、MS-DOS 分割区安装等等。当然,我们也可以在计算机中同时安装多种不同的操作系统,例如 Windwos 98 和 FreeBSD 同时并存也是件十分容易的事。

在 FreeBSD 上的应用软件相当的多,也都可以免费取得,由于 FreeBSD 的稳定性高且功能强大,因此许多大型网站都以它为作业平台,其中最知名的就是 YAHOO!。YAHOO! 是一个流量相当大的入口网站,他们选择以 FreeBSD 为作业平台,由此可知 FreeBSD 的优异性。除此之外,在台湾,FreeBSD 普遍被应用于学术网络上,许多大专院校的服务器都是使用 FreeBSD 来提供网络服务。

但是您别以为 FreeBSD 只能用来做为网络服务器,FreeBSD 也可以是一个良好的个人操作系统。事实上,Mac OS X 就是使用 FreeBSD 做为系统核心。大家都知道 Mac OS 是个人计算机上有名的操作系统,它会使用 FreeBSD 做为系统核心,可见 FreeBSD 的品质亦深获 Apple 的肯定。

在宽频网络逐渐普及的台湾,每个人都可以自行架设一台网络服务器,以 FreeBSD 来提供网络服务(如网页、邮件、档案存取等)。值得一提的是 FreeBSD 并不像 MS-Windows 一样每每要求使用者升级计算机才能使用。FreeBSD 对于硬件的要求很低,你可以用一台 Intel 586-133MHz 的旧计算机来安装 FreeBSD,这也算是癈物利用吧。

1.2 为什么要选择FreeBSD?

现在的个人计算机操作系统市场中,是以 MS-Windows 独大,但在网络服务器市场中,UNIX 系统的使用率可不输 MS-Windows 喔。我个人认为 MS-Windows 之所以会有那么多的使用者主要是因为他的使用者接口对初学者而言较容易操作,再加上许多软件的配合及盗版的助长,安装软件只要一直按下一步就完成。使得使用者即便它的稳定性不高也得乖乖的接受。

其实初学者没有试过其它的操作系统才会有这样的误解,因为一直用 MS-Windows 才会认为当机是无可避免的事,当机对于 MS-Windows 或许是无可避免,但在其它 UNIX 系统中可不常见。在 UNIX 系列的操作系统中,也可以有像 MS-Windows 的图形接口,几乎所有在 MS-Windows 上可以做的事,在 FreeBSD 上都可以做得到,唯一的不同点是你不必花钱去取得你想要的功能。包括排版、图形处理、MP3、多媒体、网络芳邻等等都可以在 FreeBSD 中做到。

重点是,对于一台网络服务器而言,图形接口会占用系统资源,而且必须安装一堆有的没的软件。笔者偏好干干脆净净的系统,而 FreeBSD 正好具有这个优点。不过这并不代表您不能使用图形接口,您还是可以安装类似 Windows 的图形接口,让您使用它来做为平日使用的个人计算机。此外,FreeBSD 把自己定位为最佳的网络服务器,它承袭了 BSD 优良的网络血统,在提供服务时能有绝佳的效能表现。而且,它是免费的。

然而,有这么多的免费 UNIX 操作系统中,为什么要选择 FreeBSD 而不使用其它操作系统(如 Linux )呢?在网络上在讨论这个问题时,每每会引发每个操作系统使用者的激辩。对于要使用何种操作系统,除了使用者偏好外,还有许多指标可以提供我们参考。

FreeBSD 是一套完整的操作系统

我们平常所说的 Linux 指的是它的核心 (Kernel),Kernel 只是整个操作系统的一部份,除了 Kernel 外,我们还需要一些基本的指令、系统及目录架构、图形接口等。Linux 的 Distribution 就是各个不同的组织或公司自行收集一些系统必备的程序,制作出一个操作系统。Linux 系统有很多的 Distribution,如 Redhat、SUSE、Debian 等。因为每个 Distribution 都有自己的程序或架构,所以每个 Distribution 都长的不一样。如果您使用的是 Linux,在 Linux 三十多种 Distribution 中,每一种之间都有些许差异,在设定上用法都不同。

而 FreeBSD 指的不只是核心而已,它是一套完整的操作系统。从系统核心到使用者接口、各种常用指令都是由 FreeBSD 总部所统一推出。因此,FreeBSD 每一个版本之间有着共同的架构,不同软件之间的整合搭配性较为完整,不管是设定、学习都很容易。

由核心团队统筹开发

FreeBSD 整个系统都是由总部的核心团队所维护,所以整个系统都搭配得很好。而 Linux 只有 Kernel 由 Linus Torvlds 所维护。因为 FreeBSD 整个系统都是由总部所开发,不只系统整体较有规划,各个程序之间搭配起来也比较紧密。如果您使用 Linux,由于 Kernel 和其它的程序是由不同组织所维护,在升级时,比较麻烦。而 FreeBSD 就简单多了,每次一有新的版本,一定是整个系统一起升级。

我觉得 FreeBSD 总部统筹发展 FreeBSD 是一件很棒的事,所有的问题回报都可以统筹管理并予以更新。FreeBSD 推陈出新的速度相当快,每一次安装都确保这个版本不会有上一版的缺失。所以在 Linux 或 MS-Windows 中「新版本不一定是最好」的定律并不适用于 FreeBSD。但这并不意味着你必须不断重新安装系统,FreeBSD 总部随时会发布最新更新的档案提供下载,而且如果使用 CVSUP 就可以和更新版的 FreeBSD 保持同步更新。

完整的使用手册

FreeBSD 的使用手册非常完整,而且会随着软件一起更新。每次一有新的版本推出,FreeBSD 的文件也会做相对的更新。在 FreeBSD 的官方网站上,我们可以轻松的取得这些高品质的手册及文件。

软件安装的便利性

FreeBSD 支持的软件相当多,它将常用的软件分类管理,当需要安装软件时,使用者不必自行到网络上找寻,只要到 FreeBSD ports 目录中下个指令就安装完成。

条理分明的系统架构

FreeBSD 目录结构非常有组织,结构严谨,对于系统管理者而言比较不会紊乱。FreeBSD 将系统预设的目录和管理者自行安装的程序目录划分得十分清楚,管理者在进行升级、维护时可以一目了然。

完美的程序开发平台

安装完 FreeBSD 后,系统所有程序原始码非常有条理的存放在特定目录中。对于想要进行程序修改的管理者而言,不必四处寻找某支程序原始码。笔者在 FreeBSD 及 Linux 上开发程序多年,我觉得 FreeBSD 原始码及系统架构十分有组织,是程序开发最好的平台。

而且 FreeBSD 的版权较为宽松,对于想要以 FreeBSD 为基础开发产品的公司而言,它可以保护您的修改不会被其它对手抄袭。

1.3 为什么不选择FreeBSD?

许多企业选择使用目前大多数人使用的 MS windows 做为一般作业用个人计算机的操作系统当然无可厚非。但以 MS windows 做服务器,除了信息人员的偏好外(或许因为不会使用其它系统吧),还有部份原因是为了在企业内信息人员技术不足时,能求助于系统供货商。而 FreeBSD 是免费的,企业也害怕有状况时无人可以支持,这对企业是很重要的一项因素。

然而,FreeBSD 的使用人数其实很多,而且使用者都十分热心,在台湾的 BBS 讨论区上,许多问题都可以获得解决。这当然还不够,现在有很多顾问公司提供 FreeBSD 的顾问服务,可以提供企业这方面的服务。虽然说 FreeBSD 的系统稳定,但在应用上如果没有信息人员的支持,很难能在企业中存活。但正因市场上了解 FreeBSD 的人较少,若我们能主动学习,必能为自己创造更多价值。

FreeBSD 目前支持的平台不多,若您不是使用 X86 的系统,而是使用 ARM、MIPS 等平台,您就必须寻求其它的解决方案。

1.4 FreeBSD的版本命名规则

FreeBSD 每出一个新的版本都是以 FreeBSD A.B.C-TAG 来作为命名的方式,例如 FreeBSD 5.4-RELEASE 或 FreeBSD 5.2.1-RELEASE。

A-主要版本编号
B-次要版本编号
C-修正版本编号
TAG-名称标签,如 RELEASE、STABLE、CURRENT 等
世界各地活跃的高手们组成 Core Team 对系统原始程序代码做开发和维护,几乎系统原始程序代码每天都会有新版本和修正除错。系统工具程序、驱动程序等等,例如 Ports 内的程序版本也常常更新。FreeBSD 的 Core Team 为了兼顾发展新功能和稳定性,所以将原始码进入稳定阶段,就会建立一个新的分支,并在新的分支上加强稳定性及效能。所有新的功能会先在 Current 上进行开发,有必要才会放到稳定的分支中。图 1-1 即为目前 FreeBSD 原始码版本结构简图:

图 1-1

ch01_01.png


在 FreeBSD 在开发时有一个实验性的版本,以开发新功能为主,称为 CURRENT ,这是主要的分支。当 CURRENT 进入稳定的阶段后,会分支出一个 STABLE 的 Branch,目前 5.x 系列就是一个还在维护的分支。FreeBSD 4.x 分支自从 4.11 之后应该不会再推出新的版本了,以后 STABLE 版将以 5.x 为主。FreeBSD 正式发行的版本称为 RELEASE 版本,推出RELEASE之后会不断的更新该版本以力求稳定性,称之为 STABLE。以 FreeBSD 5.x 为例,自从 Current 开发到 5.3 时,因为品质已经十分稳定,因此产生新的分支,以后 5.x 就会在此分支下开发,而一些新的功能或是实验性质的程序会被放到 Current 中。

在 FreeBSD 在 5.x 中加入了设多新的功能,在系统架构上有许多新的变革,使用了许多新的技术,而这些新的技术经过 5.0、5.1、5.2、5.3-RELEASE 的淬炼后,功能上已十分稳定。而 FreeBSD 4.11 是 4.x 最后的版本,如果您十分保守,或是您所要跑的软件只支持 4.x,历史悠久的 FreeBSD 4.x 也是不错的选择。我们以下列出 FreeBSD 5.x 和 4.x 主要的差异供读者参考:

SMPng (Symmetric MultiProcessor next generation) 对多颗 CPU 的支持有更好的效率。
对于新硬件的支持更完整。例如支持蓝芽、32 bit 的 PCMCIA 等。FreeBSD 5.x 使用不同的方式管理硬件装置,日后对于新的硬件支持应该会比较迅速。
更进步的档案系统功能。FreeBSD 一项最大的弱点就是缺乏一个比较好的档案系统格式,但 5.x 新增了一些新的功能改善即有的档案系统。例如 background fsck,可以让不正常关机后的系统可以更快速进入正常运作。FreeBSD 5.x 使用 UFS2,它支持更大的档案及更多档案属性。另外,还有 snapshot 功能,可以让我们对档案系统进行快照,保留某一时间的档案内容。
支援 kernel thread,FreeBSD 5.x 的 KSE (Kernel scheduled Entities) 让我们可以拥有 kernel mode 的多重执行绪。这项功能对于一些大型系统效率 (如使用 Apache 2 或支持多执行绪的数据库) 有明显提升。
FreeBSD 4.x 发展到最后,可以说是一套最稳定的操作系统,而由于 5.x 加入了许多新的功能,在稳定性方面略逊一筹。为了改善 5.x 的稳定性及效能,FreeBSD 很快就推出 6.x 系列。6.x 的主要目的是改善 5.x 的稳定性及提升系统效能,在功能上不会有太多的不同。所以,目前选用 6.x 应该是最好的选择。

1.5 如何取得FreeBSD?

FreeBSD 可以经由免费取得,我们可以自各大 FTP 站台下载 ISO 档,自行烧录成光盘来安装,也可以透过 FTP 站台以网络安装。国内对 FreeBSD 收集最知名的应该是交大资工,如果您要下载 ISO 档的话,可以在该 FTP 站台中的 ISO-IMAGE 目录中找到。以交大资工而言,ISO-IMAGE 通常放在 /pub/releases/i386/ISO-IMAGES/。我们一般的 PC 都是属于 i386 的架构,所以您在 i386 目录下看到一堆不同版本的 STABLE 及 RELEASE 都是你可以下载安装的版本。

交大资工(ftp://freebsd.csie.nctu.edu.tw)
中央资工(ftp://freebsd.csie.ncu.edu.tw)
和信超媒体(ftp://ftp.giga.net.tw)
还有许多 ftp1.tw.freebsd.org 到 ftp9.tw.freebsd.org 都是在台湾的mirror站台
1.6 如何得到更多信息?

笔者网站有本书所有内容及一些关于 FreeBSD 的文章。除此之外,FreeBSD 的使用者众多,且十分热心,在国内外有许多高手们将自己的经验开放给使用者参考。以下即为部份 FreeBSD 的站台。

中文站台

笔者的 twbsd.org (http://www.twbsd.org)
FreeBSD Chinese HOWTO(http://netlab.cse.yzu.edu.tw/~statue/freebsd/)
蓝色泡泡的OHAHA (http://ohaha.ks.edu.tw)
大南国小的FreeBSD (http://freebsd.lab.mlc.edu.tw/)
FreeBSD 使用大全 (http://tech.sina.com.cn/focus/FreeBSD/index.shtml)
英文站台

FreeBSD总部 (http://www.freebsd.org)
FreeBSD Handbook (http://www.freebsd.org/doc/)
BSD Forum (http://www.bsdforums.org/)
Fresh Ports (http://www.freshports.org/)
ONLamp.com:FreeBSD Basics (http://www.onlamp.com/bsd/)
1.7 本书光盘使用说明

本书附有二片随书光盘,第一片光盘为 FreeBSD 6.0-RELEASE 安装光盘,第二片为本书所需的所有软件及笔者设定文件的范例。
光盘二档案说明:

文件名称 说明
/book/ 本书全文的电子文件。
/examples/ 存放笔者的设定文件及一些范例程序。
/examples/etc/ 笔者 /etc/ 目录下的设定文件。
/examples/adduser.tar.gz 大量新增账号程序。
/mailserver 此目录含有快速安装 mail 所需的档案及程序。
/wintools/ MS Windows 下的工具。
/wintools/putty.exe 在 MS Windows 下好用的 SSH 联机软件。
/wintools/WinMD5.exe 检查 MD5 的工具。

当您要以光盘安装 FreeBSD 时,请使用光盘一来开机。系统安装完毕后,您可能会安装一些可以在 FreeBSD 上使用的软件。当我们使用 FreeBSD ports 安装软件时(参考「软件安装」一章的说明),它会先检查计算机中是否也有该软件的原始文件,如果没有则将自动从网络下载。

[ 本帖最后由 zhxedu 于 2009-5-5 09:18 编辑 ]
 楼主| 发表于 2009-5-5 09:20:19 | 显示全部楼层
第二章 安装 FreeBSD

在开始安装 FreeBSD 之前,我们会先介绍一下 FreeBSD 的取得及一些安装前必须知道的知识。读完本章后,我们将可以了解下列主题:

如何取得 FreeBSD。
FreeBSD 硬盘的使用及配置。
如何规划硬盘空间。
如何从 CD-ROM 或网络安装 FreeBSD。
2.1 安装前需知

2.1.1 如何取得FreeBSD

在这里我们只介绍二种较常使用的安装方式,即利用光盘安装与经由网络安装。如果要利用光盘安装,可以使用本书所附之第一片光盘,其版本是 6.0-RELEASE。或者您也可以到国内各大学的 FTP 站台取得 FreeBSD 的 ISO 文件来烧成光盘。国内对 FreeBSD 收集最知名的应该是交大资工,如果您要下载 ISO 档的话,可以在该 FTP 站台中的 ISO-IMAGES 目录中找到。以交大资工而言,ISO-IMAGE 通常放在 /pub/releases/i386/ISO-IMAGES/。我们一般的 PC 都是属于 i386 的架构,所以您在 i386 目录下看到一堆不同版本的 RELEASE 都是可以下载安装的版本。所有的 Release 版本都会任成可以直接烧录于光盘的 ISO 文件,有时在 ISO-IMAGES 目录中有许多档案,例如 6.0-RELEASE-i386-disc1.iso 、6.0-RELEASE-i386-mini.iso,那个 disc1.iso 就是我们要下载的档,而 mini.iso 也是可以用来安装的档案,只是没有一些常用的 packages ,所以档案较小。以下为各主要 FTP 站台的网址:

交大资工(ftp://freebsd.csie.nctu.edu.tw)
中央资工(ftp://freebsd.csie.ncu.edu.tw)
和信超媒体(ftp://ftp.giga.net.tw)
下载时您会发现该目录中有一个档案叫做 CHECKSUM.MD5,这是一个文字文件,用来检查下载的档案是否正确,您可以使用 FreeBSD 下的指令 md5 来检查计算出来的结果和 CHECKSUM.MD5 中的记录是否相同,也可以使用 WinMD5 这个工具,在 MS Windows 计算。WinMD5 可以在本书所附光盘二的 wintools 目录下找到。下载 ISO 档后,把扩展名 .iso 改成 .nrg 后,再用 NERO 以烧录映像档方式,将该档案烧录成光盘,该光盘即具备光盘开机的能力。详细的光盘烧录方式,请参考本书附录 C 的说明。

如果您要以网络安装的话,必须先做开机片,当然,您也可以使用类似版本的光盘来开机,再更改一些设定以安装最新版本的 FreeBSD。要制作开机片,必须先到上述 FTP 站中下载下列档案到 MS Windows 端:

FreeBSD 5.x 以后:

pub/tools/fdimage.exe
pub/releases/i386/6.0-RELEASE/floppies/kern1.flp
pub/releases/i386/6.0-RELEASE/floppies/kern2.flp
pub/releases/i386/6.0-RELEASE/floppies/boot.flp
FreeBSD 4.x:

pub/tools/fdimage.exe
pub/releases/i386/4.11-RELEASE/floppies/kern.flp
pub/releases/i386/4.11-RELEASE/floppies/mfsroot.flp
上面的各个目录可能依 FTP 站台的不同有点变更,不过基本上 fdimage.exe 一定在 tools 的目录下,而另外二个档案一定在想要安装的版本目录下的 floppies 目录中。上面目录中的 6.0-RELEASE 是您想要安装版本的目录,您可以更改为想要的版本。下载完后,准备三张磁盘 (FreeBSD 4.x 只要二张磁盘),在 DOS 模式下 (Windows XP/2000 请执行在 [开始]->[执行] 输入 cmd 以进入命令列)执行下列指令以制作开机片。

如果您使用 FreeBSD 5.x 以后的版本:

c:>fdimage -f 1.44M kern1.flp A:
c:>fdimage -f 1.44M kern2.flp A:
c:>fdimage -f 1.44M boot.flp A:
如果您使用 FreeBSD 4.x:

c:>fdimage -f 1.44M kern.flp A:
c:>fdimage -f 1.44M mfsroot.flp A:
第一个指令完成后,第一张磁盘就做好了,别忘了要先换第二张磁盘后再下第二个指令,如此即完成开机片的制作。

2.1.2 硬盘分割表的概念

在 DOS/Windows 系统中,分割硬盘时,有一个主要扇区 (Primary partition)、一个延伸扇区 (Extended partition),延伸扇区中再去分割成许多的逻辑扇区 (Logical partition)。在 Windows 系统中,每一个扇区会被分配一个磁盘驱动器代号,例如, C:、D: 等。

在 FreeBSD 中,硬盘扇区并非以 C:、D: 等方式分配,而是将扇区挂入目录下。例如,系统中会有一个根目录 (/) 是系统的主要目录,我们会将一个扇区挂在根目录下,根目录就好像是 C: 一样。在根目录下有很多目录,例如 /home 这个目录对于 FreeBSD 而言,就好像是 Windows 的 「Documents and Settings」 目录一样。在 /home 中会有许多使用者的目录,例如 /home/alex、/home/john 等。我们可以让 /home 使用另一个硬盘的分割区,也就是说,如果您有一个 40 GB 的硬盘,您可以将它切割成二个扇区,第一个扇区做为系统根目录,而另一个扇区专门用来存放使用者数据。

在FreeBSD 中切割硬盘的方式和 Windows 也不太一样。我们会将硬盘先切出一块主要扇区 (slice),再细分为许多分割区 (partition),做为档案目录或虚拟内存。以我的计算机为例,我有二颗IDE硬盘,在 FreeBSD 中的代号分别为 ad0 及 ad1。在第一个硬盘中,我有一个 DOS 系统及 FreeBSD 操作系统,这二个硬盘我分别再分割为许多分割区做为不同用途,因为的硬盘中有 DOS 系统已用去了一个主要扇区的话,那么您看到第一个主要扇区是 s2。举例说明:

分割区名称 说明
ad0s1 ad0 代表第一个硬盘,s1 是第一个主要扇区,我放 MSDOS。
ad0s2a s2 代表第二个主要扇区,最后一个 a 在传统上是指根目录。
ad0s2b b 在传统上是指 swap 虚拟内存。
ad0s2d /usr
ad1s1d /home
ad1s1e /var

我将第一个硬盘 ad0 分割成二个主要扇区,一个是给 Windows 使用 (ad0s1),另一个是 FreeBSD 使用 (ad0s2)。而在 ad0s2 中,我又细分为三个分割区:ad0s2a、ad0s2b、及 ad0s2d。分割区名称代号最后一个 a 在传统上是指根目录,所以根目录的名称都会是代号 a;而 b 在传统上会被用在 swap 虚拟内存;c 是指整个主要扇区;而 defgh 等是我们可以任意使用的。所以您可以看到我的第二个硬盘,因为只有一个主要扇区,所以代号开头都是 ad1s1,而上面有二个分割区,分别用来做 /home 及 /var,由于这二个分割区不是根目录或 swap,所以代号从 d 开始。

图 2-1



在一般 Windows 系统中,我们常看到 C:、D: 等不同的磁盘驱动器,而在 UNIX 系统中,并没有这种磁盘驱动器的观念,所有切割出来的磁盘空间都会被指定挂入某个目录,日后我们要存取该存碟时,就是透过这个目录来存取。以上表为例,我们的第二颗硬盘分割成二个扇区,其中一个扇区被挂入 /home 这个目录下,安装完成后,所以存放在 /home 下的档案都会被放到第二颗硬盘上。

2.1.3 硬盘空间的配置

要分割成多少个 partition 见仁见智,您可以把任何目录都独立成一个 partition (我想没人这样做),如果 partition 分割成很多个的话,可能因为分割不良而造成日后有的扇区空间满了,而有的扇区完全没用到;如果分割成很大,档案都在同一个分割区上,当机时档案遗失的机会比较大。

因为每一个分割区都是一个独立的档案系统,在一个档案系统上,我们可以分别设定不同的属性。如果不同的目录要设不同的参数的话,就要分割成不同的扇区,这样一来我们就可以针对不同的扇区设定不同的属性。例如当要架设 BBS 或 News server 时,由于这类的服务器所使用的档案都比较小,所以 inode 会设比较多。所谓的 inode 是用来存放档案及目录的基本信息,包含时间、文件名、使用者及群组等。在分割扇区时,系统会先做出一堆 inode 以供以后使用,inode 的数量关系着系统中可以建立的档案及目录总数。如果要存的档案大部分都很小,则同样大小的硬盘中会有较多的档案,也就是说需要较多的 inode 来挂档案及目录。如果 inode 满了而硬盘未满的话还是不能存档案。就好像是有一面墙(硬盘),上面有很多勾子 (inode) 可以挂衣服(档案)。如果勾子少,则彼此的空间大,衣服大件一点的话很好,小件的话就会很空,浪费墙的空间。反之,如果勾子多则可以多挂点衣服,不过勾子也是会占空间的,而且太多的 inode 会降低硬盘存取的效率。

如果不同目录写入的频率不同,我会把较常写入的目录独立出来,才不会影响其它档案。又如果有多颗硬盘,我也会平均分配每个硬盘的使用频率,利用分割的技巧来平均配置不同的目录。甚至有的目录我们只希望以只读的方式挂入,也必须使用一个独立的分割区。

最简单的分割方式就是一个根目录和一个 swap,这样就不会造成分割不良的浪费,不过这样当不正常关机时,挡案毁损的机会也大。以下为我一颗 40GB 硬盘的分割方式供大家参考:

目录 大小 用途
/ 1 GB 根目录,放开机必备文件,包含/bin、/etc、/sbin、/root.....等。
swap 512 MB 虚拟内存。在很久以前,RAM 的价格十分昂贵,所以许多系统都会使用硬盘来做虚拟内存 ,让系统在物理内存用完后,依然有内存空间可以用。FreeBSD 对于虚拟内存的管理建议至少设为物理内存的二倍,因为系统核心在管理内存时,在这种设定下最有效率。也就是当您只有 128 MB RAM 时,建议您至少建一个 256 MB 的虚拟内存。不过现在的 RAM 动不动就是 512 MB,甚至 1GB,一般在使用时就已经很少会用到虚拟内存了。所以为建议,如果您的 RAM 在 256 MB 以下,可以建一个 256 MB 的虚拟内存。而 RAM 在 512 MB 以上,如果您的硬盘空间实在很小,系统上跑的程序也不多,您可以将 Swap 设小一点。我的 BBS 站有一百多人使用,内存有256MB,设 512MB 的 Swap 用都没用到。我们会在档案系统管理一章中做更详细的说明。
/usr 10 GB 放执行档、设定档等,日后安装的软件都会放在这里,所以要大一点。如果要安装X Window的话,至少要有 7 GB,因为在安装过程中,编译时会用去很大的空间,安装完清除暂存档后大概还是需要 3GB 吧。如果不安装 X Window,只当服务器用的其它数据又位于另一个独立的分割区,则 /usr 2GB 一定足够。
/tmp 1 GB /tmp 是许多程序的暂存区,其权限通常是所有使用者都可以读写,而且这个目录写入频繁,所以我将它独立出来。如果您的服务器上所执行的程序会用到大量的暂存空间,您可以切大一点。您也可以将 /var/tmp 也独立分割一个扇区,因为像 /tmp 及 /var/tmp 这二个目录都是一般使用者可以写入的地方,如果使用者在里面放大量档案而造成磁盘空间满了,会影响原本的系统运作 (例如必须用到 /var/log、/var/mail、及 /var/spool 的邮件服务器等)。
/var 5 GB 这是放使用者信件、寄信时暂存区及一些系统记录(log) 的地方,如果信都不大、使用者不多,设成 100MB 也没关系,如果要做邮件服务器的话,就设大一点吧。使用者新进的信件都会放在 /var/mail 目录下,您也可以将这个扇区独立出来,并在这个扇区上设定限制使用者磁盘空间配额。
/home 22 GB 这里是放使用者的目录,我通常把网页都放在这里。这个分割区会被用来存放使用者的数据,所以我将剩下的空间都给 /home 使用。如果您没有分割出 /home 这个扇区,/home 这个目录将使用 /usr 的扇区。



小提示
如果您有多颗硬盘,建议您可以将数据放在独立的一颗硬盘,例如将 /home 分割在另一个硬盘上。这样一来,日后升级时,由于数据在独立的分割区,我们只要把该分割区挂入即可。



2.1.4 多重开机

FreeBSD 本身就支持多重开机,如果您想在计算机中安装不同的操作系统,例如同时安装 Windows 98 及 FreeBSD 的话,请先安装 Windows 98 再安装 FreeBSD。在安装 FreeBSD 时,可以选择使用 FreeBSD 内定的多重开机程序,也可以安装您喜欢的多重开机软件。FreeBSD 的多重开机就只有二行字,画面比较简单,但是安装容易,不需做额外的设定。如果您对于这种画面不满意,您可以使用其它多重开机软件在安装完 FreeBSD 后再在 Windows 98 下设定多重开机。

顺道一提,如果您使用了 FreeBSD 或是其它的多重开机, 日后要移除多重开机管理员时只要在 MS-DOS 下执行下列指令即可:

c:\> fdisk /mbr
2.2 系统安装

2.2.1 开机

如果使用光盘开机的话,只要放入本书的第一张光盘,就会进入设定核心的目录选单,记得要先在 BIOS 中设定可以光盘开机。

如果使用磁盘开机的话,放入安装前须知中制作的磁盘,FreeBSD 5.x 以后一共有三张磁盘,先放入 kern1.flp 那一张,再依序放入 kern2.flp 及 boot.flp。如果是 FreeBSD 4.x,请先放入 kern.flp,读完之后会出现一个讯息,要您放入 mfsroot 那一张磁盘,这时候就拿出 kern 那一张再放入 mfsroot 那一张磁盘后,按 enter 就可以继续开机了。

小提示
请记得先在 BIOS 中设定使用光驱或软盘机做为第一个开机来源,这样我们才可以进入 FreeBSD 的安装喔。一般进入 BIOS 设定的方式是按 <Del> 或是 <Ctrl>+<Alt>+<Esc>,或是 <F10> 等,请参考您主机版的使用手册以得知正确设定方式。



2.2.2 设定核心

如果您使用 FreeBSD 5.x 以后的版本,系统一开机时会先出现一个选单:

图 2-2



请直接按 Enter 即可进入开机模式。如果您使用的是 FreeBSD 5.x 以后的版本,请直接跳到 2.2.3 小节;如果您使用 FreeBSD 4.x,开机完后会出现下列的画面:

图 2-3



这时候您可以选第一个跳过 kernel configure,也可以选第二个来设定核心。我通常第二个,因为有些硬件的驱动程序间会相冲,例如我的 SCSI 卡就不能选第一个直接进入,必须先移除其它的 SCSI 卡驱动程序。好吧,就选第二个 「Start kernel configuration in full-screen visual mode.」

图 2-4



在这里分成上下二个窗口,最上面的 Active-Drivers 是您要使用的驱动程序,下面是您移除的。如果在上面移除的话,就会跑到下面来。您可以用 [TAB] 键在二个窗口中移动,使用 [DEL] 键来删除设备。在这里只要设定 Storage 及 Network 的选项即可。设定完后按 Q 存档离开。

如果您的 SCSI 卡都是 PCI 接口的话,您可以把 Storage 中所有出现 SCSI 的选项都按 [DEL] 来删除,因为 PCI 的装置都是即插即用,都自动抓得到。其它设备网络卡等也都是这样,在 Network 选项中,里面的设备都是给 ISA 接口用的,如果您的是 PCI 的网络卡的话,就把它们都删了吧。如果您的设备有 ISA 接口的话,而您又不知道自己的设备是哪一个,就把它们都留着。

在 Storage 选项中,有 IDE 硬盘及软盘机用的设备,请不要把它们删除,最后的 Storage 选项至少应有下列图 2-5 所示的三个:

图 2-5



完成了上面的步骤,就可以按 Q 离开了,画面会出现:

Save these parameters before exiting? ([Y]es/[N]o/[C]ancel)
按 Y 就可以离开,进入下一个步骤。这时候系统会一直跑,继续开机的动作,最后会到一个蓝色画面。

2.2.3 开始自订安装

完成了开机后,会出现一个蓝色画面,这个画面日后您可以在 /stand 目录中,使用指令 sysinstall 去叫出这个安装时的画面。当开机进入蓝色画面时,您可以按 ALT+F2 来看除错信息,看一下是不是有硬件没有安装进来,由于 kernel 中只有安装时要用到的硬件才会驱动,所以如果没有抓到声卡的话也没关系。要回到蓝色画面就按 ALT+F1。

图 2-6



我们选择第四项 Custom 来自订安装。请使用上下键来选择,并以空格键来确定进入。如果要把光棒从 Select 移到 Exit Install 的话,请使用左右键来移动。进入 Custom 后会出现下列画面:

图 2-7



如果您所使用的开机片并不是您想要安装的版本的开机片的话,您要先选第二项 Options 进去修改 Release Name 的部份,否则就可以略过这一步,直接选 3 Partition 来选择要安装 FreeBSD 的硬盘扇区。

2.2.4 分割硬盘

进入 Partition 选单时,如果您有二颗以上的硬盘,首先会出现硬盘选单,如图 2-8 所示:

图 2-8



您会看到上面的图,我们之前说过 ad0 是第一个硬盘,而这里的 ad2 是指第二个硬盘排线的第一个硬盘(master disk on the second IDE controller)。把光棒移到您要使用的硬盘,再按空格键进入即出现下面的画面。如果二个硬盘都要使用,等一下分割完第一颗之后再来设定第二颗。

图 2-9



在图 2-9 中,光棒所指的就是未使用的空间,如果您这个硬盘只要给 FreeBSD 使用的话,您可以直接按 A 使用整个硬盘。如果您有 DOS 分割区的话,应该会出现一列是 fat 的扇区。

我们把光棒移到 unused 的地方,按 C 来建立扇区,它会问您要使用多大的空间,您可以输入 10000M 代表 10000 MB 也就是 10 GB 。接着按 Enter 键,它会问您 TYPE ,预设是 165 ,这是 FreeBSD 档案系统代号,请直接按 Enter 就可以了。好了之后再对着刚设定好的 freebsd 扇区按 S 设定为可以开机,如果没有设定也没关系,FreeBSD 会自动将它设定可开机。最后按 Q 离开画面。离开后会出现下列画面:

图 2-10



上图是问您要使用哪一种开机管理员,如果要使用其它操作系统,您可以使用 FreeBSD 的多重开机管理员,即选择第一个 BootMgr 选项。如果要使用其它多重开机管理员就选 None,不过这样一来如果没有安装其它多重开机管理员便无法使用 FreeBSD 开机。如果您的计算机中只有 FreeBSD 这个操作系统,就选中间这一个 Standard。我只要使用 FreeBSD ,并没有其它操作系统,所以我选 Standard。选完后会回到刚才的硬盘选单,如果您还有其它的硬盘要加入的话,您可以选其它硬盘重复刚才的步骤,如果要加入的是 DOS 的硬盘,只要选择进入后,什么都不做,直接按 Q 离开即可。当所有的硬盘都设定好了,回到硬盘选单时,按 Cancel 离开选单,回到自订安装选单。

回到自订安装选单后,选第 3 个 Lable 进入 Disk Lable 编辑。即图 2-11 的画面:

图 2-11



我们之前在安装前的须知中说过关于扇区的分割方式及大小配置,您可以直接按 A 自动配置,不过这样出来的结果可能不是我们想要的。所以我们手动来做吧,最上方蓝色光棒的位置就是您现在要分割的硬盘及其使用空间。如果有二个硬盘,所看到的就不是像上面那样,而是有比较多个硬盘。不管硬盘有多少个,只要对着您要的硬盘按 C 去建立一个分割区,它会先问您大小,如图 2-12 所示:

图 2-12



在图 2-12 询问您所要分割的大小时,您可以输入想要的空间大小,接着会出现图 2-13 的画面,询问您要给哪一种类型的分割区,如果是要给目录使用的话,就选 A file system,如果是 swap 就选 A swap partition。我们先来分割给根目录使用,如下图:

图 2-13



接着选择挂入点,如果是分割给 swap 使用的话,并不会问您挂入点是什么。这里我们先分割根目录,如图 2-14:

图 2-14



这时您就输入 / 就代表根目录。接着再继续分割给其它目录,如 /usr、/home等。最后如图 2-15 所示:

图 2-15



在图 2-15 中,如果您有 DOS 分割区在硬盘中,您可以把它挂进来 (mount) 做为一个目录,这样子在 FreeBSD 中就可以看到 DOS 分割区了。您可以对着最上面一行 DOS 那一个按 M ,并输入目录名称为 /MSDOS ,就可以了。

除了 / 及 swap 外,其它的分割区 Newfs 字段都有一个 UFS2+S 的设定。您所看到的 S 表示使用 Soft Updates。Soft Updates 可以用来加速系统写入档案及目录的系统数据,对于新增及删除档案的速度有明显的提升。Soft Updates 可以让我们在写入资料时保有完整性,在面临系统不正常关机时,能让所写入的数据尽量完整。而其缺点是在删除或更新档案时,硬盘空间的释放较慢,这个缺点在于一个快要满的分割区中比较明显。例如,当我们的 / 目录快满时,我们更新该分割区的数据时,可能会因为分割区在删除数据后空间释放较慢而使空间不足而失败,进而造成某些档案无法使用。所以 FreeBSD 预设并未在 / 目录中使用 Soft Updates。

如果您有 BBS 站的话,您必须更改一下 inode 的设定,才不会造成空间的浪费。把光棒移到 BBS 的目录,再按 N 并输入参数为 newfs -i 1024 -b 4096 -f 1024,来改变 inode 的设定。

好了,都设定好了就按 Q 离开,回到自订安装选单吧。接下来就开始选择要安装的套件。

小提示
如果您之前安装过 FreeBSD,而且将数据存在另一个硬盘,您可以使用 M 将它挂入一个目录中。硬盘分割安装完成后,除非重新安装,否则就无法再做更动,所以请小心规划硬盘的使用空间。如果您真的不知道怎么分割,您可以先分割成一个根目录及 swap 空间,下次再安装时,您就可以依照当时实际的使用情形来分割硬盘了。



2.2.5 安装自订套件

回到了自订安装选单后,选择 Distribution 来选择要安装的套件。进入图 2-16 的画面后,选择最下方的 Custom:

图 2-16



在上图中选 Custom 后,会进入图 2-17 的选单:

图 2-17



您最简单的方式就是选择所有的套件 All 以安装所有的 FreeBSD 预设套件。如果您不需要使用窗口接口,可以不必安装 X.Org。FreeBSD 使用 X Windows 做为图形化接口,X Windows 原本是 XFree86 这个套件,但后来因为版权及管理问题而分裂成 XFree86 及 X.Org 这二个套件。原本 FreeBSD 使用的是 XFree86,但自从 5.3 以后,改用 X.Org。

全部选完之后就选 Exit 离开。回到上一层选单,再选 Exit 回到自订安装选单。接着就是选择安装的来源了。

2.2.6 选择安装来源

回到自订安装选单后,我们选择 Media 来决定安装的来源,如图 2-18:

图 2-18



如果您是以光盘安装的话,就选第一个 CD/DVD 作为安装来源,选了之后就可以回到自订安装选单,选 Commit 开始安装,并按下确定开始。

如果您是以网络安装的话,就选第二个 FTP。选了 FTP 之后,会问您要使用哪一个 FTP 站台,这时候请选第二个 URL Specify some other ftp site by URL 来自订要使用的 FTP 站台。进入后会问您要使用的站台位置,您要先去找出该 FTP 站台放 FreeBSD 的目录为何,以交大资工而言,您应该输入 ftp://freebsd.csie.nctu.edu.tw/pub/releases/i386/

接着会要求您设定网络,使用网络安装必需先设定网络,出现图 2-19 的画面,要您选择网络卡:

图 2-19



图 2-19 中,您的网络卡会出现在第一个,如果您有二张网络卡的话,就会有二个不同编号。选择一个对外连到网络的卡后,接着会问您是否要使用 IPv6 选否,再来是问您要不要使用 DHCP (自动取得 IP 地址....这就看您有没有 DHCP server 可以自动取得 IP 啰),接着就进入图 2-20 的画面。

图 2-20



您要先知道您的 Domain Name 及 IP 等,如果没有 Domain Name 的话,就随便输入吧。假设我们的机器是 www.mydomain.com ,所以在 Host 一栏中就输入 www.mydomain.tw,在 Domain 中就输入 mydomain.com。我的机器在中央大学,所以 Gateway 就输入 140.115.1.254,Name server 输入 140.115.1.31,IPv4 Address 就输入我的 IP 也就是 140.115.75.1,Netmask 也就是子网络就输入 255.255.0.0。接着按 OK 离开回到自订安装选单。再来选 Commit 开始安装,并按下确定开始。

2.2.7 最后的设定

经过了一段时间的安装后,最后就会出现一个窗口问您是否要做最后的设定,这时候选 [YES]。又回到了一开始 sysinstall 的画面。

图 2-21



这时候就选 Configure 进入设定选单,在 Configure 选单中,我们可以设定本机的基本资料。在这里我们仅设定下列几项:

设定网络:进入后选择 Networking 设定网络,如果您是用网络安装的话,您已经设定好了。如果是用光盘安装的话,就必须进入进行设定。请参考前面安装时选择安装媒体时所做的网络设定方式。
设定键盘速度及屏幕保护程序。
设定时区 Time Zone。
如果您要设定键盘速度,请选择 Configure 以进入设定选单,如图 2-22 所示:

图 2-22



这个设定选单中,各个选项的说明如下:

Distributions 让我们新增 FreeBSD 的安装套件。
Packages 安装其它 packages 软件。
Root Password 设定超级使用者密码。
Fdisk 分割硬盘的工具,日后要再加入新硬盘时可以使用。
Label Disk Label editor,让我们将己分割的硬盘再分割成不同扇区,以挂入 FreeBSD 中使用。
User Management 使用者账号管理工具。
Console 文字模式下屏幕的设定。
Time Zone 设定时区。
Media 让定安装软件的来源。
Mouse 设定鼠标。如果您要使用鼠标,可以在此驱动。
Networking 设定网络。
Security 设定 FreeBSD Security Level。
Startup 设定开机时要启动的选项,我们可以在 /etc/rc.conf 中设定。
TTYs 设定不同 TTY 的权限。
Options 设定一些安装时选项。
XFree86 X Window 的设定。
Desktop X Window 的桌面管理员设定。
HTML Docs 显示 FreeBSD HTML文件。
Load LKM 从磁盘中加载 kernel module。

这里的设定只要先设定 Console 及 Time zone 即可,其余的设定(如新增使用者及设定密码等)我们都可以在重新开机后,于文字模式设定。

首先请选择 Console 进入图 2-23 的选单:

图 2-23



在 System Console Configuration 选单中,第二及第三个选项 Font、Keymap 可以让我们设定屏幕字型及键盘对映,不过我们不需要设定。第四项 Repeat 是设定键盘按键重复的速度,因为笔者喜欢按下一个键时,能快速的重复输入该键,所以我选了 Repeat 设定,并将速度设定 Fast。第五个选项是 Saver,我们可以选择喜欢的屏幕保护程序,也可以选择 Timeout 来设定启动屏幕保护的时间。当您设定完成之后,请选择 Exit 回到 Configuration Menu ,接着我们再选取 Time zone 来设定时区:

选择了 Time zone 后,它会问您目前 BIOS 是否设定为 UTC (格林威治时区),如图 2-24 所示,如果您不清楚,请选 NO。

图 2-24



接着要选择所在区域,我们选择第 5 项 Asia,如图 2-25:

图 2-25



然后再选择国家 Taiwan 即可。

图 2-26



最后系统会询问您所选择的是 CST 时区是否正确,如图 2-27,我们便选取 [Yes] 即可。

图 2-27



我们在 Configuration Menu 所做的设定最后都会存放在 /etc/rc.conf 中,如果日后有需要更改,可以经由修改 /etc/rc.conf 来完成。

最后就一直选 Exit ,最后 Exit Install 离开安装程序,重新开机即完成 FreeBSD 的安装。如果您在过程中遇到问题,可以到各大 BBS 的 386bsd 版中发问。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Archiver|URLOS ( 粤ICP备18087780号 )

GMT+8, 2025-5-4 06:31 , Processed in 0.031202 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表