TranslateProject/published/20150310 FAQ--BSD.md
wxy 3ef2c75aac PUB:20150310 FAQ--BSD
@wwy-hust 翻译的真不错!赞一个
2015-06-02 09:41:39 +08:00

8.3 KiB
Raw Blame History

BSD 的那些事

假如历史稍有不同今天你将听到的是“FreeBSD之声”...

LCTT 译注本文来自“Linux之声LinuxVoice”。

那么这个Birsa Seva Dal是怎么回事呢难道不是一个印度的政治组织么

真有趣您查阅了维基百科上“BSD”的消除分歧页面是为了讲上面这个笑话对么这里我们在讨论伯克利软件发行版Berkeley Software Distribution一个比您想象中用的更广泛的操作系统家族。

抱歉,我有点 Hold 不住自己。那么,这些操作系统是怎么回事呢?

今天主要使用的BSD操作系统有三种。他们都基于Unix他们都开源并且大多担任服务器的角色但也能当作优秀的桌面和工作站。他们运行KDEFirefoxLibreOfficeApacheMySQL和许多你能说得出名字的开源软件。它们都很稳定、安全、支持许多不同的硬件。

真棒你刚才在描述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发行版那个时候在哪里呢

问得好您也许知道这一年的前一年1991Linus 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 SystemXFree86和X.org、Perl等等。并且幸亏有像POSIX一样的标准许多运行在Linux上的程序可以在BSD的许多版本上编译和运行。

因此您可以把LAMPLinux、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-BSDPC-BSD(www.pcbsd.org)是一个基于FreeBSD的个性化定制版本它专注于桌面有美观的图形化安装器和超级简单的软件管理器。

祝你玩的愉快!


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

作者:Mike Saunders 译者:wwy-hust 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出