BSD 的那些事

jopen 9年前發布 | 17K 次閱讀 BSD

BSD 的那些事

假如歷史稍有不同,今天你將聽到的是“FreeBSD之聲”...

(LCTT 譯注:本文來自“Linux之聲(LinuxVoice)”。)

那么,這個Birsa Seva Dal是怎么回事呢?難道不是一個印度的政治組織么?

真有趣,您查閱了維基百科上“BSD”的消除分歧頁面是為了講上面這個笑話,對么?這里我們在討論伯克利軟件發行版(Berkeley Software Distribution),一個比您想象中用的更廣泛的操作系統家族。

抱歉,我有點 Hold 不住自己。那么,這些操作系統是怎么回事呢?

今天,主要使用的BSD操作系統有三種。他們都基于Unix,他們都開源,并且大多擔任服務器的角色,但也能當作優秀的桌面和工作站。他們運行 KDE,Firefox,LibreOffice,Apache,MySQL和許多你能說得出名字的開源軟件。它們都很穩定、安全、支持許多不同的硬件。

真棒!你剛才在描述GNU/Linux吧

是的,Linux擁有我剛才提到的所有東西,這也是為什么很多人從來不討論BSD。在日常的使用中,Linux和BSD并沒有太多的不同,這主要是 因為他們都以Unix為基礎,并共用很多軟件。您可以登錄進遠程主機,在Vim中寫一些Python代碼,使用Mutt檢查您的email,您可能并未意 識到您在使用BSD。或許您在咖啡館里正通過網絡終端使用它,但不知道他是BSD。

兩者最大的區別在于開發模式和許可證,為了解這些,我們需要回到過去。在BSD中,B代表著加利福尼亞大學伯克利分校(University of California, Berkeley),在1980年代,那里是開源的Unix軟件的發源地。到了90年代,基于x86的PC變得流行,許多人對在他們的家庭電腦中安裝 Unix類操作系統產生了興趣。1992年,一個叫做386BSD的項目在那時發布,提供了上述功能。

那么,所有的Linux發行版那個時候在哪里呢?

問得好!您也許知道這一年的前一年(1991),Linus Torvalds已經發布了他的內核,當它與GNU項目結合時,變成了完整的開源操作系統。Linus那時也在關注GNU的內核(Hurd)和 386BSD,并且他說過,如果那時兩個內核有一個可以正常使用,他可能就不會創造Linux了。所以,90年代的頭幾年,開源操作系統生機勃勃,沒有人 知道哪個系統會最終勝出。

接下來,BSD遇到了一些麻煩。Unix最初的開發方AT&T試圖從他們在操作系統方面的付出中獲得一些利益,他們聲稱BSD侵犯了他們的 知識產權。此事最終以1992年的一樁訴訟結束,它極大的抑制了BSD的開發進程。其結果就是,許多BSD源碼必須重寫,與此同時,GNU/Linux已 經豐富了功能,變得穩定和流行了。

在90年代早期,BSD被認為比GNU/Linux更加成熟,如果沒有那些法律麻煩,他可能已經成為了x86 PC的標準了。今天,我們可能都在使用它而不是Linux。

但你提到BSD仍然被廣泛的使用,所以它后來有提升么?

是的。386BSD的開發停滯了,但有兩只開發團隊通過互聯網協作并創造了兩個獨立的成功的項目。FreeBSD成為了使用最廣泛的BSD版本,它 目前是和Linux最相似的系統,包括桌面和服務器版本。而NetBSD則聚焦于可移植性(今天它可以運行在超過50種不同平臺上,均基于同樣的代碼版 本)。另一個版本是OpenBSD,它在NetBSD開始不久就因為開發者的口角而作為NetBSD的分支誕生了,今天,它以專注于安全聞名。多年以 來,OpenBSD創建了許多程序,它們都成了Linux的標準部分,比如說OpenSSH - 甚至,現在我們還有了LibreSSL。

所以,這三種版本的BSD和Linux發行版相似么?

