与 tin 不同,trn 没有在运行时生成线程数据库的功能。相反,它使用由名为 mthreads 的程序准备的数据库,该程序必须定期从 cron 调用以更新索引文件。
然而,不运行 mthreads 并不意味着您无法访问新文章,这仅仅意味着您会在文章选择菜单中看到所有“Novell buys out Linix!!”的文章散落各处,而不是一个您可以轻松跳过的单个线程。
要为特定的新闻组启用线程,需要使用命令行上的新闻组列表调用 mthreads。列表的构成方式与 sys 文件中的列表完全相同
mthreads comp,rec,!rec.games.go将为 comp 和 rec 中的所有新闻组启用线程,除了 rec.games.go (玩围棋的人不需要花哨的线程)。之后,您只需不带任何选项地调用它,即可使其对任何新到达的文章进行线程化。可以通过使用 all 的组列表调用 mthreads 来为 active 文件中找到的所有组启用线程。
如果您在夜间接收新闻,通常会在早上运行一次 mthreads,但如果需要,您也可以更频繁地运行。流量非常大的站点可能希望在守护进程模式下运行 mthreads。当在启动时使用 -d 选项启动时,它会将其自身置于后台,并每 10 分钟唤醒一次以检查是否有任何新到达的文章,并对其进行线程化。要在守护进程模式下运行 mthreads,请将以下行放在您的 rc.news 脚本中
/usr/local/bin/rn/mthreads -deav-a 选项使 mthreads 在创建新组时自动为新组启用线程;-v 启用详细的日志消息到 mthreads 的日志文件 mt.log,该文件位于您安装 trn 的目录中。
不再可用的旧文章必须定期从索引文件中删除。默认情况下,仅删除编号低于低水位线的文章。 编号高于此但已过期的文章(因为最旧的文章已被“Expires:”标头字段分配了较长的到期日期)可以通过为 mthreads 提供 -e 选项来强制执行“增强型”过期运行来删除。当 mthreads 在守护进程模式下运行时,-e 选项使其每天午夜后不久执行一次此类增强型过期运行。