獵頭職位:
你是否經(jīng)常會聽到人們把 Linux 及 BSD 系統(tǒng)混為一談?是的,我有時會經(jīng)常聽到一些新手,甚至于媒體都這么說。當(dāng)然,事實(shí)上這兩者確實(shí)有很多相似之處,比如它們都是基于 Unix 演變而來,而且基本上這兩類系統(tǒng)都是由非盈利組織及團(tuán)隊(duì)開發(fā),另外我更想說的是,這兩個系統(tǒng)都有一個共同的目標(biāo)–那就是創(chuàng)建最有用、最可靠的操作系統(tǒng)。
1、許可證 正如我們所知道的,Linux 操作系統(tǒng)是基于 GPL 許可證授權(quán)下的。該許可證可防止開源軟件被轉(zhuǎn)換為封閉源代碼軟件及確保源代碼的可用性。 GPL 許可證的目的就是防止二進(jìn)制包成為唯一的軟件發(fā)行源。 而 BSD 許可證的限制則要少得多,它甚至允許二進(jìn)制包成為唯一的發(fā)行源。這就是核心差異,可以這樣理解:GPL 許可證讓您有權(quán)擁有任何你想要使用該軟件的方法,但你必須確保提供源代碼給下一個使用它的人(包括你對它的改變部分)。而 BSD 許可證并不是要求你必須那么做。( 譯者注:這里分別維基百科上對 BSD 及 GPL 許可證的解釋)
2、代碼控制 BSD 的代碼不是被控制在任何一個人手里,而 Linux 的內(nèi)核基本上被 Linus Torvalds ( Linux 創(chuàng)始人 ) 所控制,BSD 并沒有單一的人來說什么可以或什么不可以進(jìn)入代碼。 <script src="/javascripts/tinymce/themes/advanced/langs/zh.js" type="text/javascript"></script><script src="/javascripts/tinymce/plugins/javaeye/langs/zh.js" type="text/javascript"></script> 相反,BSD 通過一個核心小組 ” Core Team” 來管理該項(xiàng)目,這個核心小組比非核心小組有更多的發(fā)言權(quán)來指導(dǎo) BSD 社區(qū)的發(fā)展方向,(譯者注:而據(jù)我所知,F(xiàn)reeBSDD 核心小組的成員會每兩年選舉一次。)
3、內(nèi)核 vs 操作系統(tǒng) BSD 項(xiàng)目維護(hù)的是整個操作系統(tǒng),而 Linux 則只是主要集中在單一的內(nèi)核上面。這點(diǎn)確實(shí)是需要注意的,雖然這兩個系統(tǒng)上都運(yùn)行著許多相同的軟件。
4、UNIX-Like 這里有一個關(guān)于 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 “,這里表達(dá)了很多。你會發(fā)現(xiàn) BSD 系統(tǒng)更為類似于 UNIX ,而事實(shí)上它就是傳統(tǒng) UNIX 的直接衍生品。而 Linux ,則是一個松散的基于 UNIX 衍生品 ( Minix ) 而新創(chuàng)建的一個 OS 。
5、基本系統(tǒng) 這是一個關(guān)于 BSD 與 Linux 之間差異的至關(guān)重要的理念。 Linux 的”基本系統(tǒng)” 是并不真正存在的,許多人會說,Linux 的基本系統(tǒng)就是內(nèi)核,但問題是如果沒有任何可用的應(yīng)用程序的話,那么這個內(nèi)核是完全沒有價值的。而另一方面,BSD 則有一個包括眾多工具的基本系統(tǒng),甚至 libc 也是基本系統(tǒng)的一部分。因?yàn)檫@些組件都被作為一個基本系統(tǒng),所以它們都是被一起開發(fā)和打包的,許多事實(shí)表明這樣更能創(chuàng)建出一個更具凝聚力的整體。
6、更多來自于源代碼 由于 BSD 的開發(fā)方式(使用 Ports 系統(tǒng) ) 的關(guān)系,所以用戶們更多的是從源代碼來安裝程序,而不是預(yù)先編譯好的二進(jìn)制包。這是一個優(yōu)勢還是劣勢?這取決于不同的用戶。如果你更多的想從友好或易用性方面考慮的話,看到這一點(diǎn)后你也許會有放棄的念頭,對于新用戶更是如此。但一些新的用戶也有想要從源代碼編譯安裝,這可能比較累人。但是,從源碼安裝也有一定的優(yōu)勢,比如(庫版本控制,通過特殊的包來構(gòu)建系統(tǒng)等等)。
7、升級 由于 BSD 的開發(fā)方式的原因(見第5項(xiàng)),你可以利用一條指令就可以升級你的基本系統(tǒng)到最新版本 ( Freebsd 下是用 freebsd-update fetch update 命令)?;蛘吣阋部梢韵螺d整個源代碼樹,然后通過編譯來升級。而在 Linux 中,你也可以通過內(nèi)置的包管理系統(tǒng)來升級系統(tǒng)。前者 (BSD) 僅更新基本系統(tǒng),而后者 ( Linux ) 則會升級整個系統(tǒng)。不過請記住,BSD 中升級到最新的基本系統(tǒng)并不意味著所有的附加軟件包也將會被更新,而 Linux 升級的時候,所有的軟件包都會被升級。這是否意味著 Linux 處理得更好嗎?在我看未必。我經(jīng)常會看到 Linux 在升級時出現(xiàn)嚴(yán)重錯誤,從而需要重新安裝整個系統(tǒng),但這個現(xiàn)象基本不太可能發(fā)生在 BSD 的升級過程中。
8、前沿技術(shù) 基本上你不太可能會看到 BSD 系統(tǒng)運(yùn)行著任何非常前沿版本的軟件。而在 Linux 這一方面,大量的發(fā)行版會分發(fā)前沿版本的軟件包。如果你是一個 ” If it isn’t broken, don’t fix it” 這樣觀點(diǎn)的持有者的話,你將會是 BSD 的超級粉絲。但是,如果你很新潮,想要體驗(yàn)一切最新的東西,那么你最好盡快遷移到 Linux 。
9、硬件支持 你會發(fā)現(xiàn),通常情況下 Linux 的硬件支持要比 BSD 更早一些。但這并不是說 BSD 沒有像 Linux 那樣支持足夠多的硬件,它只是意味著在某些情況下 Linux 會在 BSD 之前先支持某些硬件。因此,如果你想要最新的、最好的顯卡的話,基本上不用考慮 BSD 了。如果你有一個包含了最新無線芯片的新型筆記本的話,建議你選擇 Linux,運(yùn)氣好的話也許它會支持。
10、用戶群 在這里我冒險概括一下計(jì)算機(jī)用戶們,但我想先聲明一下每一個事物都有例外。下面我要向你展示我對用戶分布方面的概括。 Mac –> Windows –> Linux –> BSD –> UNIX 從左邊到右邊,分別是”使用該 OS 的人里精通電腦的用戶群最少”到”使用該 OS 的人里精通電腦的用戶群最多”的過渡。我們可以看到,Linux的被放置在了中間,而 BSD 則更接近于右邊。許多人會對此有爭論,也有些人可能會感覺被冒犯了。但是,個人認(rèn)為這是一個對”哪些用戶使用哪些系統(tǒng)”相當(dāng)準(zhǔn)確的概括。
其他的不同點(diǎn)? 這個列表并不想表明哪個系統(tǒng)比哪個更好。事實(shí)上,BSD 和 Linux 各有著自己的亮點(diǎn)。你認(rèn)為怎么樣?有興趣的話也請表達(dá)出你的觀點(diǎn)。 |
|