我偶然发现了 Debian 中的bsdutils软件包。描述说:
该软件包包含 Debian 系统所需的最少 BSD 实用程序:logger、renice、script、scriptlive、scriptreplay 和 wall。其余的标准 BSD 实用程序由 bsdextrautils 提供。
同样,bsdmainutils的描述中也提到了 BSD:
该软件包包含许多人在使用 BSD 风格的 Unix 系统时希望找到的许多小程序。
在 Linux 系统的上下文中,我惊讶地发现这些包与 BSD 相关。
这些包是否使用了 BSD 的一些代码?什么是BSD 风格的 Unix 系统?
最开始有Unix,它是贝尔实验室(AT&T的子公司)开发的产品。许多小组定制了他们的副本并添加了自己的程序,并与其他人分享了他们的改进(付费或免费)。
加州大学伯克利分校(UCB)就是其中之一。他们在一个非常自由的许可证(今天称为原始BSD 许可证)下共享伯克利软件分发(BSD )。最初,这是对基本 Unix 的一组补充。最终,他们重写了完整的操作系统,这样就可以在没有获得 AT&T 许可的情况下使用它。
除 BSD 外,Unix 操作系统的主要供应商是计算机供应商,他们将操作系统与计算机一起销售。有些人继续将他们的操作系统基于 AT&T 版本。这些系统被称为System V系列,因为它基于这个版本的 AT&T Unix。其他供应商使用 BSD 版本。有些人自己制作,目标是与两个主要播放器(System V 和 BSD)广泛兼容,但每个播放器都有自己的细节。“System V 操作系统”是与 AT&T Unix 更兼容的系统。“BSD 操作系统”是与 BSD 更兼容的系统。
GNU是另一个创建操作系统的项目,它可以扮演与 BSD 相同的角色:免费提供,并具有与 Unix 相同的特性。GNU 比 BSD 更雄心勃勃,但结果他们没有设法做他们想做的一切,特别是他们缺少一个关键的部分:内核。在 1990 年代,Linux成为事实上的 GNU 标准内核,在 Linux 内核上主要基于 GNU 核心程序的操作系统被称为“Linux”,有时也称为“GNU/Linux”。
GNU/Linux 有自己独立于 System V 和 BSD 的历史,因此它没有所有实际 System V 系统共享的所有功能,或所有实际 BSD 系统共享的所有功能。Debian 的bsdutils和bsdmainutils是小程序的集合,这些小程序通常存在于 BSD 系统上,但不是所有 Unix 系统上存在的核心的一部分。
该
bsdutils
集合来自util-linux。它们是与具有相同名称的 BSD 实用程序具有相似接口的程序,但大多数(如果不是全部)是完全独立编写的,并且它们是在 GNU 许可证下分发的。bsdmainutils
是从 BSD 集合复制的程序集合,仍然在 BSD 许可下分发。它们现在由 Debian 维护,但它们采用了 BSD 发行版所做的一些改进。这些都是最初来自 BSD (4.4BSD) 的工具。它们的用处不是基于它们的起源。它们已经包含在 Linux 发行版中很长时间了,实际上 Debian 中的当前软件包使用
util-linux
( source ) 提供的代码。BSD 风格的 Unix 系统是一个包含 BSD 实用程序和可能的 BSD 库的系统;例如,SunOS 是一个 BSD 风格的 Unix 系统,而 HPUX 不是。请参阅Éric Lévénez 的 Unix History 以获取显示血统的家谱。