contents
下一节: 安装 上一层: C-News 上一节: C-News

发布新闻

文章可以通过多种方式传递给 C-News。当本地用户发布文章时,新闻阅读器通常会将其交给 inews 命令,该命令会补全头部信息。来自远程站点的新闻,无论是单篇文章还是整个批次,都会交给 rnews 命令,该命令将其存储在 /var/spool/newsin.coming 目录中,稍后 newsrun 会从该目录中提取。但是,无论使用哪种技术,文章最终都会交给 relaynews 命令。

对于每篇文章,relaynews 命令首先会检查本地站点是否已经见过该文章,方法是在历史记录文件中查找消息 ID。重复的文章将被丢弃。然后,relaynews 查看 "Newsgroups:" 头部行,以确定本地站点是否请求来自这些组的文章。如果请求并且新闻组列在 active 文件中,relaynews 会尝试将文章存储在新闻假脱机区域中的相应目录中。如果该目录不存在,则会创建它。文章的消息 ID 随后将被记录到历史记录文件中。否则,relaynews 将丢弃该文章。

如果 relaynews 因为文章发布到的组未在您的 active 文件中列出而无法存储传入的文章,则该文章将被移动到 junk 组。gif relaynews 还会检查过时或日期错误的文章并拒绝它们。由于任何其他原因失败的传入批次将被移动到 /var/spool/news/in.coming/bad,并且会记录错误消息。

之后,文章将使用为每个特定站点指定的传输方式,中继到所有其他请求来自这些组的新闻的站点。为了确保文章不会发送到已经看过的站点,每个目标站点都会根据文章的 "Path:" 头部字段进行检查,该字段包含文章到目前为止已遍历的站点列表,以 bang path 风格编写。只有当目标站点的名称未出现在此列表中时,文章才会被发送到该站点。

C-News 通常用于在 UUCP 站点之间中继新闻,尽管也可以在 NNTP 环境中使用它。为了将新闻传递到远程 UUCP 站点——无论是单篇文章还是整个批次——uux 用于在远程站点上执行 rnews 命令,并通过标准输入将文章或批次馈送给它。

当为给定站点启用批处理时,C-News 不会立即发送任何传入的文章,而是将其路径名附加到一个文件,通常是 out.going/site/togo。定期地,一个批处理程序从 crontab 条目执行,gif 该程序将文章放入一个或多个文件中,可以选择性地压缩它们,并将它们发送到远程站点的 rnews。

图-gif 显示了通过 relaynews 的新闻流。文章可以中继到本地站点(用 ME 表示)、通过电子邮件中继到名为 ponderosa 的站点,以及中继到启用批处理的名为 moria 的站点。


图: 通过 relaynews 的新闻流。


contents
下一节: 安装 上一层: C-News 上一节: C-News

Andrew Anderson
Thu Mar 7 23:22:06 EST 1996