trn 也是一个较早的新闻阅读器的后继者,即 rn(意思是 read news,阅读新闻)。名称中的“t”代表“threaded”(线程化)。它由 Wayne Davidson 编写。
与 tin 不同,trn 没有在运行时生成其线程数据库的功能。相反,它使用由一个名为 mthreads 的程序准备的数据库,该程序必须定期从 cron 调用才能更新索引文件。
即使您没有运行 mthreads,您仍然可以访问新的文章,但是所有那些“真正的投资机会”的文章都会分散在您的文章选择菜单中,而不是一个您可以轻松跳过的单个线程。
要为特定新闻组启用线程化,请在命令行中使用新闻组列表调用 mthreads。列表的格式与 C News 中的格式相同sys文件
$ mthreads ’comp,rec,!rec.games.go’ |
此命令为所有 comp 和 rec 启用线程化,除了 rec.games.go(下围棋的人不需要花哨的线程)。之后,您只需不带任何选项地调用 mthreads,即可使其对任何新到达的文章进行线程化。可以通过使用 all 的组列表调用 mthreads 来启用在您的active文件中找到的所有组的线程化。
如果您在夜间接收新闻,您通常会在早上运行一次 mthreads,但如果需要,您也可以更频繁地运行它。流量非常大的站点可能希望以守护进程模式运行 mthreads。当它在启动时使用–d选项启动时,它会将自身置于后台,每十分钟唤醒一次以检查是否有任何新到达的文章,并对它们进行线程化。要以守护进程模式运行 mthreads,请将以下行放在您的rc.news脚本中
/usr/local/bin/rn/mthreads -deav |
The–a选项使 mthreads 在创建新组时自动启用线程化;–v启用到 mthreads 日志文件中的详细日志消息mt.log在您安装 trn 的目录中。
不再可用的旧文章必须定期从索引文件中删除。默认情况下,只会删除编号低于低水位线的文章。[1] 可以通过给 mthreads 提供Expires标题字段分配了很长的过期日期),仍然可以通过给 mthreads–e选项来强制进行“增强”的过期运行来删除高于此编号的已过期的文章。当 mthreads 以守护进程模式运行时,–e选项使 mthreads 在每天午夜过后不久进行一次这种增强的过期运行。
[1] | 请注意,C News(在第 21 章中描述)不会自动更新此低水位线;您必须运行 updatemin 才能执行此操作。 |