在线程处理方面,功能最全面的新闻阅读器是 tin。它由 Iain Lea 编写,并在一定程度上模仿了一个名为 tass 的旧新闻阅读器(由 Rich Skrenta 编写)。它在用户进入新闻组时进行线程处理,并且速度相当快,除非您通过 NNTP 获取帖子。
在 486DX50 上,当直接从磁盘读取时,线程化 1,000 篇文章大约需要 30 秒。通过 NNTP 连接到负载过重的新闻服务器可能需要 5 分钟以上。[1] 您可以通过定期更新索引文件来缩短这个时间,方法是使用以下–u选项调用 tin,这样当您下次启动 tin 阅读新闻时,线程已经存在。或者,您可以使用以下–U选项来调用 tin 阅读新闻。以这种方式调用时,tin 会 fork 一个后台进程来构建索引文件,同时您正在阅读新闻。
通常,tin 会将其线程数据库转储到用户主目录下的.tin/index。但这在资源方面可能代价高昂,因此您应该将它们的单个副本保存在中心位置。例如,通过将 tin 设置为 setuid 到 news 用户可以实现这一点。tin 然后会将所有线程数据库保存在以下位置下/var/spool/news/.index。对于任何文件访问或 shell 转义,它都会将其有效 uid 重置为调用它的用户的真实 uid。[2]
某些 Linux 发行版中包含的 tin 版本在编译时没有 NNTP 支持,但现在大多数版本都支持了。当作为 rtin 或使用–r选项调用时,tin 尝试连接到文件中指定的 NNTP 服务器/etc/nntpserver或在 NNTPSERVER 环境变量中。该nntpserver文件只包含服务器名称,在一行中。
[1] | 如果 NNTP 服务器本身进行线程处理,并允许客户端检索线程数据库,情况会大大改善;例如,INN 就是这样做的。 |
[2] | 这就是为什么当您以超级用户身份调用 tin 时会收到难看的错误消息的原因。但是无论如何,您都不应该以 root 用户身份进行日常工作。 |