BSD 的那些事
![](https://linuxstory.org/wp-content/uploads/2024/06/093219rj664rr834d3n25z-800x400.png)
假如歷史稍有不同,今天你將聽到的是「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沒有使用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.org、www.freebsd.org、www.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
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive