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