trn is also the successor to an older newsreader, namely rn (which means read news). The “t” in its name stands for “threaded.” It was written by Wayne Davidson.
Unlike tin, trn has no provision for generating its threading database at runtime. Instead, it uses those prepared by a program called mthreads that has to be invoked regularly from cron to update the index files.
You can still access new articles if you're not running mthreads, but you will have all those “A GENUINE INVESTMENT OPPORTUNITY” articles scattered across your article selection menu, instead of a single thread you may easily skip.
To turn on threading for particular newsgroups, invoke mthreads with the list of newsgroups on the command line. The format of the list is the same as the one in the C News sys file:
$ mthreads ’comp,rec,!rec.games.go’
This command enables threading for all of comp and rec, except for rec.games.go (people who play Go don't need fancy threads). After that, you simply invoke mthreads with no options at all to make it thread any newly arrived articles. Threading of all groups found in your active file can be turned on by invoking mthreads with a group list of all.
If you're receiving news during the night, you will customarily run
mthreads once in the morning, but you can also to do so
more frequently if necessary. Sites that have very heavy traffic may want to
run mthreads in daemon mode. When it is started at boot
time using the
–d option, it puts itself in the
background, wakes up every ten minutes to check if there are any newly arrived
articles, and threads them. To run mthreads in daemon
mode, put the following line in your rc.news script:
–a option makes mthreads
automatically turn on threading for new groups as they are created;
–v enables verbose log messages to the
mthreads log file mt.log in
the directory where you have trn installed.
Old articles that are no longer available must be removed from the index files
regularly. By default, only articles with a number below the low-water
mark will be removed.
Articles above this number that have been expired (because the
oldest article has been assigned a long expiration date by an
Expires: header field) may nevertheless be removed by giving
–e option to force an
“enhanced” expiry run. When mthreads is running
in daemon mode, the
–e option makes
mthreads put in such an enhanced expiry run once a day,
shortly after midnight.
Note that C News (described in Chapter 21) doesn't update this low-water mark automatically; you have to run updatemin to do so.