我們首先要來了解一下什么是 FreeBSD,什么又是 linux。
FreeBSD 是一種類 UNIX 操作系統,是由經過 BSD、386BSD 和 4.4BSD 發展而來的 Unix 的一個重要分支。FreeBSD 為不同架構的計算機系統提供了不同程度的支持。并且一些原來 BSD UNIX 的開發者后來轉到 FreeBSD 的開發,使得 FreeBSD 在內部結構和系統 API 上和 UNIX 有很大的兼容性。由于 FreeBSD 寬松的法律條款,其代碼被其他很多系統借鑒,包括蘋果公司的 macOS,正是由于 macOS 的 UNIX 兼容性,使得 macOS 獲得了 UNIX 商標認證。
FreeBSD 支持 amd64(x86_64)、X86(i386)、ARM、AArch64、IA-64、PowerPC、PC-98、SPARC 等架構(不同版本支持有所不同)(詳細情況見官方文檔)。
FreeBSD 和 Linux 的相似處
FreeBSD 和 Linux 是兩個自由開源的軟件。實際上,它們的用戶可以很容易的檢查并修改源代碼,用戶擁有絕對的自由。而且,FreeBSD 和 Linux 都是類 Unix 系統,它們的內核、內部組件、庫程序都使用從歷史上的 AT&T Unix 繼承來的算法。FreeBSD 從根基上更像 Unix 系統,而 Linux 是作為自由的類 Unix 系統發布的。許多工具應用都可以在 FreeBSD 和 Linux 中找到,實際上,他們幾乎有同樣的功能。
此外,FreeBSD 能夠運行大量的 Linux 應用。它可以安裝一個 Linux 的兼容層,這個兼容層可以在編譯 FreeBSD 時加入 AAC Compact Linux 得到,或通過下載已編譯了 Linux 兼容層的 FreeBSD 系統,其中會包括兼容程序:aac_linux.ko。不同于 FreeBSD 的是,Linux 無法運行 FreeBSD 的軟件。
FreeBSD 和 Linux 的區別
許可證
兩個系統的區別首先在于它們的許可證。Linux 以 GPL 許可證發行,它為用戶提供閱讀、發行和修改源代碼的自由,GPL 許可證幫助用戶避免僅僅發行二進制。而 FreeBSD 以 BSD 許可證發布,BSD 許可證比 GPL 更寬容,因為其衍生著作不需要仍以該許可證發布。這意味著任何用戶能夠使用、發布、修改代碼,并且不需要維持之前的許可證。
您可以依據您的需求,在兩種許可證中選擇一種。首先是 BSD 許可證,由于其特殊的條款,它更受用戶青睞。實際上,這個許可證使用戶在保證源代碼的封閉性的同時,可以售賣以該許可證發布的軟件。再說說 GPL,它需要每個使用以該許可證發布的軟件的用戶多加注意。
如果想在以不同許可證發布的兩種軟件中做出選擇,您需要了解他們各自的許可證,以及他們開發中的方法論,從而能了解他們特性的區別,來選擇更適合自己需求的。
控制
由于 FreeBSD 和 Linux 是以不同的許可證發布的,Linus Torvalds 控制著 Linux 的內核,而 FreeBSD 卻與 Linux 不同,它并未被控制。我個人更傾向于使用 FreeBSD 而不是 Linux,這是因為 FreeBSD 才是絕對的自由軟件,不存在控制者。Linux 和 FreeBSD 還有其他的不同之處,我建議您先不急著做出選擇,等讀完本文后再做出您的選擇。
操作系統
Linux 主要指內核系統,這與 FreeBSD 不同,FreeBSD 的整個系統都被維護著。FreeBSD 的內核和一組由 FreeBSD 團隊開發的軟件被作為一個整體進行維護。實際上,FreeBSD 開發人員能夠遠程且高效的管理核心操作系統。
而 Linux 方面,在管理系統方面有一些困難。由于不同的組件由不同的源維護,Linux 開發者需要將它們匯集起來,才能達到同樣的功能。
FreeBSD 和 Linux 都給了用戶大量的可選軟件和發行版,但他們管理的方式不同。FreeBSD 是統一的管理方式,而 Linux 需要被分別維護。
硬件支持
說到硬件支持,Linux 比 FreeBSD 做的更好。但這不意味著 FreeBSD 沒有像 Linux 那樣支持硬件的能力。他們只是在管理的方式不同,這通常還依賴于您的需求。因此,如果您在尋找最新的解決方案,FreeBSD 更適應您;但如果您在尋找更多的普適性,那最好使用 Linux。
原生 FreeBSD Vs 原生 Linux
兩者的原生系統的區別又有不同。就像我之前說的,Linux 是一個 Unix 的替代系統,由 Linus Torvalds 編寫,并由網絡上的許多極客一起協助實現的。Linux 有一個現代系統所需要的全部功能,諸如虛擬內存、共享庫、動態加載、優秀的內存管理等。它以 GPL 許可證發布。
FreeBSD 也繼承了 Unix 的許多重要的特性。FreeBSD 作為在加州大學開發的 BSD 的一種發行版。開發 BSD 的最重要的原因是用一個開源的系統來替代 AT&T 操作系統,從而給用戶無需 AT&T 許可證便可使用的能力。
許可證的問題是開發者們最關心的問題。他們試圖提供一個最大化克隆 Unix 的開源系統。這影響了用戶的選擇,由于 FreeBSD 使用 BSD 許可證進行發布,因而相比 Linux 更加自由。
支持的軟件包
從用戶的角度來看,另一個二者不同的地方便是軟件包以及從源碼安裝的軟件的可用性和支持。Linux 只提供了預編譯的二進制包,這與 FreeBSD 不同,它不但提供預編譯的包,而且還提供從源碼編譯和安裝的構建系統。使用它的 ports 工具,FreeBSD 給了您選擇使用預編譯的軟件包(默認)和在編譯時定制您軟件的能力。(LCTT 譯注:此處說明有誤。Linux 也提供了源代碼方式的包,并支持自己構建。)
這些 ports 允許您構建所有支持 FreeBSD 的軟件。而且,它們的管理還是層次化的,您可以在 /usr/ports 下找到源文件的地址以及一些正確使用 FreeBSD 的文檔。
這些提到的 ports 給予你產生不同軟件包版本的可能性。FreeBSD 給了您通過源代碼構建以及預編譯的兩種軟件,而不是像 Linux 一樣只有預編譯的軟件包。您可以使用兩種安裝方式管理您的系統。
FreeBSD 和 Linux 常用工具比較
有大量的常用工具在 FreeBSD 上可用,并且有趣的是他們由 FreeBSD 的團隊所擁有。相反的,Linux 工具來自 GNU,這就是為什么在使用中有一些限制。(LCTT 譯注:這也是 Linux 正式的名稱被稱作“GNU/Linux”的原因,因為本質上 Linux 其實只是指內核。)
實際上 FreeBSD 采用的 BSD 許可證非常有益且有用。因此,您有能力維護核心操作系統,控制這些應用程序的開發。有一些工具類似于它們的祖先 - BSD 和 Unix 的工具,但不同于 GNU 的套件,GNU 套件只想做到最小的向后兼容。
標準 Shell
FreeBSD 默認使用 tcsh。它是 csh 的評估版,由于 FreeBSD 以 BSD 許可證發行,因此不建議您在其中使用 GNU 的組件 bash shell。bash 和 tcsh 的區別僅僅在于 tcsh 的腳本功能。實際上,我們更推薦在 FreeBSD 中使用 sh shell,因為它更加可靠,可以避免一些使用 tcsh 和 csh 時出現的腳本問題。
一個更加層次化的文件系統
像之前提到的一樣,使用 FreeBSD 時,基礎操作系統以及可選組件可以被很容易的區別開來。這導致了一些管理它們的標準。在 Linux 下,/bin,/sbin,/usr/bin 或者 /usr/sbin 都是存放可執行文件的目錄。FreeBSD 不同,它有一些附加的對其進行組織的規范。基礎操作系統被放在 /usr/local/bin 或者 /usr/local/sbin 目錄下。這種方法可以幫助管理和區分基礎操作系統和可選組件。
審核編輯 黃昊宇
-
Linux
+關注
關注
87文章
11326瀏覽量
209964 -
freebsd
+關注
關注
0文章
37瀏覽量
10793
發布評論請先 登錄
相關推薦
評論