contents
下一步: 活动文件 向上: C-News 前一步: 安装

Thesysfile

sys 文件,位于 /usr/lib/news,控制您接收和转发到其他站点的层级结构。尽管有一些名为 addfeed 和 delfeed 的维护工具,但我认为最好手动维护此文件。

sys 文件包含您要将新闻转发到的每个站点的条目,以及您将接受的组的描述。一个条目看起来像

           site[/exclusions]:grouplist[/distlist][:flags[:cmds]]
条目可以使用反斜杠 (\\) 跨多行继续。井号 (#) 表示注释。
site
这是条目应用到的站点的名称。通常为此选择站点的 UUCP 名称。sys 文件中也必须有您站点的条目,否则您将无法接收任何文章。

特殊的站点名称 ME 表示您的站点。ME 条目定义了您愿意本地存储的所有组。ME 行未匹配的文章将转到 junk 组。

由于 C News 检查站点是否与 Path: 标头字段中的站点名称匹配,因此您必须确保它们真正匹配。某些站点在此字段中使用其完全限定域名,或别名,如 news.site.domain。为了防止任何文章返回到这些站点,您必须将这些添加到排除列表中,以逗号分隔。

例如,对于应用于站点 moria 的条目,站点字段将包含 moria/moria.orcnet.org。

grouplist
这是一个逗号分隔的订阅列表,列出该特定站点的组和层级结构。层级结构可以通过给出层级结构的前缀(例如 comp.os 代表所有名称以此前缀开头的组)来指定,可以选择后跟关键字 all(例如 comp.os.all)。

通过在层级结构或组前面加上感叹号,可以将其从转发中排除。如果针对列表检查新闻组,则应用最长匹配。例如,如果 grouplist 包含

                     !comp,comp.os.linux,comp.folklore.computers
则除了 comp.folklore.computers 和 comp.os.linux 下的所有组之外,comp 层级结构中的任何组都不会被馈送到该站点。

如果站点请求转发您自己接收的所有新闻,请输入 all 作为 grouplist。

distlist
通过斜杠与 grouplist 偏移,并包含要转发的发行版列表。同样,您可以通过在某些发行版前面加上感叹号来排除它们。所有发行版都用 all 表示。省略 distlist 意味着所有发行版的列表。

例如,您可以使用 all,!local 的发行版列表来防止仅供本地使用的新闻被发送到远程站点。

通常至少有两个发行版:world,这通常是用户未指定时使用的默认发行版,以及 local。可能还有其他适用于特定区域、州、国家等的发行版。最后,C News 仅使用两个发行版;它们是 sendme 和 ihave,用于 sendme/ihave 协议。

发行版的使用是一个有争议的主题。一方面,一些新闻阅读器通过简单地使用顶级层级结构来创建虚假的发行版,例如在发布到 comp.os.linux 时使用 comp。适用于区域的发行版也常常令人质疑,因为新闻在互联网上传输时可能会传播到您的区域之外。(3) 但是,适用于组织的发行版非常有意义,例如,防止机密信息离开公司网络。然而,此目的通常通过创建单独的新闻组或层级结构来更好地实现。

flags
这描述了馈送的某些参数。它可以为空,也可以是以下各项的组合
F
此标志启用批处理。
f
这几乎与 F 标志相同,但允许 C News 更精确地计算传出批次的大小。
I
此标志使 C News 生成适合 ihave/sendme 使用的文章列表。需要对 sys 和 batchparms 文件进行其他修改才能启用 ihave/sendme。
n
这为活动 NNTP 传输客户端(如 nntpxmit)(请参阅第 19 章)创建批处理文件。批处理文件包含文章的文件名及其消息 ID。
I
此标志使 C News 生成适合 ihave/sendme 使用的文章列表。需要对 sys 和 batchparms 文件进行其他修改才能启用 ihave/sendme。
n
这为活动 NNTP 传输客户端(如 nntpxmit)(请参阅第 19 章)创建批处理文件。批处理文件包含文章的文件名及其消息 ID。
L
这告诉 C News 仅传输在您的站点发布的文章。此标志后面可以跟一个十进制数字 n,这使得 C News 仅传输从您的站点在 n 跳内发布的文章。C News 从 Path: 字段确定跳数。
u
告诉 C News 仅批量处理来自非审核组的文章。
m
告诉 C News 仅批量处理来自审核组的文章。
您最多可以使用 F、f、I 或 n 中的一个。
cmds
除非启用了批处理,否则此字段包含要为每篇文章执行的命令。文章将通过标准输入馈送到命令。这仅应用于非常小的馈送;否则,两个系统上的负载都将过高。

默认命令是

                     uux - -r -z system!rnews
它在远程系统上调用 rnews,并通过标准输入将其馈送文章。

此字段中给出的命令的默认搜索路径是 /bin:/usr/bin:/usr/lib/news/bin/batch。后一个目录包含许多名称以 via 开头的 shell 脚本;它们将在本章后面简要介绍。

如果使用 F 或 f、I 或 n 标志启用了批处理,则 C News 希望在此字段中找到文件名而不是命令。如果文件名不以斜杠 (/) 开头,则假定它相对于 /var/spool/news/out.going。如果该字段为空,则默认为 system/togo。

在设置 C-News 时,您很可能需要编写自己的 sys 文件。为了帮助您,我们在下面给出了 vbrew.com 的示例文件,您可以从中复制您需要的内容。
           # We take whatever they give us.
           ME:all/all::

           # We send everything we receive to moria, except for local and
           # brewery-related articles. We use batching.
           moria/moria.orcnet.org:all,!to,to.moria/all,!local,!brewery:f:

           # We mail comp.risks to jack@ponderosa.uucp
           ponderosa:comp.risks/all::rmail jack@ponderosa.uucp

           # swim gets a minor feed
           swim/swim.twobirds.com:comp.os.linux,rec.humor.oracle/all,!local:f:

           # Log mail map articles for later processing
           usenet-maps:comp.mail.maps/all:F:/var/spool/uumaps/work/batch


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