第一章 FreeBSD 簡介
1.1 什麼是FreeBSD?

FreeBSD 是一套開放源始碼的 Unix 作業系統。它支援許多不同的硬體架構,如 X86、ARM、Power PC 等。 FreeBSD 有許多支持者,在各方高手的努力下,FreeBSD 具有高效能核心架構、絕佳的網路功能、 及高安全性的系統架構,比起其他商用 UNIX 系統毫不遜色。

FreeBSD 起源於 1993 年加州大學柏克萊分校學生比爾·喬伊 (Bill Jolitz) 的 386BSD 軟體專案。 這也就是 FreeBSD 這個名字的由來。BSD 是 Berkeley Software Distribution 的縮寫。 1993 年 12 月,FreeBSD 推出第一版正式軟體 FreeBSD 1.0。這個版本是基於 4.3BSD-Lite 所開發。之後由於柏克萊大學和 Novell 的版權糾紛,FreeBSD 相對應的做了大幅的修改。 從 1994 年年底的 FreeBSD 2.0 開始漸漸成熟並被大量採用,到現在 FreeBSD 已經是十分流行的作業系統了。

在各式各樣的電腦作業系統中,最有名的就是微軟的 Windows 和蘋果電腦的 MacOS。 而在開放原始碼的作業系統中,較為大家所知悉的系統應該就是 Linux。FreeBSD 和這些作業系統一樣,可以是全方位的作業系統。由於開源軟體蓬勃發展,這些可以在 Unix 系統上運作的軟體大都支援 FreeBSD。所以,FreeBSD 的應用相當廣泛。 例如,以下是一些常見的 FreeBSD 應用:

1.2 誰在使用 FreeBSD

其實 FreeBSD 的應用很多。在台灣,它普遍被應用於學術網路上,許多大專院校的伺服器都是使用 FreeBSD 來提供網路服務。在世界各地,還有很多知名的組織在使用 FreeBSD。 以下我們列出幾個較為大家所熟知的名字:

我們可以看到 FreeBSD 出現在各種不同的平台及產品中,不管是做為網路伺服器、儲存伺服器、 個人電腦、或遊戲機,它都游刃有餘。

1.3 為什麼選擇 FreeBSD?

在眾多的作業系統中,依用途不同,我們可能會有不同的選擇。您可以在 FreeBSD 上安裝類似 Windows 的圖形介面,以它做為平日使用的個人電腦。FreeBSD 上免費軟體很多,不管是文書處理、 瀏覽網頁、或多媒體應用,您都可以找到好用的軟體。不過,最常見的應用還是使用 FreeBSD 做為網路伺服器。

FreeBSD 有著高效能的網路處理能力、穩定的檔案系統、並有許多免費且強大的伺服器軟體, 在提供服務時能有絕佳的效能表現。然而,有這麼多的免費 UNIX 作業系統中,為什麼要選擇 FreeBSD 而不使用其他作業系統呢?在網路上在討論這個問題時,每每會引發每個作業系統使用者的激辯。 對於要使用何種作業系統,除了使用者偏好外,還有許多指標可以提供我們參考。

更開放的軟體授權

在各種開放原始碼的類 Unix 作業系統中,最有名的應該是 Linux。很多人會比較 FreeBSD 和 Linux 效能、各種硬體支援、或軟體應用。因為 FreeBSD 和 Linux 都是 Unix 作業系統,基本上可以在 Linux 上運作的軟體,在 FreeBSD 上都有相對應的功能。我們甚至可以在 FreeBSD 上直接執行 Linux 的執行檔。 這二種作業系統都在不停的演進,所有效能、軟體、或硬體支援的差異都有可能相互追趕上。 但這二者有一個最根本的不同,就是軟體授權的差異。

簡單來說,Linux 開放原始碼授權允許任何人修改原始碼,但修改後,必須將修改的原始碼開放出來。 而 FreeBSD 的開放原始碼授權並不強制在修改原始碼後要公佈自己的修改內容。所以很多公司會使用 FreeBSD 來建構自己的產品。

FreeBSD 是一套完整的作業系統

我們平常所說的 Linux 指的是它的核心 (Kernel),Kernel 只是整個作業系統的一部份,除了 Kernel 外,我們還需要一些基本的指令、系統及目錄架構、圖形介面等。Linux 的 Distribution 就是各個不同的組織或公司自行收集一些系統必備的程式,製作出一個作業系統。Linux 系統有很多的 Distribution,如 Redhat、Ubuntu、Debian 等。因為每個 Distribution 都有自己的程式或架構,所以每個 Distribution 都長的不一樣。如果您使用的是 Linux,在 Linux 眾多 Distribution 中,每一種之間都有些許差異,在設定上用法都不同。

而 FreeBSD 指的不只是核心而已,它是一套完整的作業系統。從系統核心到使用者介面、各種常用指令都是由 FreeBSD 總部所統一推出。因此,FreeBSD 每一個版本之間有著共同的架構,不同軟體之間的整合搭配性較為完整,不管是設定、學習都很容易。

完整的使用手冊

FreeBSD 的使用手冊非常完整,而且會隨著軟體一起更新。每次一有新的版本推出,FreeBSD 的文件也會做相對的更新。在 FreeBSD 的官方網站上,我們可以輕鬆的取得這些高品質的手冊及文件。

軟體安裝的便利性

FreeBSD 支援的軟體相當多,它將常用的軟體分類管理,當需要安裝軟體時,使用者不必自行到網路上找尋,只要到 FreeBSD ports 目錄中下個指令就安裝完成。

條理分明的系統架構

FreeBSD 目錄結構非常有組織,結構嚴謹,對於系統管理者而言比較不會紊亂。FreeBSD 將系統預設的目錄和管理者自行安裝的程式目錄劃分得十分清楚,管理者在進行升級、維護時可以一目瞭然。

完美的程式開發平台

安裝完 FreeBSD 後,系統所有程式原始碼非常有條理的存放在特定目錄中。對於想要進行程式修改的管理者而言, 不必四處尋找某支程式原始碼。筆者在 FreeBSD 及 Linux 上開發程式多年,我覺得 FreeBSD 原始碼及系統架構十分有組織, 是程式開發最好的平台。

1.4 為什麼不選擇FreeBSD?

許多企業在選擇作業系統時,除了功能本身,很重要的一點是需要技術支援時,可以求助於其它的系統供應商。 雖然有很多顧問公司提供 FreeBSD 的顧問服務,但相對於 Windows 或是 Linux 而言,FreeBSD 的商用技術支援還是比較少, 對於需要企業級服務的的人可能會有所疑慮。

另外,FreeBSD 在新的硬體支援上比較沒有那麼快。例如,最新的網路卡可能在 FreeBSD 上要等幾個月後才會支援。 尤其是在非 X86 的平台上更是如此。有些公司會以 ARM 的 SoC 來開發產品,但 FreeBSD 對於這些新的平台支援度很差。 在這種情況下,您就必須尋求其它的解決方案。