下一页 上一页 目录

5. 新闻

5.1 如何设置在线新闻阅读器?

只要 PPP 处于活动状态,就可以在线阅读新闻。有很多可用的程序,两个简单的替代方案是rtin 和trn。

要开始阅读新闻,在大多数情况下,配置方面唯一需要做的就是设置 NNTPSERVER(通常在文件.profile)中设置一次即可

export NNTPSERVER=news.acme.xz

为了在帖子中获得正确的发件人地址,某些程序可能需要

export NNTP_INEWS_DOMAIN=acme.xz

5.2 如何设置离线新闻阅读器?

为了能够在离线时阅读新闻,从而减少电话费并提供更大的灵活性,必须设置某种本地新闻假脱机。这需要一些配置,并且还会涉及一定的磁盘空间。初始设置完成后,事情应该或多或少地自行运行,只需偶尔关注一下即可。

这里将介绍两种不同的解决方案。

5.3 如何设置 C News?

这里描述的解决方案基于新闻服务器 C News 和 NNTP 协议。C News 最初是针对另一种配置的,但也足够灵活来处理我们的情况。也可以使用更新的 INN 新闻服务器,但这可能需要更多的资源。无论哪种方式,请注意不要同时安装两者;它们不能轻易地共存。

至关重要的是,所有新闻维护都必须在以用户 news 身份登录时完成,并且所有配置文件都必须放在/usr/lib/news 中。一种处理方法是,在以 root 身份登录时,写入 su news; cd

配置中最重要的文件是

Dirk Gently's Holistic Detective Agency

ME:all/all::
acme/acme.xz:all,!junk/all:FL:

mkdir /var/spool/news/out.going/acme

C News 需要一定程度的日常维护,但这可以通过命令 crontab -e 一劳永逸地指定以用户 news 身份发出。建议的设置如下;可以根据需要进行调整

# maintain incoming and outgoing batches
10,40 *  * * * /usr/lib/newsbin/input/newsrun

# expire C News, once a day
30 0  * * * /usr/lib/newsbin/expire/doexpire

# monitor and report if needed
00 2  * * sat /usr/lib/newsbin/maint/addmissing
40 3  * * * /usr/lib/newsbin/maint/newswatch
50 3  * * * /usr/lib/newsbin/maint/newsdaily
newsrun 移入和移出文章(每小时两次),doexpire 将在文章过期后删除它们(每晚 00:30),最后三个命令执行各种监管和纠错任务。

还应确保在启动机器时清理内容。以 root 用户身份,将以下行添加到 /etc/rc.d/rc.local

su news -c /usr/lib/newsbin/maint/newsboot
新闻可以通过程序 NewsX 收集,从 NNTP 服务器获取新闻。该程序可以在以下位置找到

ftp://sunsite.unc.edu/pub/Linux/system/news/transport/newsx-0.9.tar.gz 或者

ftp://ftp.sol.no/user/egilk/newsx-0.9.tar.gz

设置 NewsX 非常简单。安装是一个经典的案例

make
su
make install
exit

使用此处概述的设置,您只需使用addgroup 命令创建您想要阅读的组即可。

要获取文章,用户 news 发出以下命令(假设通过 PPP 或类似方式的通信已启动)

newsrun
newsx acme news.acme.xz
newsrun

选项 -d 提供到屏幕的连续打印输出。有关更多信息,请参阅 NewsX 文档。

NewsX 还将负责发布外发新闻。

为了控制旧文章的处理,需要文件 explist。此示例中的注释应解释我们想要做什么

# hold onto history lines 14 days, nobody gets >120 days
/expired/                       x       14      -
/bounds/                        x       0-1-120 -

# retain these for 2 months
comp.sources,comp.os.linux.all  x       60      -

# noise gets thrown away fast
junk,control                    x       2       -

# default:  14 days, no archive
all                             x       14      -

备选方案: 在小型新闻假脱机中,通常不需要新闻组 control。与可能的用途相比,流量是巨大的。主要点是文章将被取消,并且组可能会自动创建。为了确保包含 newgroup 的控制消息不会给我们带来麻烦,需要一个名为newgroupperm 的文件指定我们将允许的内容

comp.os.linux   tale@uunet.com  yv
all             any             nq
在本例中,comp.os.linux 下的所有适当组都将被创建 (y),并且用户 news 将收到通知 (v)。其他一切都将被静默 (q) 忽略 (n)。如果您想手动创建所有组,则最后一行就足够了。

备选方案: NewsX 的替代方案是 suck。

5.4 如何设置 Leafnode?

完全不同的解决方案是安装集成包leafnode。这将处理个人新闻假脱机所需的所有任务,并且易于配置。它可以通过以下网址获得

http://www.troll.no/freebies/leafnode.html

对于 C News,所有新闻维护实际上都应以用户 news 身份执行。

leafnode 的主目录位于 /usr/lib/leafnode 中。要安装,请写入

cd /usr/lib/leafnode
tar -xzvf leafnode-0.8.tgz
cd leafnode-0.8
make
su
make install

请注意,如果从软件包安装了 leafnode,则以下内容中的前缀 /usr/local/sbin 应替换为 /usr/sbin。

在仍以 root 身份登录时,更改 /etc/inetd.conf 中控制 NNTP 的行/etc/inetd.conf

nntp  stream  tcp  nowait  news  /usr/sbin/tcpd /usr/local/sbin/leafnode
通过以下方式激活它
killall -HUP inetd

通过写入 exit 返回用户 news。在/usr/lib/leafnode/config 中,更改定义 NNTP 服务器的行。在我们的例子中

server = news.acme.xz

Leafnode 将通过以用户 news 身份通过 crontab -e 添加以下命令来照顾自己

# expire Leafnode, once a day
0 4 * * * /usr/local/sbin/texpire

新闻交换也以用户 news 身份通过以下命令完成(假设 PPP 已启动并运行)

/usr/local/sbin/fetch

想要阅读新闻的用户应该使用如何设置在线新闻阅读器?中的方法,除了他们为本地机器配置,即

export NNTPSERVER=localhost

这就是全部内容。第一个 fetch 将传输可用新闻组的列表。然后,Leafnode 将监视用户正在请求哪些组,并在下次激活时适应这种情况。

请注意,leafnode 似乎在需要 NNTP 授权的情况下不起作用。+.LP

备选方案: leafnode 的替代方案是 nntpcache,可从以下位置获得

ftp://ftp.suburbia.net/pub/nntpcache/nntpcache.tgz 备选方案: 另一个替代方案是使用新闻阅读器slrn 以及slrn-pull 包。新闻阅读器必须使用 spool 功能集编译。


下一页 上一页 目录