第一章 介绍

第一章 介绍1.1. 简介1.2. 欢迎来到FreeBSD1.2.1. FreeBSD可以做什么1.2.2. 谁使用FreeBSD?1.3. 关于FreeBSD项目1.3.1. FreeBSD简史1.3.2. FreeBSD项目的目标1.3.3. FreeBSD开发模型1.3.4. 第三方软件1.3.5. 其他文件

1.1. 简介

感谢您对FreeBSD的关注!下一章涵盖了FreeBSD项目的各个方面,如它的历史、目标、开发模式等。

阅读本章以了解:

1.2. 欢迎来到FreeBSD

FreeBSD是一个开源、符合标准的类Unix操作系统,适用于x86(32位和64位)、ARM、AArch64、RISC-V、POWER和PowerPC计算机。它提供了如今被视为理所当然的所有功能,例如抢占式多任务处理、内存保护、虚拟内存、多用户设施、SMP支持、适用于不同语言和框架的所有开源开发工具,以及以X Window System、KDE或GNOME为中心的桌面功能。其独特优势在于:

FreeBSD基于加州大学伯克利分校计算机系统研究小组(Computer Systems Research Group,CSRG)的4.4BSD-Lite版本,并继承了BSD系统开发的杰出传统。除了CSRG提供的出色工作外,FreeBSD项目还投入了数千个工时来扩展功能和微调系统,以在现实负载情况下实现最大的性能和可靠性。FreeBSD提供了与其他开源和商业产品相当的性能和可靠性,并结合了其他任何地方都没有的尖端功能。

1.2.1. FreeBSD可以做什么

FreeBSD可以应用的应用程序实际上只受个人想象力的限制。从软件开发到工厂自动化,从库存控制到远程卫星天线的方位校正;如果它可以用商业UNIX®产品完成,那么FreeBSD也很可能做到!FreeBSD还从世界各地的研究中心和大学开发的数千个高质量应用程序中受益匪浅,这些应用程序通常几乎免费。

由于FreeBSD本身的源代码是免费提供的,因此该系统也可以针对特殊应用程序或项目进行几乎闻所未闻的定制,而且这种定制方式在大多数主要商业供应商的操作系统中通常是不可能的。以下只是人们目前使用FreeBSD的一些应用程序的示例:

FreeBSD可以免费下载,也可以在CD-ROM或DVD上获得。有关获取FreeBSD的更多信息,请参阅 获取FreeBSD。

1.2.2. 谁使用FreeBSD?

FreeBSD以其web服务功能而闻名。FreeBSD基金会网站上列出了基于FreeBSD的产品和服务的公司的推荐信。维基百科还维护着一个基于FreeBSD的产品列表。

1.3. 关于FreeBSD项目

以下部分提供了有关该项目的一些背景信息,包括简要历史、项目目标和项目的开发模型。

1.3.1. FreeBSD简史

FreeBSD项目起源于1993年初,部分原因是非官方386BSDPatchkit的最后三位协调员:Nate Williams、Rod Grimes和Jordan Hubbard。

最初的目标是生成386BSD的中间快照,以修复patchkit机制无法解决的许多问题。该项目的早期工作名称是386BSD 0.5或386BSD Interim。

386BSD是比尔·乔利茨(Bill Jolitz)的操作系统,到目前为止,由于近一年的疏忽,它已经遭受了相当严重的损失。随着patchkit的膨胀越来越令人不安,他们决定通过提供这个临时的“清理” (cleanup)快照来协助比尔。当比尔·乔利茨突然决定撤销对该项目的批准,而没有明确表示将采取什么行动时,这些计划戛然而止。

三人组(the trio)认为,即使没有比尔的支持,这个目标仍然是值得的,因此他们采用了大卫·格林曼(David Greenman)创造的“FreeBSD”这个名字。最初的目标是在与该系统的现有用户协商后设定的,一旦清楚该项目甚至可能成为现实,Jordan联系了核桃溪(Walnut Creek)CDROM,着眼于(with an eye toward)为那些无法轻松访问互联网的许多不幸者改善FreeBSD的分销渠道。核桃溪CDROM不仅支持在CD上分发FreeBSD的想法,而且还为该项目提供了一台机器和快速的互联网连接。如果没有核桃溪CDROM对当时一个完全未知的项目几乎前所未有的信心,FreeBSD不太可能像今天这样走得那么远、那么快。

第一个CD-ROM(以及整个网络)发行版是1993年12月发布的FreeBSD 1.0。这是基于加州大学伯克利分校的4.3BSD-Lite(“Net/2”)磁带,其中许多组件也由386BSD和自由软件基金会提供。对于第一个产品来说,这是一个相当合理的成功,随后他们在1994年5月发布了非常成功的FreeBSD 1.1版本。

