Linux與BSD有什么不同?
Linux 和 BSD 都(dou)是(shi)免費的(de)(de)(de),開源的(de)(de)(de),類Unix系(xi)(xi)統(tong)。他(ta)們(men)(men)甚至(zhi)使用很多相(xiang)同(tong)的(de)(de)(de)軟件。他(ta)們(men)(men)看上去簡直就像(xiang)是(shi)一個(ge)操作系(xi)(xi)統(tong),那(nei)么(me),它們(men)(men)有什(shen)么(me)不同(tong)嗎?其(qi)實,兩者(zhe)之間的(de)(de)(de)不同(tong), 遠遠超出了(le)我們(men)(men)下(xia)面提到的(de)(de)(de)這些,尤其(qi)是(shi)在構建完整操作系(xi)(xi)統(tong)和許(xu)可授(shou)權的(de)(de)(de)哲學思想上,更(geng)是(shi)相(xiang)差(cha)甚遠。通過這篇短文將可以簡單的(de)(de)(de)了(le)解它們(men)(men)之間的(de)(de)(de)不同(tong)。
基礎
許多人所稱(cheng)的“Linux”實際上(shang)(shang)不是 Linux。Linux 從技術上(shang)(shang)說只是 Linux 內(nei)核,典型的 Linux 發行版則(ze)包括了 Linux 內(nei)核和許多軟件。這(zhe)是為(wei)什么(me) Linux 有時被(bei)稱(cheng)為(wei) GNU/Linux。事實上(shang)(shang),許多在 Linux 上(shang)(shang)使(shi)(shi)用(yong)的軟件同樣也在 BSD 上(shang)(shang)使(shi)(shi)用(yong)。
Linux 和(he)(he) BSD 都(dou)是類 UNIX 操作(zuo)系(xi)統(tong)。我們可以通過(guo)閱(yue)讀類 UNIX 操作(zuo)系(xi)統(tong)歷史發(fa)現 Linux 和(he)(he) BSD 有不同的(de)譜系(xi)。Linux 是由(you) Linus Torvalds 在芬蘭上大學(xue)(xue)的(de)時候開(kai)發(fa)的(de)。BSD 則代(dai)表“Berkeley Software Distribution,伯克(ke)利(li)軟件套件”,其源于對加(jia)州大學(xue)(xue)伯克(ke)利(li)分(fen)校(xiao)所開(kai)發(fa)的(de)貝爾實驗室(shi)UNIX的(de)一(yi)系(xi)列修改,它最(zui)終發(fa)展成一(yi)個(ge)完整的(de)操作(zuo)系(xi)統(tong),現 在有多個(ge)不同的(de)BSD分(fen)支(zhi)。
內核vs完整操作系統
嚴格的(de)說,Linux 是只是一個(ge)內核。制作(zuo) Linux 發行版所要(yao)做的(de)工(gong)作(zuo)就(jiu)是,匯集那些創(chuang)建一個(ge)完整 Linux 操作(zuo)系統(tong)所需(xu)的(de)所有(you)軟件,將它組(zu)合成一個(ge)像(xiang) Ubuntu、Mint、Debian、RedHat 或者(zhe)是 Arch 這(zhe)樣的(de) Linux 發行版。有(you)許多不同的(de) Linux 發行版。
與此相反的(de)(de)是,BSD 這個(ge)名字則代表(biao)其內核(he)和操(cao)作(zuo)系統。例如,FreeBSD 提供(gong)了 FreeBSD 內核(he)和 FreeBSD 操(cao)作(zuo)系統。它是作(zuo)為一個(ge)單一的(de)(de)項目維護的(de)(de)。換句話(hua)說(shuo),如果(guo)(guo)你(ni)(ni)想要安裝(zhuang) FreeBSD,就只(zhi)有一個(ge) FreeBSD 可供(gong)你(ni)(ni)安裝(zhuang)。如果(guo)(guo)你(ni)(ni)想要安裝(zhuang) Linux,你(ni)(ni)首先需要在許多(duo) Linux 發行(xing)版(ban)之間選擇。
BSD 包括一個名(ming)為 Ports 的(de)(de)(de)系統(tong)(tong),它提(ti)供(gong)了(le)一種安裝(zhuang)(zhuang)軟(ruan)件包的(de)(de)(de)方式。Ports 系統(tong)(tong)包含了(le)軟(ruan)件包的(de)(de)(de)源代碼,所以(yi)(yi)(yi)您的(de)(de)(de)計算機如果(guo)想安裝(zhuang)(zhuang)軟(ruan)件的(de)(de)(de)話,則需要先編(bian)譯他們(men)。(如果(guo)您曾(ceng)經使用(yong)過以(yi)(yi)(yi)前流(liu)行(xing)的(de)(de)(de) Gentoo,有點類似那樣。)不過,軟(ruan)件包也可以(yi)(yi)(yi)是預(yu)安裝(zhuang)(zhuang)的(de)(de)(de)二進(jin)制形式,以(yi)(yi)(yi)便你不需要花時間和(he)系統(tong)(tong)資源編(bian)譯他們(men)就能運(yun)行(xing)。
許可證
許可證是典(dian)型的(de)差異,雖然它不會對大多(duo)數人產生影(ying)響。Linux 使用(yong) GNU 通用(yong)公(gong)共許可證,即 GPL。如果你(ni)修改了(le) Linux 內核,并將其分發(fa),你(ni)就必須放出(chu)您的(de)修改的(de)源代碼。
BSD 使用 BSD 許可(ke)證(zheng)。如果你(ni)(ni)(ni)修(xiu)(xiu)改(gai)了 BSD 內核或發(fa)(fa)行版,并(bing)且發(fa)(fa)布(bu)(bu)它,你(ni)(ni)(ni)根本(ben)不(bu)需(xu)要必須發(fa)(fa)布(bu)(bu)其源代(dai)碼(ma)。你(ni)(ni)(ni)可(ke)以自由(you)地對你(ni)(ni)(ni)的(de)(de)(de) BSD 代(dai)碼(ma)做(zuo)任何你(ni)(ni)(ni)想(xiang)(xiang)做(zuo)的(de)(de)(de)事(shi)情,你(ni)(ni)(ni)沒有義(yi)務發(fa)(fa)布(bu)(bu)的(de)(de)(de)你(ni)(ni)(ni)修(xiu)(xiu)改(gai)的(de)(de)(de)源代(dai)碼(ma),當然(ran)你(ni)(ni)(ni)想(xiang)(xiang)發(fa)(fa)布(bu)(bu)也行。
兩(liang)者都是(shi)開(kai)放(fang)源碼的(de),但是(shi)以(yi)不同的(de)方式。人(ren)們(men)(men)有時會陷入關(guan)于哪種許可(ke)(ke)證是(shi)“更(geng)自由”的(de)辯論。GPL 可(ke)(ke)以(yi)幫助用(yong)戶(hu)(hu)以(yi)確(que)保(bao)他(ta)們(men)(men)可(ke)(ke)以(yi)擁有 GPL 軟件的(de)源代(dai)碼,并限制開(kai)發人(ren)員迫使他(ta)們(men)(men)開(kai)放(fang)代(dai)碼。BSD 許可(ke)(ke)證并不能確(que)保(bao)用(yong)戶(hu)(hu)可(ke)(ke)以(yi)擁有源代(dai)碼,而是(shi)給開(kai)發人(ren)員選擇是(shi)否公布代(dai)碼的(de)權利,即使他(ta)們(men)(men)想要把它變(bian)成(cheng)一(yi)個閉源項目。
BSD分支
以下是通常認可的三個“主流” BSD 操作系統:
- FreeBSD: FreeBSD 是最受歡迎的 BSD,針對高性能和易用性。它支持英特爾和 AMD 的32位和64位處理器。
- NetBSD: NetBSD 被設計運行在幾乎任何架構上,支持更多的體系結構。在他們的主頁上的格言是"理所當然,我們運行在 NetBSD 上"。
- OpenBSD:OpenBSD 為最大化的安全性設計的 —— 這不僅僅它宣稱的功能,在實踐中也確實如此。它是為銀行和其他重要機構的關鍵系統設計的。
還有兩個其他(ta)的重(zhong)要(yao) BSD 操作(zuo)系統:
- 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 更(geng)受歡迎。例如,Linux 往(wang)往(wang)會比 FreeBSD 更(geng)早(zao)提供新硬件(jian)的(de)(de)支(zhi)持。BSD 有一(yi)個兼(jian)容包可用,使之(zhi)能像(xiang)大多數的(de)(de)其他(ta)軟件(jian)一(yi)樣原生的(de)(de)執行 Linux 二進制(zhi)程序(xu)。
如果(guo)您使用過(guo) Linux, FreeBSD 不會讓你感覺到太(tai)大的(de)不同。如果(guo)把 FreeBSD 作為(wei)桌(zhuo)面(mian)操作系統,你也可以使用相同的(de) GNOME,KDE 或 Xfce 桌(zhuo)面(mian)環境,你也可以在BSD上使用 Linux 上的(de)大多(duo)數的(de)其他軟件(jian)。有(you)一點需要(yao)注意,FreeBSD 不會自動安裝的(de)圖形化桌(zhuo)面(mian),所以你要(yao)花相對于 Linux 更多(duo)的(de)心思來照顧你的(de)BSD。BSD 更守(shou)舊一些。
FreeBSD 的(de)可靠性和穩定性也(ye)許更(geng)適合作為(wei)服務器的(de)操作系統。而廠商也(ye)會(hui)選擇 BSD 而不是 Linux 作為(wei)其(qi)操作系統,因為(wei)這樣他(ta)們就不必放出他(ta)們修(xiu)改的(de)代碼。
如(ru)果(guo)你(ni)(ni)是一個 PC 桌面用戶,你(ni)(ni)真的不需要(yao)太過在(zai)意 BSD。你(ni)(ni)可(ke)能會喜歡(huan)(huan) Linux,因為它具有更先進的硬件支持,更容(rong)易安裝(zhuang),具有現代操作系統(tong)的特點。如(ru)果(guo)你(ni)(ni)關注(zhu)服務(wu)器或嵌入(ru)式的設備,你(ni)(ni)可(ke)能會更喜歡(huan)(huan) FreeBSD。
我們可能(neng)會(hui)聽到一些(xie)人說他們在(zai)桌(zhuo)面電腦上使(shi)用 FreeBSD,你當然(ran)也可能(neng)是其中之一!但像 Ubuntu 或 Mint 一樣(yang)的開(kai)源操作系統對(dui)于多數用戶(hu)來說更體驗良好和(he)更先進些(xie)。