也是也不是,每個BSD版本都有自己的代碼庫、不同的開發團隊。盡管他們間有許多共用的代碼(尤其是硬件驅動)。但他們是各自擁有其特色、優點和缺點的相互獨立的操作系統。

我們提到過,BSD的開發模式是他們真正和GNU/Linux區別的重要特點。在GNU/Linux中沒有人對其整體進行掌控:一些團隊在GNU組 件方面工作,一些團隊在開發內核,一些在開發啟動腳本,一些在寫手冊,一些在寫庫等等。這樣的開發模式通常被稱作缺少中央權利的“荒蠻的美國西部”,由發 行版負責將所有的東西各自鍥合。

而BSD則相反,它們從中央化的源代碼樹中開發并作為一個整體。內核、庫、系統組件和文檔頁都存在一個地方,且以同樣的方式使用。許多BSD粉絲聲稱,這個特點給了操作系統更多的一致性和穩定性。通過我這些年使用BSD的經驗來看,我們可以證明手冊頁已經變得非常完備。

BSD 的那些事

難道BSD沒有使用GNU/Linux的任何東西么?

是的,但除了GCC。幾十年來,GNU Compiler Collection已經成為了實際上的Unix系統標準編譯器,但FreeBSD最近已經轉而使用LLVM/Clang了。值得注意的是BSD還是用了 一些其他的開源項目,但它們并屬于GNU或者Linux,比如說X Window System(XFree86和X.org)、Perl等等。并且幸虧有像POSIX一樣的標準,許多運行在Linux上的程序可以在BSD的許多版本上 編譯和運行。

因此,您可以把LAMP(Linux、Apache、MySQL和PHP)中的L改成FreeBSD,這樣可以獲得幾乎同樣的環境,以及一些不同的 特性(例如,在文件系統和驅動支持方面)。FreeBSD有一些大型、海量的用戶,例如Netflix,每天提供海量的數據。盡管FreeBSD可以做為 一個不錯的桌面環境,但它的長處在于服務器方面,它擁有超乎尋常的可靠性和網絡性能。

OpenBSD更傾向用于安全性十分必要的場合,如小型Web服務、文件托管、防火墻和網關。NetBSD是BSD主要發行版中最不流行的一個,它能運行在幾乎所有平臺上,包括古老的Amigas和Acorn boxes,有時您可以在閉源的網絡設備中找到它的身影。

等等,怎么會有人將開源代碼閉源呢?那在Linux中是不合適的

對的,這里我們談到了它與GNU/Linux的主要不同。BSD版本的許可證(很有趣,就叫做BSD許可證)非常不同于我們所知的GPL。對于新手 來說,BSD更簡短。BSD許可證主要內容是:對這份代碼做你想做的事,但要保留它的初始開發者的榮譽,并且如果它搞壞你的電腦時不要提出訴訟。

因此,該許可證中沒有任何條款強制代碼開源,不像GPL,它要求使用這份代碼的用戶將他們的修改也開源。這一重要的不同引起了互聯網上無數的激烈討 論,BSD的粉絲們說他們的許可證更加自由(因為它不那么嚴格),而GNU/GPL的粉絲說他們的證書才更自由(因為它保留了真正的自由)

啊呀,不管怎么說,你已經引起了我的興趣,我在哪里能嘗試這些可愛的BSD版本呢?

您大概已經可以猜到這些網站了 – www.openbsd.orgwww.freebsd.orgwww.netbsd.org。在那里,您可以下載ISO鏡像,在VirtualBox中啟動它們,然后開始玩耍。如果您已經用了一段時間的Linux,你就會發現這并不難,雖然您需要了解命令行。如果您在尋找一些對新手更加友好的東西,可以試試PC-BSD,PC-BSD(www.pcbsd.org)是一個基于FreeBSD的個性化定制版本,它專注于桌面,有美觀的圖形化安裝器和超級簡單的軟件管理器。

祝你玩的愉快!


via: http://www.linuxvoice.com/faq-bsd-2/

作者:Mike Saunders 譯者:wwy-hust 校對:wxy

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

來源: https://linux.cn/article-5552-1.html

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!