作者:Jack Wallen 來源:IT專家網
Linux的標志是一只十分可愛的小企鵝,而FreeBSD的標志是一個拿著叉子的小惡魔。你是否經常會聽到人們把 Linux及 BSD 系統混為一談?是的,我有時會經常聽到一些新手,甚至於媒體都這麼說。當然,事實上這兩者確實有很多相似之處,比如它們都是基於 Unix演變而來,而且基本上這兩類系統都是由非盈利組織及團隊開發,另外我更想說的是,這兩個系統都有一個共同的目標–那就是創建最有用、最可靠的操作系統。
不過話說回來,這兩個系統確實存在著明顯的差異,當人們忽略這點的時候,整個 BSD 社區都會感到異常的憤怒,因此我們也可以經常看到 BSD 社區人員或 BSD 用戶會對 Linux不屑一顧。因此,我會盡我所能來幫助我的 BSD 的弟兄們,讓更多的人了解到 Linux與 BSD 的不同之處在哪裡。
1、許可證
正如我們所知道的,Linux操作系統是基於 GPL 許可證授權下的。該許可證可防止開源軟件被轉換為封閉源代碼軟件及確保源代碼的可用性。 GPL 許可證的目的就是防止二進制包成為唯一的軟件發行源。
而 BSD 許可證的限制則要少得多,它甚至允許二進制包成為唯一的發行源。這就是核心差異,可以這樣理解:GPL 許可證讓您有權擁有任何你想要使用該軟件的方法,但你必須確保提供源代碼給下一個使用它的人(包括你對它的改變部分)。而 BSD 許可證並不是要求你必須那麼做。( 譯者注:這裡分別是維基百科上對 BSD 及 GPL 許可證的解釋)
2、代碼控制
BSD 的代碼不是被控制在任何一個人手裡,而 Linux的內核基本上被 Linus Torvalds ( Linux創始人)所控制,BSD 並沒有單一的人來說什麼可以或什麼不可以進入代碼。相反,BSD 通過一個核心小組” Core Team”來管理該項目,這個核心小組比非核心小組有更多的發言權來指導 BSD 社區的發展方向,(譯者注:而據我所知,FreeBSDD 核心小組的成員會每兩年選舉一次。)
3、內核vs 操作系統
BSD 項目維護的是整個操作系統,而 Linux則只是主要集中在單一的內核上面。這點確實是需要注意的,雖然這兩個系統上都運行著許多相同的軟件。
4、UNIX-Like
這裡有一個關於 BSD vs Linux的古老說法:” BSD is what you get when a bunch of UNIX hackers sit down to try to port a UNIX system to the PC. Linux is what you get when a bunch of PC hackers sit down and try to write a UNIX system for the PC “,這裡表達了很多。你會發現 BSD 系統更為類似於 UNIX ,而事實上它就是傳統 UNIX 的直接衍生品。而 Linux,則是一個松散的基於 UNIX 衍生品( Minix)而新創建的一個 OS 。
5、基本系統
這是一個關於 BSD 與 Linux 之間差異的至關重要的理念。 Linux的”基本系統”是並不真正存在的,許多人會說,Linux的基本系統就是內核,但問題是如果沒有任何可用的應用程序的話,那麼這個內核是完全沒有價值的。而另一方面,BSD 則有一個包括眾多工具的基本系統,甚至 libc 也是基本系統的一部分。因為這些組件都被作為一個基本系統,所以它們都是被一起開發和打包的,許多事實表明這樣更能創建出一個更具凝聚力的整體。
6、更多來自於源代碼
由於 BSD 的開發方式(使用 Ports 系統)的關系,所以用戶們更多的是從源代碼來安裝程序,而不是預先編譯好的二進制包。這是一個優勢還是劣勢?這取決於不同的用戶。如果你更多的想從友好或易用性方面考慮的話,看到這一點後你也許會有放棄的念頭,對於新用戶更是如此。但一些新的用戶也有想要從源代碼編譯安裝,這可能比較累人。但是,從源碼安裝也有一定的優勢,比如庫版本控制,通過特殊的包來構建系統等等。
7、升級
由於 BSD 的開發方式的原因(見第5項),你可以利用一條指令就可以升級你的基本系統到最新版本( Freebsd 下是用 freebsd-update fetch update 命令)。或者你也可以下載整個源代碼樹,然後通過編譯來升級。而在Linux中,你也可以通過內置的包管理系統來升級系統。前者(BSD)僅更新基本系統,而後者( Linux)則會升級整個系統。不過請記住,BSD 中升級到最新的基本系統並不意味著所有的附加軟件包也將會被更新,而Linux升級的時候,所有的軟件包都會被升級。這是否意味著 Linux處理得更好嗎?在我看未必。我經常會看到Linux在升級時出現嚴重錯誤,從而需要重新安裝整個系統,但這個現象基本不太可能發生在 BSD 的升級過程中。
8、前沿技術
基本上你不太可能會看到 BSD 系統運行著任何非常前沿版本的軟件。而在 Linux 這一方面,大量的發行版會分發前沿版本的軟件包。如果你是一個”If it isn’t broken, don’t fix it”這樣觀點的持有者的話,你將會是 BSD 的超級粉絲。但是,如果你很新潮,想要體驗一切最新的東西,那麼你最好盡快遷移到Linux。
9、硬件支持
你會發現,通常情況下 Linux 的硬件支持要比 BSD 更早一些。但這並不是說 BSD 沒有像 Linux那樣支持足夠多的硬件,它只是意味著在某些情況下 Linux 會在 BSD 之前先支持某些硬件。因此,如果你想要最新的、最好的顯卡的話,基本上不用考慮 BSD 了。如果你有一個包含了最新無線芯片的新型筆記本的話,建議你選擇 Linux,運氣好的話也許它會支持。
10、用戶群
在這裡我冒險概括一下計算機用戶們,但我想先聲明一下每一個事物都有例外。下面我要向你展示我對用戶分布方面的概括。
Mac –> Windows –> Linux–> BSD –> UNIX
從左邊到右邊,分別是”使用該 OS 的人裡精通電腦的用戶群最少”到”使用該 OS 的人裡精通電腦的用戶群最多”的過渡。我們可以看到,Linux的被放置在了中間,而 BSD 則更接近於右邊。許多人會對此有爭論,也有些人可能會感覺被冒犯了。但是,個人認為這是一個對”哪些用戶使用哪些系統”相當准確的概括。