閱讀773 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Linux 與 BSD 有什麼不同?

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 一樣的開源操作係統對於多數用戶來說更體驗良好和更先進些。

圖片來源: atzerok on Flickr


via: https://www.howtogeek.com/190773/htg-explains-whats-the-difference-between-linux-and-bsd/

譯者:MikeCoder 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出

本文地址:https://linux.cn/article-3186-1.html

最後更新:2017-04-03 06:03:03

  上一篇:go java.util.concurrent包(5)——CountDownLatch使用
  下一篇:go Word2010中搜狗拚音輸入法(各種輸入法)消失了的解決辦法