FreeBSD簡介:高效穩(wěn)定的BSD分支
FreeBSD 是一個可以在 Intel 兼容個人計算機、DEC Alpha 或 PC98 架構的計算機上執(zhí)行的 UNIX 操作系統(tǒng)。大家應該聽過另一套類UNIX的操作系統(tǒng) Linux,F(xiàn)reeBSD 也是一套免費的操作系統(tǒng)。它可以讓我們的個人計算機變成先進的工作站,更穩(wěn)定的提供你所需的網(wǎng)絡服務。
BSD UNIX 系統(tǒng)可以說是網(wǎng)絡操作系統(tǒng)的始祖,F(xiàn)reeBSD 是眾多 BSD UNIX 分支中的一個,它繼承了 BSD 系統(tǒng)的高性能與可靠性。自從1993 年 FreeBSD 推出 1.0-RELEASE 以來,F(xiàn)reeBSD 開發(fā)團隊便致力于系統(tǒng)的調校,使其發(fā)揮***的效能。在 FreeBSD 團隊的統(tǒng)籌努力下,使它比起其它免費的 UNIX 操作系統(tǒng)更有結構。在 FreeBSD 上有許多支持的免費軟件,這些軟件大都已移植收錄于 FreeBSD ports 中,使得我們在安裝軟件時變得十分輕松。FreeBSD 支持 32 位、64 位的許多不同平臺,具有高效能核心架構、動態(tài)函式庫共享、***的網(wǎng)絡功能,比起其它商用 UNIX 系統(tǒng)毫不遜色。
FreeBSD 操作系統(tǒng)相當容易取得及安裝,除了經(jīng)由傳統(tǒng)的光盤安裝外,它也可以經(jīng)由網(wǎng)絡安裝、MS-DOS 分割區(qū)安裝等等。當然,我們也可以在計算機中同時安裝多種不同的操作系統(tǒng),例如 Windwos 98 和 FreeBSD 同時并存也是件十分容易的事。
在 FreeBSD 上的應用軟件相當?shù)亩啵捕伎梢悦赓M取得,由于 FreeBSD 的穩(wěn)定性高且功能強大,因此許多大型網(wǎng)站都以它為作業(yè)平臺,其中最知名的就是 YAHOO!。YAHOO! 是一個流量相當大的入口網(wǎng)站,他們選擇以 FreeBSD 為作業(yè)平臺,由此可知 FreeBSD 的優(yōu)異性。除此之外,在臺灣,F(xiàn)reeBSD 普遍被應用于學術網(wǎng)絡上,許多大專院校的服務器都是使用 FreeBSD 來提供網(wǎng)絡服務。
但是您別以為 FreeBSD 只能用來做為網(wǎng)絡服務器,F(xiàn)reeBSD 也可以是一個良好的個人操作系統(tǒng)。事實上,Mac OS X 就是使用 FreeBSD 做為系統(tǒng)核心。大家都知道 Mac OS 是個人計算機上有名的操作系統(tǒng),它會使用 FreeBSD 做為系統(tǒng)核心,可見 FreeBSD 的品質亦深獲 Apple 的肯定。
在寬頻網(wǎng)絡逐漸普及的臺灣,每個人都可以自行架設一臺網(wǎng)絡服務器,以 FreeBSD 來提供網(wǎng)絡服務(如網(wǎng)頁、郵件、檔案存取等)。值得一提的是 FreeBSD 并不像 MS-Windows 一樣每每要求使用者升級計算機才能使用。FreeBSD 對于硬件的要求很低,你可以用一臺 Intel 586-133MHz 的舊計算機來安裝 FreeBSD,這也算是癈物利用吧。
為什么要選擇FreeBSD?
現(xiàn)在的個人計算機操作系統(tǒng)市場中,是以 MS-Windows 獨大,但在網(wǎng)絡服務器市場中,UNIX 系統(tǒng)的使用率可不輸 MS-Windows 喔。我個人認為 MS-Windows 之所以會有那么多的使用者主要是因為他的使用者接口對初學者而言較容易操作,再加上許多軟件的配合及盜版的助長,安裝軟件只要一直按下一步就完成。使得使用者即便它的穩(wěn)定性不高也得乖乖的接受。
其實初學者沒有試過其它的操作系統(tǒng)才會有這樣的誤解,因為一直用 MS-Windows 才會認為當機是無可避免的事,當機對于 MS-Windows 或許是無可避免,但在其它 UNIX 系統(tǒng)中可不常見。在 UNIX 系列的操作系統(tǒng)中,也可以有像 MS-Windows 的圖形接口,幾乎所有在 MS-Windows 上可以做的事,在 FreeBSD 上都可以做得到,唯一的不同點是你不必花錢去取得你想要的功能。包括排版、圖形處理、MP3、多媒體、網(wǎng)絡芳鄰等等都可以在 FreeBSD 中做到。
重點是,對于一臺網(wǎng)絡服務器而言,圖形接口會占用系統(tǒng)資源,而且必須安裝一堆有的沒的軟件。筆者偏好干干脆凈凈的系統(tǒng),而 FreeBSD 正好具有這個優(yōu)點。不過這并不代表您不能使用圖形接口,您還是可以安裝類似 Windows 的圖形接口,讓您使用它來做為平日使用的個人計算機。此外,F(xiàn)reeBSD 把自己定位為***的網(wǎng)絡服務器,它承襲了 BSD 優(yōu)良的網(wǎng)絡血統(tǒng),在提供服務時能有***的效能表現(xiàn)。而且,它是免費的。
然而,有這么多的免費 UNIX 操作系統(tǒng)中,為什么要選擇 FreeBSD 而不使用其它操作系統(tǒng)(如 Linux )呢?在網(wǎng)絡上在討論這個問題時,每每會引發(fā)每個操作系統(tǒng)使用者的激辯。對于要使用何種操作系統(tǒng),除了使用者偏好外,還有許多指標可以提供我們參考。
◆FreeBSD 是一套完整的操作系統(tǒng)
我們平常所說的 Linux 指的是它的核心 (Kernel),Kernel 只是整個操作系統(tǒng)的一部份,除了 Kernel 外,我們還需要一些基本的指令、系統(tǒng)及目錄架構、圖形接口等。Linux 的 Distribution 就是各個不同的組織或公司自行收集一些系統(tǒng)必備的程序,制作出一個操作系統(tǒng)。Linux 系統(tǒng)有很多的 Distribution,如 Redhat、SUSE、Debian 等。因為每個 Distribution 都有自己的程序或架構,所以每個 Distribution 都長的不一樣。如果您使用的是 Linux,在 Linux 三十多種 Distribution 中,每一種之間都有些許差異,在設定上用法都不同。
而 FreeBSD 指的不只是核心而已,它是一套完整的操作系統(tǒng)。從系統(tǒng)核心到使用者接口、各種常用指令都是由 FreeBSD 總部所統(tǒng)一推出。因此,F(xiàn)reeBSD 每一個版本之間有著共同的架構,不同軟件之間的整合搭配性較為完整,不管是設定、學習都很容易。
◆由核心團隊統(tǒng)籌開發(fā)
FreeBSD 整個系統(tǒng)都是由總部的核心團隊所維護,所以整個系統(tǒng)都搭配得很好。而 Linux 只有 Kernel 由 Linus Torvlds 所維護。因為 FreeBSD 整個系統(tǒng)都是由總部所開發(fā),不只系統(tǒng)整體較有規(guī)劃,各個程序之間搭配起來也比較緊密。如果您使用 Linux,由于 Kernel 和其它的程序是由不同組織所維護,在升級時,比較麻煩。而 FreeBSD 就簡單多了,每次一有新的版本,一定是整個系統(tǒng)一起升級。
我覺得 FreeBSD 總部統(tǒng)籌發(fā)展 FreeBSD 是一件很棒的事,所有的問題回報都可以統(tǒng)籌管理并予以更新。FreeBSD 推陳出新的速度相當快,每一次安裝都確保這個版本不會有上一版的缺失。所以在 Linux 或 MS-Windows 中「新版本不一定是***」的定律并不適用于 FreeBSD。但這并不意味著你必須不斷重新安裝系統(tǒng),F(xiàn)reeBSD 總部隨時會發(fā)布***更新的檔案提供下載,而且如果使用 CVSUP 就可以和更新版的 FreeBSD 保持同步更新。
◆完整的使用手冊
FreeBSD 的使用手冊非常完整,而且會隨著軟件一起更新。每次一有新的版本推出,F(xiàn)reeBSD 的文件也會做相對的更新。在 FreeBSD 的官方網(wǎng)站上,我們可以輕松的取得這些高品質的手冊及文件。
◆軟件安裝的便利性
FreeBSD 支持的軟件相當多,它將常用的軟件分類管理,當需要安裝軟件時,使用者不必自行到網(wǎng)絡上找尋,只要到 FreeBSD ports 目錄中下個指令就安裝完成。
◆條理分明的系統(tǒng)架構
FreeBSD 目錄結構非常有組織,結構嚴謹,對于系統(tǒng)管理者而言比較不會紊亂。FreeBSD 將系統(tǒng)預設的目錄和管理者自行安裝的程序目錄劃分得十分清楚,管理者在進行升級、維護時可以一目了然。
◆***的程序開發(fā)平臺
安裝完 FreeBSD 后,系統(tǒng)所有程序原始碼非常有條理的存放在特定目錄中。對于想要進行程序修改的管理者而言,不必四處尋找某支程序原始碼。筆者在 FreeBSD 及 Linux 上開發(fā)程序多年,我覺得 FreeBSD 原始碼及系統(tǒng)架構十分有組織,是程序開發(fā)***的平臺。
而且 FreeBSD 的版權較為寬松,對于想要以 FreeBSD 為基礎開發(fā)產(chǎn)品的公司而言,它可以保護您的修改不會被其它對手抄襲。
為什么不選擇FreeBSD?
許多企業(yè)選擇使用目前大多數(shù)人使用的 MS windows 做為一般作業(yè)用個人計算機的操作系統(tǒng)當然無可厚非。但以 MS windows 做服務器,除了信息人員的偏好外(或許因為不會使用其它系統(tǒng)吧),還有部份原因是為了在企業(yè)內信息人員技術不足時,能求助于系統(tǒng)供貨商。而 FreeBSD 是免費的,企業(yè)也害怕有狀況時無人可以支持,這對企業(yè)是很重要的一項因素。
然而,F(xiàn)reeBSD 的使用人數(shù)其實很多,而且使用者都十分熱心,在臺灣的 BBS 討論區(qū)上,許多問題都可以獲得解決。這當然還不夠,現(xiàn)在有很多顧問公司提供 FreeBSD 的顧問服務,可以提供企業(yè)這方面的服務。雖然說 FreeBSD 的系統(tǒng)穩(wěn)定,但在應用上如果沒有信息人員的支持,很難能在企業(yè)中存活。但正因市場上了解 FreeBSD 的人較少,若我們能主動學習,必能為自己創(chuàng)造更多價值。
FreeBSD 目前支持的平臺不多,若您不是使用 X86 的系統(tǒng),而是使用 ARM、MIPS 等平臺,您就必須尋求其它的解決方案。
FreeBSD的版本命名規(guī)則
FreeBSD 每出一個新的版本都是以 FreeBSD A.B.C-TAG 來作為命名的方式,例如 FreeBSD 5.4-RELEASE 或 FreeBSD 5.2.1-RELEASE。
- A-主要版本編號
- B-次要版本編號
- C-修正版本編號
- TAG-名稱標簽,如 RELEASE、STABLE、CURRENT 等
世界各地活躍的高手們組成 Core Team 對系統(tǒng)原始程序代碼做開發(fā)和維護,幾乎系統(tǒng)原始程序代碼每天都會有新版本和修正除錯。系統(tǒng)工具程序、驅動程序等等,例如 Ports 內的程序版本也常常更新。FreeBSD 的 Core Team 為了兼顧發(fā)展新功能和穩(wěn)定性,所以將原始碼進入穩(wěn)定階段,就會建立一個新的分支,并在新的分支上加強穩(wěn)定性及效能。所有新的功能會先在 Current 上進行開發(fā),有必要才會放到穩(wěn)定的分支中。圖 1-1 即為目前 FreeBSD 原始碼版本結構簡圖:
圖 1-1
在 FreeBSD 在開發(fā)時有一個實驗性的版本,以開發(fā)新功能為主,稱為 CURRENT ,這是主要的分支。當 CURRENT 進入穩(wěn)定的階段后,會分支出一個 STABLE 的 Branch,目前 5.x 系列就是一個還在維護的分支。FreeBSD 4.x 分支自從 4.11 之后應該不會再推出新的版本了,以后 STABLE 版將以 5.x 為主。FreeBSD 正式發(fā)行的版本稱為 RELEASE 版本,推出RELEASE之后會不斷的更新該版本以力求穩(wěn)定性,稱之為 STABLE。以 FreeBSD 5.x 為例,自從 Current 開發(fā)到 5.3 時,因為品質已經(jīng)十分穩(wěn)定,因此產(chǎn)生新的分支,以后 5.x 就會在此分支下開發(fā),而一些新的功能或是實驗性質的程序會被放到 Current 中。
在 FreeBSD 在 5.x 中加入了設多新的功能,在系統(tǒng)架構上有許多新的變革,使用了許多新的技術,而這些新的技術經(jīng)過 5.0、5.1、5.2、5.3-RELEASE 的淬煉后,功能上已十分穩(wěn)定。而 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 使用不同的方式管理硬件裝置,日后對于新的硬件支持應該會比較迅速。
- 更進步的檔案系統(tǒng)功能。FreeBSD 一項***的弱點就是缺乏一個比較好的檔案系統(tǒng)格式,但 5.x 新增了一些新的功能改善即有的檔案系統(tǒng)。例如 background fsck,可以讓不正常關機后的系統(tǒng)可以更快速進入正常運作。FreeBSD 5.x 使用 UFS2,它支持更大的檔案及更多檔案屬性。另外,還有 snapshot 功能,可以讓我們對檔案系統(tǒng)進行快照,保留某一時間的檔案內容。
- 支援 kernel thread,F(xiàn)reeBSD 5.x 的 KSE (Kernel scheduled Entities) 讓我們可以擁有 kernel mode 的多重執(zhí)行緒。這項功能對于一些大型系統(tǒng)效率 (如使用 Apache 2 或支持多執(zhí)行緒的數(shù)據(jù)庫) 有明顯提升。
FreeBSD 4.x 發(fā)展到***,可以說是一套最穩(wěn)定的操作系統(tǒng),而由于 5.x 加入了許多新的功能,在穩(wěn)定性方面略遜一籌。為了改善 5.x 的穩(wěn)定性及效能,F(xiàn)reeBSD 很快就推出 6.x 系列。6.x 的主要目的是改善 5.x 的穩(wěn)定性及提升系統(tǒng)效能,在功能上不會有太多的不同。
編者:目前(2010年6月)FreeBSD的***版本為FreeBSD 8.0。本篇文章摘錄自2005年出版的《FreeBSD 6.0架設管理與應用》一書,當時的***版本是FreeBSD 6.0。
【編輯推薦】