BSD東山再起

火星人 @ 2014-03-12 , reply:0


  摘要:  現在大家的焦點都集中在 Linux上,可是另外一種 可以免費獲得的操作系統又怎麼樣了呢?在這篇對BSD家族 的綜述中,Greg Lehey回顧了不同BSD項目的歷史,描述了 他們的特徵,並且對你為什麼將會在你的Sun計算機上運行 BSD或者你甚至會在BSD與 Linux中決定選擇BSD作了 一番考量。

———————————————————————————

經歷了很長時間以後,人們最終開始接受了基於System V上的 Solaris系統,它取代了 SunOS 4。儘管六年是一段很長的時 間,但是如果 Sun當初繼續維護SunOS 4 ,那也許會花費更長 的一段時間。人們為什麼會對舊系統如此忠誠呢?畢竟它們都 是屬於Unix家族呀。

我絕不是想在這裡重新點燃 SunOS與Solaris 的爭論,但是我 想讓大家注意下 SunOS 4與 SunOS 5的最大一點區別,今天的 Solaris 操作系統的組件:SunOS 4 是基於4.2 BSD的,這 是由加州大學Berkeley分校開發的Unix版本,也是第一個支持 TCP/IP的操作系統。相反,SunOS 5 (通常稱為Solaris ,雖 然這種稱呼不太準確),是基於AT&T的Unix System V.4 的。 BSD和System V的顯著差異使得就算是在 SunOS 4「死亡」 六年以後,它仍然擁有大量的支持者。它不能在現代硬體上運 行實在是太可惜了。

當 SunOS 4不能在現代硬體上運行的時候,其它種類的BSD 卻可以。此外,它們還是免費的。最近的對 Linux的宣傳似乎 有意模糊存在著其它的免費操作系統的事實。早在1991年,在 Linux 計劃尚未付諸實施之時,Berkeley人就在準備發布運行 於Intel 平台上的免費的4.3 BSD了。另外,Berkeley軟體 設計公司(BSDI)也在寫一個商用的版本。但是Unix系統 實驗室(USL)對BSDI的起訴,說他們非法使用了AT&T 的源碼,使得這些努力受到了嚴重的阻礙。

這件案子在1994年得到解決。解決辦法中只有一項條款為公眾 所知:BSDI請求將它的codebase移至4.4 BSD Lite,這是 Berkeley的計算機科學研究小組解散前發布的最後一個BSD 系列的版本。AT&T認可這個版本不包含它的源碼。就這樣,免 費BSD項目也移至4.4 BSD-Lite的基礎上。

● 現代的BSD

大家停止使用 SunOS 4的一個主要原因是因為它過時了,特別 是它不支持現代的硬體。那麼4.4 BSD的家族成員呢?它們 各自擁有各自的重點:

BSD/OS

BSD/OS是BSDI的產品。儘管曾嘗試將它引入 SPARC 結構,但是它目前只能在Intel 上運行。看起來BSDI已經 認定 SPARC的版本已經越來越不值得做了。作為唯一一種商業 銷售的BSD產品,它提供優良的售後服務。

FreeBSD

FreeBSD是目前最流行的BSD產品。與其它成員相比, 它更注重用戶安裝和使用的方便。它原來只是面向Intel 平台, 但是最近又發布了Compaq/DEC Alpha結構的版本。其它項目包 括UltraSPARC的版本,不過這個版本還沒有顯著進展。

NetBSD

NetBSD從一開始發展方向就不一樣,它希望能支持盡可 能多的硬體平台。在寫本文的時候,它支持幾乎任何你能想到 的平台,包括從 Sun 3開始的所有Sun 的硬體,雖然有些是有 限的支持。比如,寫本文的時候,UltraSPARC版本尚不支持基 於PCI 的主板或多處理器,不過它在不久的將來就很可能支持 這些硬體了。

OpenBSD

OpenBSD在1995年由NetBSD分化而來。它比其它 成員更多重視安全方面,它支持多種平台,但比NetBSD 要少一些。例如,現在它還沒有UltraSPARC版本。

● 為什麼有這麼多版本?

