5分鐘了解 Linux 和 BSD 異同
Linux 和 BSD 都是免費的、開源的 UNIX 系列系統,它們甚至使用很多相同的軟體,連不少業界的朋友也恉將兩者混淆,但它們究竟有什麼不同?
兩者最大不同,在作業系統的構造和用戶授權的哲學思想上。許多人所稱的「Linux」實際上不是 Linux。Linux 從技術上說只是 Linux 核心,典型的 Linux 版本則包括了 Linux 核心和許多軟體。這是為什麼 Linux 有時被稱為 GNU/Linux。事實上,許多在 Linux 上使用的軟體,同樣也在 BSD 上使用。Linux 和 BSD 都是 UNIX 系列的作業系統,Linux 是由 Linus Torvalds 在芬蘭上大學的時候開發的。BSD 則代表 Berkeley Software Distribution,源於對美國加州大學伯克利分校所開發的貝爾實驗室UNIX的一系列修改,它最終發展成一個完整的作業系統,現在有多個不同的分支。
系統核心
因為 Linux 是只是一個核心,所以有製作 Linux 版本的需要。所要做的工作就是,彙集那些創建一個完整 Linux 作業系統所需的所有軟體,將它組合成一個像 Ubuntu、Mint、Debian、Red Hat 或者是 Arch 這樣的 Linux 版本,決此全球有許多不同的 Linux 版本。與此相反的是,BSD 這個名字則代表其核心和作業系統,例如 FreeBSD 便是以單一項目方式來維護的。換句話說,如果你想要安裝 FreeBSD,就只有一個 FreeBSD 可供你安裝。如果你想要安裝 Linux,你首先需要在許多 Linux 版本之間選擇。BSD 包括一個名為 Ports 的系統,它提供了一種安裝軟體套件的方式。Ports 系統包含了套件的示程式碼,所以如果想安裝軟體的話,則需要先編譯它們。如果曾經使用過以前流行的 Gentoo Linux,有點類似那樣。不過套件也可以是預安裝的二進制形式,以便不需要花時間和系統資源編譯就能運行。
用戶授權
用戶授權是兩者的主要差異,雖然它不會對大多數人產生影響。Linux 使用 GNU 通用公共用戶授權即 GPL。如果你修改了 Linux 核心,並將其分發,就必須放出修改的原程式碼。BSD 使用 BSD 用戶授權,如果修改了 BSD 核心或並且發佈它,也不需要必須公開程式碼。你可以自由地對你的 BSD 程式碼做任何你想做的事,你沒有義務發佈修改的程式碼,當然你想發佈也行。兩者都是開放源碼的,但是以不同的方式。人們有時會陷入關於哪種用戶授權是「更自由」的辯論。GPL 可以幫助用戶以確保他們可以擁有 GPL 軟體的程式碼,並限制開發人員迫使他們開放程式碼。BSD 用戶授權不能確保用戶可以擁有程式碼,只是給開發人員選擇是否公開程式碼的權利,即使他們想要把它變成一個閉源項目。
BSD分支
目前三個主流 BSD 系統分別是FreeBSD、NetBSD和OpenBSD。FreeBSD 是最受歡迎的,針對高性能和易用性。支援 Intel 和 AMD 的32位和64位元處理器。NetBSD 被設計運行在幾乎任何架構上,支援更多的體系結構。OpenBSD 為最大化的安全性設計的,這不僅僅它宣稱的功能,在實踐中也確實如此。它是為銀行和其他重要機構的關鍵系統設計的。還有兩個其他的重要 BSD 系統 DragonFly BSD 和 Darwin 即 Mac OS X。DragonFly BSD 的設計目標,是提供一個運行在多線程環境中的作業系統如計算機群集。 Mac OS X 實際上基於 Darwin 系統,而 Darwin 系統基於 BSD。它與其他的 BSD 有點不同,雖然底層核心和其他的軟體是開源的 BSD 程式碼,但作業系統的大部分是不公開的閉源 Mac OS 程式碼。蘋果在 BSD 基礎上開發了 Mac OS X 和 iOS,這樣他們就不必寫作業系統底層,就像 Google 在 Linux 基礎上開發 Android 系統一樣。
選擇 BSD 還是 Linux?
Linux 顯然比 FreeBSD 更受歡迎,Linux 往往會比 FreeBSD 更早提供新硬體支援。BSD 有一個兼容套件可用,使之能像大多數的其他軟體一樣,原生的執行 Linux 已編譯好的程式。如果使用過 Linux, FreeBSD 不會讓你感覺到太大的不同。如果把 FreeBSD 作為桌面系統,你也可以使用相同的 GNOME,KDE 或 Xfce 桌面環境,你也可以在BSD上使用 Linux 上的大多數的其他軟體。但注意 FreeBSD 不會自動安裝的圖形化桌面,所以你要花相對於 Linux 更多的心思來照顧你的 BSD。FreeBSD 的可靠性和穩定性,也許更適合作為伺服器的系統。部分廠商會選擇 BSD 而不是 Linux,因為 BSD 的話就不必放出他們修改的程式碼。如果你是一個 PC 桌面用戶,你真的不需要太過在意 BSD。你可能會喜歡 Linux,因為它具有更先進的硬體支援、更容易安裝,具有現代作業系統的特點。如果你關注服務器或嵌入式的設備,你可能會更喜歡 FreeBSD。