UUCP 是在 70 年代后期由 Mike Lesk 在 AT&T Bell Laboratories 设计的,旨在通过公共电话线提供一个简单的拨号网络。尽管拨号 PPP 和 SLIP 连接到互联网非常流行,但许多希望在家用机器上拥有电子邮件和 Usenet 新闻的人仍然使用 UUCP,因为它通常更便宜,尤其是在互联网用户必须按分钟支付本地电话费的国家,或者在他们没有本地 ISP 并且必须支付长途电话费才能连接的国家。尽管有许多 UUCP 的实现运行在各种各样的硬件平台和操作系统上,但总的来说,它们是高度兼容的。
然而,与多年来以某种方式成为“标准”的大多数软件一样,没有哪个 UUCP 可以被称为唯一的 UUCP。自 1976 年第一个版本实现以来,它经历了稳定的发展。目前,主要有两个种类,它们的主要区别在于硬件支持和配置。在这两个种类中,存在各种实现,每种实现都与其同类略有不同。
一个种类被称为 Version 2 UUCP,它可以追溯到 1977 年 Mike Lesk、David A. Novitz 和 Greg Chesson 的实现。尽管它相当老旧,但仍然经常被使用。最近的 Version 2 实现提供了许多较新的 UUCP 种类所具有的便利性。
第二个种类是在 1983 年开发的,通常被称为 BNU(基本网络实用程序)或 HoneyDanBer UUCP。后一个名称来源于作者的名字(P. Honeyman、D. A. Novitz 和 B. E. Redman),通常进一步缩短为 HDB,这是我们将在本章中使用的术语。HDB 的构想是为了消除 Version 2 UUCP 的一些缺陷。例如,添加了新的传输协议,并且拆分了 spool 目录,因此现在对于每个与您有 UUCP 流量的站点都有一个目录。
当前 Linux 发行版中包含的 UUCP 实现是 Taylor UUCP 1.06,本章基于该版本。[1] Taylor UUCP 1.06 版本于 1995 年 8 月发布。除了传统的配置文件外,Taylor UUCP 还可以编译以理解 newstyle——也称为 Taylor——配置文件。
Taylor UUCP 通常编译为与 HDB 兼容、Taylor 配置方案或两者都兼容。由于 Taylor 方案比通常晦涩难懂的 HDB 配置文件更灵活,也可能更容易理解,因此我们将在下面描述 Taylor 方案。
本章并非旨在详尽描述 UUCP 命令的命令行选项及其功能,而是向您介绍如何设置一个可工作的 UUCP 节点。第一节简要介绍了 UUCP 如何实现远程执行和文件传输。如果您不是 UUCP 的完全新手,您可能想跳到本章后面的 第 16.2 节”,该节解释了用于设置 UUCP 的各种文件。
但是,我们将假设您熟悉 UUCP 套件的用户程序 uucp 和 uux。有关描述,请参阅在线手册页。
除了公开可访问的程序 uucp 和 uux 之外,UUCP 套件还包含许多仅用于管理目的的命令。它们用于监视跨节点的 UUCP 流量、删除旧日志文件或编译统计信息。这里不会描述这些命令,因为它们与 UUCP 的主要任务无关。此外,它们有良好的文档记录并且相当容易理解;有关更多信息,请参阅手册页。然而,还有第三类,它们构成了实际的 UUCP “主力”。它们被称为 uucico(其中 cico 代表 copy-in copy-out,即复制-入复制-出)和 uuxqt,后者执行从远程系统发送的作业。在本章中,我们将重点关注这两个重要的程序。
如果您对我们对这些主题的介绍不满意,您应该阅读 UUCP 包附带的文档。这是一组 Texinfo 文件,描述了使用 Taylor 配置方案的设置。您可以使用 texi2dvi(在您的发行版的 Texinfo 包中找到)将 Texinfo 文件转换为 dvi 文件,并使用 xdvi 命令查看 dvi 文件。
Guylhem Aznar 的 UUCP-HOWTO 是关于 Linux 环境中 UUCP 信息的另一个良好来源。它可以在任何 Linux Documentation Project 镜像站点上找到,并定期发布到 comp.os.linux.answers。
还有一个用于讨论 UUCP 的新闻组,名为 comp.mail.uucp。如果您有关于 Taylor UUCP 的具体问题,最好在那里提问,而不是在 comp.os.linux.* 组中提问。
[1] | 由 Ian Taylor 编写并享有版权,1995 年。 |