看下這些操作系統的目錄,你也許會問,為什麼有這麼多相似 的操作系統。難道有一個不就夠了嗎?

歷史上,每個項目的建立都是由於在組建一個好的操作系統時 產生了意見分歧。因為這個軟體是免費的,任何人都可以決定 根據自己的需要建立自己的操作系統。如果它行不通,人們可 以到此為止。實際上,所有現在的BSD成員,包括BSDI, 都來源於Bill Jolitz 的386 BSD 項目,它到1994年時就逐漸 被淡忘了。 表面上看來,分化瓦解不是一種好的趨勢,為什麼不能敢於行 動,大家相互妥協呢?實際中,BSD系統表現出了很明顯的 「自治」趨向:所有成員中只有 386 BSD關門大吉,而它的後代都很健康並且積極地相互借鑒。每個版本都有一個不同的內 核就意味著適者生存同樣適用於內核代碼,而對Linux 來說, 這隻適用於用戶代碼。例如,年輕的FreeBSD PARC 版本並非 白手起家:它始於NetBSD的實現並且直接提出以下的問題:我 們在哪些地方可以做得更好?這個過程自然提高了要成功所必 需的標準。結果是,許多這樣的嘗試失敗了,而那些沒有創造 「世界級」代碼的卻成功了。

當選擇一個BSD版本的時候,你應該首先考慮平台。很多情 況下,平台將決定所選擇的操作系統。象在所有BSD都支持 的PC平台上,作出選擇也許更難,但是實際上沒有一種選擇 是絕對錯誤的。

● 它們的感覺如何?
BSD成員間最大的區別和系統本身無關,而在於你使用它的 方式。現在所有工作站都使用某種形式的圖形界面(GUI)。 所有的BSD都包括 XFree86,這是一種 X11實現,Linux 中 也有提供。一方面,這個界面有很強的統一性:僅從屏幕上看 過去,很難講系統運行的是BSD,Linux 或甚至是 Solaris。 另一方面,選擇PC硬體的廣泛性使得可靠安裝X變得相對困 難,花一些時間來為XFree86 選擇顯示硬體是值得的。

除了硬體的選擇之外,XFree86 令人在選擇軟體時感到迷惑, 特別是顯示和桌面管理器,這就使通過看屏幕上的顯示來猜測 下面的平台變得更為困難。有關更多window管理器的訊息,請看「開放目錄項目」.

http://directory.mozilla.org/Computers/Software/X_Windows/Window_Managers/

你甚至可以使用OpenLook Window Manager 讓它看上去象是個
OpenWindows 。http://www.plig.org/xwinman/screenshots/olwm.gif

儘管很多時候你可能不想用到GUI。BSD系統特別適合於
域名伺服器,網頁伺服器,郵件伺服器,新聞伺服器,等等。
這些系統不需要圖形界面。實際上,它們可能連顯示器都不用。

● 你會得到什麼?

所有的免費BSD都可以從光碟獲取,包含了完整的源碼和工 具。許多工具和Linux 中使用的工具都是基於同樣的GNU工 具的,還有一些是基於舊的BSD工具的。所有版本都包括完 整的軟體開發工具,這些工具也是以GNU工具為中心的。前 面已經提到,它們還包括了 XFree86對X11 的實現,並且很多 平台可以執行 Linux和SCO的可執行代碼。

此外,我們將在下面看到,BSD還附帶有大量的第三方軟體。

● BSD能幹什麼?

首先,BSD/OS和FreeBSD 看上去可能不如NetBSD和OpenBSD 那 樣具有吸引力,因為它們不能在SPARC硬體上運行。事實 上,在SPARC硬體上運行的能力有點被誇大了。這可能是 BSDI決定停止支持SPARC版本的原因。我們已經有了 一個在SPARC上得到很好支持的操作系統 Solaris, Sun 對其孤注一擲。儘管NetBSD和OpenBSD 在某些地方比 Solaris 表現更好,但是很難與它全面競爭,而且目前的UltraSPARC支 持中也有一些不足。特別是,PCI支持仍在研發中,現在也
還不能支持多處理器。

