As long as PPP is active, it will be possible to read news
online. There are lots of available programs. Two
simple alternatives are
To start reading news, the only thing required in terms of
configuration in most cases is to do (usually once and for all in
To get the From-address correct in postings, some programs may require:
To be able to read news while offline, and thus reduce phone bills and give greater flexibility, one must set up a local news-spool of one sort or the other. This requires some configuration, and there will also be a certain amount of disk space involved. After initial setup, things should run more or less by themselves, with only some attention needed from time to time.
Two different solutions will be described here.
The solution described here is based on the news-server C News and the NNTP protocol. C News was originally targeted towards another sort of configuration, but is flexible enough to handle our situation too. One might also use the more recent INN news server, but it might require a bit more in terms of resources. Any way, be careful not to install both; they don't live together easily.
It is crucial that all maintenance of news is done while logged
in as user
news, and that all configuration files is
/usr/lib/news. One way of handling this is,
while logged in as
root to write
su news; cd.
The most important files in the configuration are:
activeis an overview over active newsgroups. It is updated as required by the command addgroup, e.g.
addgroup comp.os.linux.networking y.
organizationshould simply contain whatever you want in the Organization: header field, in our case:
Dirk Gently's Holistic Detective Agency
mailnameshould in our case be set to
whoamiis set to the name of your
sitein the Path: thread. In a setup as described here, using
NewsX, this name will never leave the machine, so you can set this to whatever you like as long as you are pretty sure it is unique. In this case
syscontrols fetching and further distribution of news. We will assume the ISP in our case adds
acme.netto the Path, and that this is the only news source we have. The example given really tells that we will accept everything that arrives, and that we will only post news to
acme.netthat it hasn't seen before, and is originally posted at our own site. In this simplified setup we assume that the all groups will come from a single source.
/allspecifies the distribution, and must be included. The letter
Fsays that (pointers to) outgoing news articles will be collected in a file.
mailpathscontrols posting in moderated groups, although this task may usually be left to the ISP.
C News needs a certain degree of daily maintenance, but this can
be specified once and for all via the command
issued as user
news. A suggested setup follows; it can
be tuned as required:
newsrun moves articles in and out (twice every hour), doexpire will delete articles as they get old (every night at 00:30), and the three last commands does various supervisory and error correcting tasks.
# 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
One should also ensure that things are cleaned up when starting
the machine. As user root, add the following line to
News may be collected via the program NewsX, picking news from an NNTP-server. The program can be found at:
su news -c /usr/lib/newsbin/maint/newsboot
NewsX is quite simple. Installation is a
classic case of:
make su make install exit
With the setup outlined here, all you have to do is to create the groups you want to read using the "addgroup" command.
To fetch articles, user
news issues the following
commands (assuming communication via PPP or similar is up):
newsrun newsx acme news.acme.net newsrun
-d gives continuous printout to the screen.
Refer to the NewsX documentation for further information.
NewsX will also take care of posting of outgoing news.
To control disposal of articles as they get old, a file
explist is required. The comments in this example
should explain what we want to do:
# 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 -
ALT: In a small news-spool, one will often not need the
control. The traffic is huge
compared to the usefulness. The main point is that articles will
be canceled, and that groups may be created automatically. To
ensure that control messages containing
shall mess up things for us, a file called
specifies what we will allow:
In this example, all proper groups under comp.os.linux will be created (y), and the user
comp.os.linux email@example.com yv all any nq
newswill be notified (v). Everything else will be silently (q) ignored (n). The last line is sufficient if you want to create all groups manually.
ALT: Alternatives to NewsX are
slurp combined with
postit. Slurp uses the
NNTP NEWNEWS which will put severe loads on many news server.
A different solution altogether is to install the integrated
leafnode. This will handle all tasks required
for a personal news spool, and is easy to configure. It is
As for C News, all news maintenance should be performed as user
The home directory for leafnode is in
/usr/lib/leafnode. To install, write:
cd /usr/lib/leafnode tar -xzvf leafnode-0.8.tgz cd leafnode-0.8 make su make install
While still being logged in as
root, change the line
that controls NNTP in
Activate it by:
nntp stream tcp nowait news /usr/sbin/tcpd /usr/local/sbin/leafnode
killall -HUP inetd
Return to user
news by writing
/usr/lib/leafnode/config change the line that defines
the NNTP server. In our case:
server = news.acme.net
Leafnode will look after itself by adding the following command
crontab -e as user
# expire Leafnode, once a day 0 4 * * * /usr/local/sbin/texpire
The news exchange is also done as user
news by the
following command (assuming PPP is up and running):
Users who wants to read news should then use the recipe in How do I set up an online news-reader?, except that they configure for the local machine, i.e:
That should be all there is to it. The first
transfer a list of available newsgroups. Leafnode will then
monitor what groups the users are requesting, and adapt to this
the next time it is activated.
ALT: An alternative to
nntpcache, available from: