twbsd.org
 
  Select Language: Home  SmbFTPD Forum 

書籍資料

ch00 序.htm

ch01 FreeBSD 簡介.htm

ch02 安裝 FreeBSD.htm

ch03 UNIX 系統入門.htm

ch04 使用者管理.htm

ch05 網路設定.htm

ch06 檔案系統管理.htm

ch07 系統安全.htm

ch08 編譯核心.htm

ch09 系統調校.htm

ch10 軟體安裝.htm

ch11 X Window 的使用.htm

ch12 NAT 及防火牆.htm

ch13 網頁伺服器.htm

ch14 網頁伺服器進階應用.htm

ch15 FTP 伺服器.htm

ch16 郵件伺服器.htm

ch17 郵件伺服器進階應用.htm

ch18 DHCP伺服器.htm

ch19 資料庫系統.htm

ch20 Samba 網路芳鄰.htm

ch21 NFS.htm

ch22 DNS 伺服器.htm

ch23 指令應用.htm

ch24 Shell Script.htm

cha1 附錄A etc目錄下的檔案介紹.htm

cha2 附錄B 製作 FreeBSD 安裝光碟.htm

cha3 附錄C 版權宣告.htm

 


View printable page

第一章 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

在 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 主要的差異供讀者參考:

  1. SMPng (Symmetric MultiProcessor next generation) 對多顆 CPU 的支援有更好的效率。
  2. 對於新硬體的支援更完整。例如支援藍芽、32 bit 的 PCMCIA 等。FreeBSD 5.x 使用不同的方式管理硬體裝置,日後對於新的硬體支援應該會比較迅速。
  3. 更進步的檔案系統功能。FreeBSD 一項最大的弱點就是缺乏一個比較好的檔案系統格式,但 5.x 新增了一些新的功能改善即有的檔案系統。例如 background fsck,可以讓不正常關機後的系統可以更快速進入正常運作。FreeBSD 5.x 使用 UFS2,它支援更大的檔案及更多檔案屬性。另外,還有 snapshot 功能,可以讓我們對檔案系統進行快照,保留某一時間的檔案內容。
  4. 支援 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.orgftp9.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 安裝軟體時(參考「軟體安裝」一章的說明),它會先檢查電腦中是否也有該軟體的原始檔,如果沒有則將自動從網路下載。

Top Ths file was last modified: 2007 February 25 10:54:04.

Copyright © 2002-2017 Wang, Chun-Pin from www.twbsd.org. All rights reserved.