事實上,很多對BSD家族的興趣都來自PC硬體的低價位。 比如說,如果你想建立一個大型的FTP伺服器,你大概有四
種選擇:

·買一台帶有 Solaris 7的Sun SPARC 機。它很貴,不過它工 作上沒問題,而且你不會遇到很多麻煩。

·買一台PC並為其安裝微軟的軟體。如果是一台大型伺服器, 你需要NT。對於這種應用來說,你只需要基本的NT伺服器 軟體,它的$809的價格相對比較便宜。微軟的解決方案和最佳 作法的網頁(網址見文尾)上面,聲稱你可以從三台Compaq的 ProLiant 5000s或5500s 上每天轉移6GB數據,三台機器每 台都裝有Pentium Pro 處理器和512 MB的內存記憶體。為保證 服務不中斷,微軟建議你安裝多套備用系統。

·買一台PC並為其安裝 FreeBSD。硬體上的價格可能一樣, 但是你無須為該軟體花費一分錢。正如 wcarchive.cdrom.com 的硬體配置所顯示的,ftp://ftp.cdrom.com/archive-info/wcarchive.txt 微軟的說法是誤導。wcarchive 只是一個單一系統,只有一個 CPU,也是 Pentium Pro芯。和微軟每天6GB的傳輸量相 比,wcarchive 一般每天的傳輸量確高達700GB以上,並 可同時接待 3,600個用戶。這樣的表現比三台大型的NT機加 在一起還要高100倍以上。1998年12月 2日,wcarchive 共
傳送了 820,097,694,368 bytes的數據,使其成為世界上最忙 的FTP伺服器。

·買一台PC並為其安裝商用的Unix系統。在很多方面,適用 於 FreeBSD的優點也適用於這樣的配置。但是商用的Unix實現 非常昂貴,而且很多證據顯示他們在性能上比不過BSD的。

wcarchive 不是唯一的BSD成功的實例。另一個傑出的用戶 是Yahoo!,它幾乎用 FreeBSD來做所有的事情。此外,至少有 兩台Internet根域名伺服器運行BSD,而且大多數ISP用 BSD來完成某些功能。

除了這樣的高級應用以外,NetBSD和OpenBSD 也是老式 Sun硬 件的很好選擇,包括早期的不堪運行Solaris 2 和 7的 SPARC 硬體,以及 Sun 3系統。支持的水平各異:NetBSD和OpenBSD 包含有為Sun 3 設計的代碼,但是OpenBSD 說它的代碼沒有得 到積極維護。兩種BSD都積極支持 Sun 4,Sun 4c和Sun 4m 系統。

為什麼要在 Sun機器上運行BSD呢?很多情況下,舊的硬體 更適合完成一些功能;你可以方便地使用一台舊的 Sun 3或是 SPARCstation I作為郵件伺服器或域名伺服器。這雖然也可以 用 SunOS去做,但是內核的陳舊將在網路堆棧的某些方面表現 出來,然後你必須將所有現在版本的網路客戶程序移植過去, 這顯然將比安裝BSD和BSD的最新客戶端軟體要多花成倍 的時間。具有諷刺意味的是,這些「返老還童術」對PC硬體 來說更甚。常常見到的是,一台跑不動單一微軟桌面系統的舊 386 機在安裝BSD以後可以集Internet網關,郵件伺服器, 域名伺服器和網頁伺服器於一身而重獲青春。


● 移植軟體

是我剛說過「移植」嗎?幾十年來,移植是Unix系統管理員的 生活方式之一,但是過去移植可不容易了。而 FreeBSD的移植 軟體庫,它也被 OpenBSD採用了,完全改變了這種情況。比如 說,你想在自己的系統上安裝 xarchie嗎?這很簡單:

# cd /usr/ports/net/xarchie
# make install

你會說,「不錯」,只要你把源碼裝到了你的機器上,一切就 很簡單了。但是直到你發現在/usr/ports/net/xarchie下只包 括六個文件——最大的也不過 691 bytes,你才會意識到其中
定有非常複雜的內涵。

