Linux與BSD有什麼不同?

linuxeden發表於2014-08-18

Linux 和 BSD 都是免費的,開源的,類Unix系統。他們甚至使用很多相同的軟體。他們看上去簡直就像是一個作業系統,那麼,它們有什麼不同嗎?其實,兩者之間的不同,遠遠超出了我們下面提到的這些,尤其是在構建完整作業系統和許可授權的哲學思想上,更是相差甚遠。通過這篇短文將可以簡單的瞭解它們之間的不同。

基礎

許多人所稱的“Linux”實際上不是 Linux。Linux 從技術上說只是 Linux 核心,典型的 Linux 發行版則包括了 Linux 核心和許多軟體。這是為什麼 Linux 有時被稱為 GNU/Linux。事實上,許多在 Linux 上使用的軟體同樣也在 BSD 上使用。

Linux 和 BSD 都是類 UNIX 作業系統。我們可以通過閱讀類 UNIX 作業系統歷史發現 Linux 和 BSD 有不同的譜系。Linux 是由 Linus Torvalds 在芬蘭上大學的時候開發的。BSD 則代表“Berkeley Software Distribution,伯克利軟體套件”,其源於對加州大學伯克利分校所開發的貝爾實驗室UNIX的一系列修改,它最終發展成一個完整的作業系統,現在有多個不同的BSD分支。

核心vs完整作業系統

嚴格的說,Linux 是隻是一個核心。製作 Linux 發行版所要做的工作就是,彙集那些建立一個完整 Linux 作業系統所需的所有軟體,將它組合成一個像 Ubuntu、Mint、Debian、RedHat 或者是 Arch 這樣的 Linux 發行版。有許多不同的 Linux 發行版。

與此相反的是,BSD 這個名字則代表其核心和作業系統。例如,FreeBSD 提供了 FreeBSD 核心和 FreeBSD 作業系統。它是作為一個單一的專案維護的。換句話說,如果你想要安裝 FreeBSD,就只有一個 FreeBSD 可供你安裝。如果你想要安裝 Linux,你首先需要在許多 Linux 發行版之間選擇。

BSD 包括一個名為 Ports 的系統,它提供了一種安裝軟體包的方式。Ports 系統包含了軟體包的原始碼,所以您的計算機如果想安裝軟體的話,則需要先編譯他們。(如果您曾經使用過以前流行的 Gentoo,有點類似那樣。)不過,軟體包也可以是預安裝的二進位制形式,以便你不需要花時間和系統資源編譯他們就能執行。

許可證

許可證是典型的差異,雖然它不會對大多數人產生影響。Linux 使用 GNU 通用公共許可證,即 GPL。如果你修改了 Linux 核心,並將其分發,你就必須放出您的修改的原始碼。

BSD 使用 BSD 許可證。如果你修改了 BSD 核心或發行版,並且釋出它,你根本不需要必須釋出其原始碼。你可以自由地對你的 BSD 程式碼做任何你想做的事情,你沒有義務釋出的你修改的原始碼,當然你想釋出也行。

兩者都是開放原始碼的,但是以不同的方式。人們有時會陷入關於哪種許可證是“更自由”的辯論。GPL 可以幫助使用者以確保他們可以擁有 GPL 軟體的原始碼,並限制開發人員迫使他們開放程式碼。BSD 許可證並不能確保使用者可以擁有原始碼,而是給開發人員選擇是否公佈程式碼的權利,即使他們想要把它變成一個閉源專案。

BSD分支

以下是通常認可的三個“主流” BSD 作業系統:

  • FreeBSD: FreeBSD 是最受歡迎的 BSD,針對高效能和易用性。它支援英特爾和 AMD 的32位和64位處理器。
  • NetBSD: NetBSD 被設計執行在幾乎任何架構上,支援更多的體系結構。在他們的主頁上的格言是”理所當然,我們執行在 NetBSD 上”。
  • OpenBSD:OpenBSD 為最大化的安全性設計的 —— 這不僅僅它宣稱的功能,在實踐中也確實如此。它是為銀行和其他重要機構的關鍵系統設計的。

還有兩個其他的重要 BSD 作業系統:

  • DragonFly BSD: DragonFly BSD 的設計目標是提供一個執行在多執行緒環境中的作業系統 —— 例如,計算機叢集。
  • Darwin / Mac OS X: Mac OS X 實際上基於 Darwin 作業系統,而 Darwin 系統基於 BSD。它與其他的 BSD 有點不同,雖然底層核心和其他的軟體是開原始碼(BSD 程式碼),但作業系統的大部分是閉源的 Mac OS 程式碼)。蘋果在 BSD 基礎上開發了 Mac OS X 和 iOS,這樣他們就不必寫作業系統底層,就像 谷歌在 Linux 基礎上開發 android 系統一樣。

你為什麼會選擇 BSD 而不是 Linux?

Linux 顯然比 FreeBSD 更受歡迎。例如,Linux 往往會比 FreeBSD 更早提供新硬體的支援。BSD 有一個相容包可用,使之能像大多數的其他軟體一樣原生的執行 Linux 二進位制程式。

如果您使用過 Linux, FreeBSD 不會讓你感覺到太大的不同。如果把 FreeBSD 作為桌面作業系統,你也可以使用相同的 GNOME,KDE 或 Xfce 桌面環境,你也可以在BSD上使用 Linux 上的大多數的其他軟體。有一點需要注意,FreeBSD 不會自動安裝的圖形化桌面,所以你要花相對於 Linux 更多的心思來照顧你的BSD。BSD 更守舊一些。

FreeBSD 的可靠性和穩定性也許更適合作為伺服器的作業系統。而廠商也會選擇 BSD 而不是 Linux 作為其作業系統,因為這樣他們就不必放出他們修改的程式碼。

如果你是一個 PC 桌面使用者,你真的不需要太過在意 BSD。你可能會喜歡 Linux,因為它具有更先進的硬體支援,更容易安裝,具有現代作業系統的特點。如果你關注伺服器或嵌入式的裝置,你可能會更喜歡 FreeBSD。

我們可能會聽到一些人說他們在桌面電腦上使用 FreeBSD,你當然也可能是其中之一!但像 Ubuntu 或 Mint 一樣的開源作業系統對於多數使用者來說更體驗良好和更先進些。

相關文章