example of innd running from xinetd

Russ Allbery rra at stanford.edu
Tue Sep 28 19:35:49 UTC 2004


Bill Tangren <bjt at aa.usno.navy.mil> writes:

> At least part of my problem stems from something earlier. I am trying to 
>   upgrade a server. The old server had inn 2.3.5 and a lot of posts to 
> several internal newsgroups. I copied the old posts to the new server 
> (after building the server). I issued this command:

> makehistory -f -O -x

> Unfortunately, I issued it as root. I got no errors, so I thought it
> worked. I was wrong. I reissued the command as news, but the damage was
> done, I think. I can't get my newsreader to access the groups. Upon
> reading the makehistory man pages, it seems I was supposed to run the
> makedbz command.

You should be able to just chown (recursively) everything in your news
spool, overview, and database directories to news:news (or whatever your
news user and news group are) to fix up that.

makehistory -x doesn't rebuild the history file, so there would be no need
to run makedbz.  You need to run makedbz if you've rebuilt the history
file, in order to reindex it.  The above command would have rebuilt your
overview database.  (I assume you meant -F, not -f.)

> When trying to recreate a news server with old posts, which commands
> should I issue? Do I need to run makedbz? Or will the above makehistory
> work?

Below is the recommended procedure for moving posts from one server to
another, although makehistory should also work if your storage.conf is set
up appropriately so that it can find all the places that your articles are
stored.  For upgrading from INN 2.3.5 to INN 2.4.1, incidentally, you
don't need to rebuild history or overview; the disk format is compatible.


URL: <http://www.eyrie.org/~eagle/faqs/inn.html#S6.4>

Subject: 6.4. Feed all articles on a server to another server

To feed all articles on an existing server to another one, regardless of
how they're stored on the server, first tell the new server to accept
articles regardless of how old they are (otherwise, INN will reject
articles older than artcutoff in inn.conf):

    ctlinnd param c 0

You may also want to set xrefslave to true in inn.conf and then restart
INN on the new server if you want to keep the same article numbers as you
had on the old server.

Next, make sure that the old server is listed in incoming.conf of the new
server, and reload incoming.conf with ctlinnd to pick up that change.
Also make sure that the new server carries exactly the same set of
newsgroups as the old server.

Then try these commands (a variation on commands posted by Katsuhiro
Kondou to inn-workers) on the old server:

    cd pathdb
    perl -ne 'chomp; ($a,$b,$_) = split " "; print "$_\n" if $_' history \
        | tr . / > pathoutgoing/list
    innxmit server list

where pathdb is the path to the directory containing the history file
(usually ~news/db), pathoutgoing is the path to the outgoing spool
directory (usually ~news/spool/outgoing), and server is the name of the
new news server to which you're feeding the articles.

When done, set xrefslave to false in inn.conf again if you changed it and
then either restart INN on the new server (necessary if you changed
xrefslave) or use another ctlinnd param command to set the cutoff value
back to what's specified in inn.conf.

Please note that when using xrefslave, this method requires that all of
the articles in your spool have Xref headers.  Current versions of INN
will always add an Xref header, but very old versions (earlier 1.x
versions) will only add an Xref header to crossposted articles.  If you're
trying to import such a spool, you'll need to modify all of those articles
to add an Xref header.

-- 
Russ Allbery (rra at stanford.edu)             <http://www.eyrie.org/~eagle/>

    Please send questions to the list rather than mailing me directly.
     <http://www.eyrie.org/~eagle/faqs/questions.html> explains why.


More information about the inn-workers mailing list