FreeBSD 移植軟體庫目前包含近2,000種移植的軟體產品。它 們中的任何一個都不包含軟體本身,而只有一個如何獲取這個 軟體,如何建立和如何安裝的說明。這讓BSD用戶可以輕易 得到用於任何平台上的最多的可安裝軟體,所有這一切的花費 僅僅是兩行命令和從Internet上傳送該軟體時的一段短暫時間。


人們可能低估了這套方法的優勢。你運行的Sendmail是什麼版 本的?很可能是你的系統附帶的版本,如果你最近有升級系統 的話,也許是 8.8.8。而當前的版本應該是 8.9.1,它包含了 一系列為阻止郵件亂用所做的改進,特別是防止非法轉發和封 殺某些域名的設計。但是移植Sendmail始終是一件苦差,哪怕 是對Sendmail原本面向的BSD平台也是一樣。而利用軟體移 植庫的話,一切都很簡單。

再說說 named吧。幾個月前,CERT發布了的一個建議里說 http://www.cert.org/advisories/CA-98.05.bind_problems.html named ,name daemon 有可能帶有影響Unix系統的幾個薄弱點。 當這個建議發布的時候,BSD項目已經發布了針對這一問題 的補丁;而 Sun公司僅僅是有說要在未來發布針對不同系統的 補丁。

● 為什麼要BSD,不要 Linux?

Linux 比BSD更廣為人知。如果你想安裝免費的Unix,為什 么不要隨波逐流地去選擇 Linux呢?

這個問題沒有一個很好的答案。Linux 適合的很多工作BSD 也一樣適合。有些人說BSD比 Linux更穩定——那種說法在 面向伺服器的應用方面更合適,而 Linux更適合於桌面系統。
FreeBSD 的標語詞是「服務的實力」。

其他人則說BSD的純正Unix血統使它比新興的 Linux更加成 熟。還有人說,BSD的開發人員中包括了來自Berkeley的計 算機科學研究小組的知名人物,這意味著它的codebase更好。

但這只是其中的一部分原因,而且沒有確鑿的根據。事實是, Linux 同樣是一個好的操作系統。象其它操作系統一樣,它也 有它的弱點和它的強項。有些人說 Linux的弱點包括它的虛擬 內存系統,而這方面是FreeBSD 和NetBSD的長處,但是對此目 前還沒有進行過結論性的性能對比試驗。

BSD和 Linux的一點不同在它們的立足點。Linux 和BSD 一樣,一開始都是平民發展項目,但是近兩年來它變得越發商 業化了。你聽到那麼多關於 Linux的消息的一個主要原因在於 有人通過銷售 Linux而獲利。而BSD在商業銷售上比較不受 到關注。

那麼為什麼要選BSD呢?哦,其中一個原因是,BSD來自 和運行於你的 Solaris機上的相同的codebase,所以感覺上會 比較熟悉。此外,儘管沒有確鑿的證據證明BSD比 Linux更 穩定或表現更好,但是來自於 Linux陣營的相反的指稱也異乎 尋常的少。

● 獲取BSD

FreeBSD ,NetBSD和OpenBSD 都是免費發行的,能從Internet 下傳。因為軟體很大,而且網路問題可能使這種形式的安裝很 麻煩,所以這或許不是最佳方案。所有三種操作系統都有光碟 版本,而且 FreeBSD的版本還附有一本書《完全FreeBSD 》, http://www.cdrom.com/titles/os/bsdbook2.htm 它覆蓋了在系統安裝和維護中 FreeBSD不同於Unix家族的所有 方面。

● 技術支持怎麼樣?

在商業環境中使用免費操作系統的一大爭議就是技術支持。一 旦出現問題,你該去找誰呢?在這方面,免費的BSD家族和 Linux 沒有太大差別。確實存在一些商業性的技術支持,而且 還會有更多的支持。然而另一個不同是還有一種商業性BSD, BSD/OS,它可供選擇的技術支持不遜於其它Unix成員。


傳統上,免費的操作系統的技術支持是通過在郵件組中由志願人員回答問題,通常回答都是正確的。這裡的問題是「通常」。 你怎麼能判斷你得到的建議是正確的呢?另一個方案是加入商 業性的技術支持組織的幫助,可以通過這些獨立項目的網站保


持聯絡。

總而言之,現在就去親自嘗試一下BSD家族吧。

·BSD/OS是可以從BSDI http://www.bsdi.com/
 得到的商用產品,該公司也為它提供技術支持。

·FreeBSD 可以從Internet下傳ftp://ftp.freebsd.org/pub/FreeBSD
 也可以從Walnut Creek CDROM公司購得光碟版
 http://www.cdrom.com/titles/os/bsdthree.htm
 FreeBSD 的諮詢人員提供技術支持。
 http://www.freebsd.org/commercial/consulting.html

·你可以從Internet下傳NetBSD http://www.netbsd.org/Sites/net.html
 或是獲得光碟版 http://www.netbsd.org/Sites/cdroms.html
 NetBSD沒有正式的顧問名單,但很多 FreeBSD和OpenBSD
 的諮詢人員也支持NetBSD。

·你可以從Internet下傳OpenBSD  http://www.openbsd.org/ftp.html
 或索取光碟版 http://www.openbsd.org/orders.html
 也有商業性的技術支持 http://www.openbsd.org/support.html

———————————————————————————

◆ 資源目錄

·Berkeley Software Design Inc. (BSDI)
 http://www.bsdi.com
·BSD/OS
 http://www.bsdi.com
·FreeBSD
 http://www.FreeBSD.org
·NetBSD
 http://www.NetBSD.org
·OpenBSD
 http://www.OpenBSD.org
·XFree86
 http://www.xfree86.org/
·Open Directory Project
 http://directory.mozilla.org/Computers/Software/X_Windows/Window_Managers/

·OpenLook Window Manager
 http://www.plig.org/xwinman/screenshots/olwm.gif
·Microsoft's Solutions/Best Practices page
 http://www.microsoft.com/misc/backstage/solutions.htm
·Hardware configuration for wcarchive.cdrom.com
 ftp://ftp.cdrom.com/archive-info/wcarchive.txt
·The FreeBSD Ports Collection
 http://www.freebsd.org/handbook/ports.html
·CERT advisory
 http://www.cert.org/advisories/CA-98.05.bind_problems.html
·CERT advisory on named
 http://www.cert.org/advisories/CA-98.05.bind_problems.html
·The Complete FreeBSD
 http://www.cdrom.com/titles/os/bsdbook2.htm
·FreeBSD download
 ftp://ftp.FreeBSD.org/pub/FreeBSD
·FreeBSD on CD-ROM
 http://www.cdrom.com/titles/os/bsdthree.htm
·FreeBSD's consultants
 http://www.freebsd.org/commercial/consulting.html
·NetBSD download
 http://www.netbsd.org/Sites/net.html
·NetBSD on CD-ROM
 http://www.netbsd.org/Sites/cdroms.html
·OpenBSD download
 http://www.openbsd.org/ftp.html
·OpenBSD CD-ROM
 http://www.openbsd.org/orders.html
·OpenBSD commercial support
 http://www.openbsd.org/support.html
·"Getting help with free software," December 1998 SunWorld feature story
 http://www.sunworld.com/swol-12-1998/swol-12-support.html
·"The story on FreeBSD," December 1998 LinuxWorld feature story
 http://www.linuxworld.com/linuxworld/lw-1998-12/lw-12-freebsd.html




--------------------------------------------------------------------------------
作者:
Greg Lehey是一位獨立的計算機顧問和BSD Unix方面的專業作
家。他現居住在澳大利亞的Adelaide,著有
《移植Unix軟體》(O'Reilly and Associates, 1995 ),
《安裝和運行FreeBSD 》(Walnut Creek, 1996),和
《完全FreeBSD 》(Walnut Creek, 1997 and 1998 )
他的電子信箱是在 greg.lehey@sunworld.com




[火星人 via ] BSD東山再起已經有237次圍觀

http://www.coctec.com/docs/unix/show-post-73999.html