第一章 FreeBSD 简介
1.1 什么是FreeBSD?
我想大家都知道 Microsoft Windows 是一套操作系统,FreeBSD 也是一套操作系统。FreeBSD 是一个可以在 Intel 兼容个人计算机、DEC Alpha 或 PC98 架构的计算机上执行的 UNIX 操作系统。大家应该听过另一套UNIX的操作系统 Linux,FreeBSD 也是一套免费的操作系统。它可以让我们的个人计算机变成先进的工作站,更稳定的提供你所需的网络服务。
FreeBSD 操作系统相当容易取得及安装,除了经由传统的光盘安装外,它也可以经由网络安装、MS-DOS 分割区安装等等。当然,我们也可以在计算机中同时安装多种不同的操作系统,例如 Windwos 98 和 FreeBSD 同时并存也是件十分容易的事。
在 FreeBSD 上的应用软件相当的多,也都可以免费取得,由于 FreeBSD 的稳定性高且功能强大,因此许多大型网站都以它为作业平台,其中最知名的就是
YAHOO!。Yahoo 是一个流量相当大的入口网站,他们选择以 FreeBSD 为作业平台,由此可知 FreeBSD
的优异性。除此之外,在台湾,FreeBSD 普遍被应用于学术网络上,许多大专院校的服务器都是使用 FreeBSD 来提供网络服务。
在宽频网络逐渐普及的台湾,每个人都可以自行架设一台网络服务器,以 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 中做到。
说了这么多,我想再和低效能的 Windows 系统比较己经没什么义意了。然而,有这么多的免费 UNIX 操作系统中,为什么要选择 FreeBSD 而不使用其它操作系统(如 Linux )呢?在网络上在讨论这个问题时,每每会引发每个操作系统使用者的激辩。对于要使用何种操作系统,除了使用者偏好外,还有许多指标可以提供我们参考。
BSD UNIX 系统可以说是网络操作系统的始祖,FreeBSD 是众多 BSD UNIX 分支中的一个,它继承了 BSD 系统的高性能与可靠性。自从1993 年 FreeBSD 推出 1.0-RELEASE 以来,FreeBSD 开发团队便致力于系统的调校,使其发挥绝佳的效能。在 FreeBSD 团队的统筹努力下,使它比起其它免费的 UNIX 操作系统更有结构。在 FreeBSD 上有许多支持的免费软件,这些软件大都已移植收录于 FreeBSD ports 中,使得我们在安装软件时变得十分轻松。FreeBSD 是一套真正32 位的操作系统,具有高效能核心架构、动态函式库共享、绝佳的网络功能,比起其它商用 UNIX 系统毫不逊色。
我觉得 FreeBSD 总部统筹发展 FreeBSD 是一件很棒的事,所有的问题回报都可以统筹管理并予以更新。 FreeBSD 推陈出新的速度相当快,每一次安装都确保这个版本不会有上一版的缺失。所以在 Linux 或 MS-Windows 中「新版本不一定是最好」的定律并不适用于 FreeBSD。但这并不意味着你必须不断重新安装系统,FreeBSD 总部随时会发布最新更新的档案提供下载,而且如果使用 CVSUP 就可以和更新版的 FreeBSD 保持同步更新。
FreeBSD 除了稳定、高效能外,在众多免费的 UNIX 系统中,笔者对于 FreeBSD 情有独钟的原因如下:
1.3 为什么不选择FreeBSD?
许多企业选择使用目前大多数人使用的 MS windows 做为一般作业用个人计算机的操作系统当然无可厚非。但以 MS windows
做服务器,除了信息人员的偏好外(或许因为不会使用其它系统吧),还有部份原因是为了在企业内信息人员技术不足时,能求助于系统供货商。而 FreeBSD
是免费的,企业也害怕有状况时无人可以支持,这对企业是很重要的一项因素。
然而,FreeBSD 的使用人数其实很多,而且使用者都十分热心,在台湾的 BBS 讨论区上,许多问题都可以获得解决。这当然还不够,现在有很多顾问公司提供
FreeBSD 的顾问服务,可以提供企业这方面的服务。虽然说 FreeBSD
的系统稳定,但在应用上如果没有信息人员的支持,很难能在企业中存活。我相信大部份的信息人员都受够了 MS windows
的折磨,这是我们该站起来的时候了,只有经由我们的主动学习,不屈不挠的精神,才能创造自己及企业的价值。
1.4 FreeBSD的版本命名规则
FreeBSD 每出一个新的版本都是以 FreeBSD A.B.C-TAG 来作为命名的方式,例如 FreeBSD 5.2-RELEASE 或 FreeBSD 5.2.1-RELEASE。
世界各地活跃的高手们组成 Core Team 对系统原始程序代码做开发和维护,几乎系统原始程序代码每天都会有新版本和修正除错。系统工具程序、驱动程序等等,例如 Ports 内的程序版本也常常更新。FreeBSD 的 Core Team 为了兼顾发展新功能和稳定性,所以将原始码分成二个支线,一个是以稳定性为主的 4.x 系列,另一个是加入许多新功能的 5.x 系列。图 1-1 即为FreeBSD 原始码版本结构简图:
图 1-1
在 FreeBSD 在开发时有一个实验性的版本,以开发新功能为主,称为 CURRENT ,这是主要的分支。当 CURRENT 进入稳定的阶段后,会分支出一个 STABLE 的 Branch,目前 4.x 系列就是一个还在维护的分支。FreeBSD 正式发行的版本称为 RELEASE 版本,推出RELEASE之后会不断的更新该版本以力求稳定性,称之为 STABLE。目前 FreeBSD 5.x 系列尚未建立独立的分支,一旦 5.x Release 成熟稳定后,也会像 4.x 系列一样分支出来,开始对系统效能、稳定度等加以调校。
目前最新的 4.x 版的 RELEASE 版本是 FreeBSD 4.9-RELEASE,而推出 4.9-RELEASE 之后,4.x 系列还是会持续加入必要的功能,但不会有太大的变动。
虽说目前最新的 FreeBSD 己推出 5.2.1-RELEASE,5.x 在系统架构上有许多新的变革,使用了许多新的技术,而这些新的技术经过 5.0、5.1、5.2-RELEASE 的淬炼后,功能上已驱稳定,但效能上并未经过详细的调效。如果您对于服务器的要求是稳定及效能走向,建议您使用 4.9-RELEASE。如果您需要更多硬件支持或尝试新功能,您可以使用 FreeBSD 5.2.1-RELEASE。我们以下列出 FreeBSD 5.x 和 4.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 都是你可以下载安装的版本。
1.6 如何得到更多信息?
FreeBSD 的使用者众多,且十分热心,在国内外有许多高手们将自己的经验开放给使用者参考。以下即为部份 FreeBSD 的站台。
中文站台
英文站台
1.7 本书光盘使用说明
本书附有二片随书光盘,第一片光盘为 FreeBSD 5.2.1-RELEASE 安装光盘,第二片为本书所需的所有软件及笔者设定文件的范例。
光盘二档案说明:
文件名称 | 说明 |
/examples/ | 存放笔者的设定文件及一些范例程序。 |
/examples/etc/ | 笔者 /etc/ 目录下的设定文件。 |
/examples/X_Window/ | 笔者关于 X Window 的设定档。 |
/examples/adduser.tar.gz | 大量新增账号程序。 |
/examples/mysql.php | 经由网页管理 mysql 的工具。 |
/ports/distfiles/ | 存放本书所需软件的原始文件。 |
/ports/distfiles/mailserver | 此目录含有快速安装 mail 所需的档案及程序。 |
/wintools/ | MS Windows 下的工具。 |
/wintools/putty.exe | 在 MS Windows 下好用的 SSH 联机软件。 |
/wintools/WinMD5.exe | 检查 MD5 的工具。 |
/wintools/pgadmin3-1_0_2.zip | PostgreSQL Windows 端联机工具。 |
/wintools/psqlodbc-07_03_0200.zip | PostgreSQL Windows ODBC 模块。 |
当您要以光盘安装 FreeBSD 时,请使用光盘一来开机。系统安装完毕后,您可能会安装一些可以在 FreeBSD 上使用的软件。当我们使用 FreeBSD ports 安装软件时(参考第九章),它会先检查计算机中是否也有该软件的原始文件,如果没有则将自动从网络下载。为了避免必须费时从网络下载,本书光盘二收录了本书所提及的软件,您可以在开始安装其它软件之前,所将光盘二 /ports/distfiles/ 目录下的档案复制到 /usr/ports/distfiles/ 目录中。
如果您要将光盘二所有软件的数据先存到硬盘中,请先将光盘二放入光驱中,再执行下列指令来挂入光盘,并复制档案。
# mount /cdrom # cp -R /cdrom/ports/distfiles/* /usr/ports/distfiles/
复制完毕后,如果要从光驱中取出光盘,必须先执行下列指令才能将光盘退出:
# umount /cdrom