Removing articles from the history file

Russ Allbery rra at stanford.edu
Fri Sep 27 17:23:27 UTC 2002


Lars Magne Ingebrigtsen <larsi at gnus.org> writes:

> So my question really is this: Does inn have a command for removing a
> line from the history file given a Message-ID (or lots of lines from the
> history file given a list of Message-IDs)?  If not, can somebody point
> me in the right direction as to how to implement this?

It doesn't have built-in support for this, but it's not too hard to do.
Unfortunately, it does require stopping innd (but not nnrpd if you're
running it separately).

There isn't, at least right now, a good way of getting just the hash from
the message ID.  That should really be added to grephistory, but it hasn't
been yet.  So for the time being, I have to handwave around "figure out
the history lines for each of those articles" (using grephistory -s to get
all the tokens and then using those to identify the lines would work).

Once you have that list, stop the server, and then filter all those lines
out of the history file.  Replace the old history file with the new one
and then use makedbz -o to regenerate the database indexes.  Then restart
the server.

Since the history file is textual and append-only from innd's perspecive,
there isn't a good way of removing entries from it without rewriting the
entire file (which is what nightly expire does).

-- 
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