大约在这个时候,随着Novell和加州大学伯克利分校就伯克利Net/2磁带的法律地位达成长期诉讼,地平线(horizon)上出现了一些出乎意料的(unexpected)风暴云。该和解的一个条件是加州大学伯克利分校的让步,即Net/2的三个文件是“担保”(encumbered)代码,必须删除,因为它们是Novell的财产,而Novell在一段时间前又从AT&T获得了这些文件。伯克利得到的回报是Novell的“祝福”(blessing),即4.4BSD-Lite版本在最终发布时将被宣布为不受阻碍,并强烈鼓励所有现有的Net/2用户切换。这包括FreeBSD,该项目直到1994年7月底才停止发布自己的基于Net/2的产品。根据该协议的条款,该项目被允许在截止日期前发布最后一个版本,即FreeBSD 1.1.5.1。

FreeBSD随后开始了艰巨的任务,从一组全新的、相当不完整的4.4BSD-Lite比特中重新发明自己。尽管只删除了与System V共享内存和信号量有关的三个文件,但对BSD发行版进行了许多其他更改和错误修复,因此将所有FreeBSD开发合并到4.4BSDLite中是一项艰巨的任务。该项目直到1994年11月才完成这一过渡,并于12月向世界发布了FreeBSD 2.0。尽管仍然有点粗糙,但该版本取得了巨大的成功,随后在1995年6月发布了更强大、更易于安装的FreeBSD 2.0.5版本。

从那时起,FreeBSD每次都会发布一系列版本,以提高前一版本的稳定性、速度和功能集。

目前,长期开发项目继续在15.0-CURRENT(main)分支中进行,随着工作的进展,快照服务器会不断提供15.0的快照版本。

1.3.2. FreeBSD项目的目标

FreeBSD项目的目标是提供可用于任何目的且无附加条件的软件。我们中的许多人在代码(和项目)上投入了大量资金,当然不会介意偶尔获得一点经济补偿,但我们绝对不准备坚持下去。我们相信,这是自由软件最基本的目标之一,也是我们热情支持的目标之一。

我们的源代码树中属于GNU通用公共许可证(GPL)或库通用公共许可协议(LGPL)的代码附带了稍微多一些的字符串,尽管至少在强制访问方面,而不是通常的相反。然而,由于GPL软件的商业使用可能会出现额外的复杂性,我们更喜欢在更宽松的BSD许可证下提交的软件,因为这样做是合理的选择。

1.3.3. FreeBSD开发模型

FreeBSD的开发是一个非常开放和灵活的过程,从我们的贡献者名单中可以看出,它实际上是由世界各地数千人的贡献构建的。FreeBSD的开发基础设施允许这数千名贡献者通过互联网进行协作。我们一直在寻找新的志愿者,那些有兴趣更深入地参与其中的人应该参考关于为FreeBSD做出贡献的文章。

关于FreeBSD项目及其开发过程的有用信息,无论是独立工作还是密切合作:

总之,我们的开发模型是由一组松散的同心圆组成的。集中式模型的设计是为了方便FreeBSD的用户,他们可以轻松地跟踪一个中央代码库,而不是将潜在的贡献者拒之门外!我们的愿望是提供一个稳定的操作系统,其中包含大量连贯的应用程序,用户可以轻松安装和使用——这种模式在实现这一目标方面非常有效。

我们对那些愿意加入我们成为FreeBSD开发人员的人的要求是,他们现在的人对FreeBSD的持续成功也有同样的奉献精神!

1.3.4. 第三方软件

除了基础发行版,FreeBSD还提供了一个移植的软件集合,其中包含数千个广受欢迎的程序。ports列表的范围从HTTP服务器到游戏、语言、编辑器,以及介于两者之间的几乎所有内容。大约有36000个ports;整个Ports Collection大约需要3GB。要编译port,只需更改到安装所需程序的目录,键入 make install ,让系统完成其余操作。动态检索每个构建port的完整原始发行版,因此只需要足够的磁盘空间来构建ports。

几乎每个port都以预编译的“包”(package)形式提供,不希望从源代码编译自己的ports的人可以使用简单的命令(pkg install)进行安装。有关包和ports的更多信息,请参阅【第四章 安装应用程序:Packages和Ports】。

1.3.5. 其他文件

所有支持的FreeBSD版本都在安装程序中提供了一个选项,可以在初始系统设置期间在 /usr/local/share/doc/freebsd 下安装其他文档。文档也可以稍后使用软件包安装:

对于本地化版本,请将“en”替换为所选的语言前缀。请注意,一些本地化版本可能已经过时,可能包含不再正确或相关的信息。使用以下URL使用web浏览器阅读本地安装的手册:

在文档门户网站上查找最新文档。

所有商标均为其各自所有者的财产。