texpire(8)

πŸ“¦
version 1.12.0 Β· 3 versions
, in debian bookworm, debian trixie, nixpkgs unstable, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’… texpire β€” the manual, but make it make sense

okay bestie, sit down, we're talking about texpire, a section 8 (system manager) manual page. In here it's texpire(8). It's from the leafnode package, version 1.12.0, and it does exactly two dramatic things: deletes old news articles and repairs the leafnode news spool. That's the whole vibe. πŸŽ€


✨ NAME ✨

texpire β€” delete old news articles and repair leafnode news spool


✨ SYNOPSIS ✨

texpire [-v[...]] [-q] [-f] [-h] [-r]

✨ DESCRIPTION ✨

So, context first, because you deserve it. Leafnode is a USENET package made for small sites β€” think few users, not a lot of disk space, but a large number of groups desired. Little server, big dreams. πŸ’–

texpire is the program that deletes old articles from the local news spool and repairs most problems of the news spool. It's giving janitor but make it glamorous. Specifically it can:

  • restore broken hard links πŸ”—
  • re-sort message.id links into the right directories (this is necessary when the spool has been moved to a different path, so don't skip it)
  • update overview data

But listen, bestie, it has limits: it can not repair loss of @spooldir@/news/group/* files. Like, that's just gone. Mourn it and move on. 😭

Archive feature: if a groupexpire parameter is set to -1 for a particular group (or pattern), texpire will skip this (these) groups. Protecting them. Iconic behaviour, honestly.


✨ OPTIONS ✨

  • -v β€” Be verbose. You can stack up to a maximum of four -v (the more v, the more verbose, obviously πŸ’…). Do not expect all the output to make sense. Cancels preceding -q options.
  • -f β€” Force expire. Expire will be made regardless of the access time of the file. Especially useful if you regularly backup your news spool or do other things to it where you open files in there.
  • -q β€” Quiet. Print no messages unless problems occur. Cancels preceding -v options.
  • -r β€” Repair (since v1.9.54). Runs a more thorough yet slower check to detect broken hard links between articles and message.id files.
  • -h β€” Help. Print short usage message and exit with code 0.

✨ FILES ✨

See leafnode(8) for the list of files affected. That's it, that's the section, go read the other page. πŸ¦‹


✨ NOTES ✨

texpire sets its real and effective uid to "news" (if it can), because almost all of the problems I have had with leafnode are due to files which are not writable for user "news". Permission problems are the villain of this story, fr fr. πŸ™ˆ


✨ BUGS ✨

okay this is the part where we keep it real:

  • texpire may not delete an article as soon as it should in certain circumstances, for instance after backing up or restoring data; eventually it will. It's just on its own timeline. ⏳
  • texpire ignores "Expires" headers.
  • texpire is unable to delete articles in groups which have non-consecutive numbers with huge gaps.
  • texpire does not delete thread-based, but is only looking at individual articles, although the leafnode documentation of previous versions claimed otherwise. (The old docs lied, bestie. πŸ’€)
  • texpire only removes the innermost empty directory when all articles expire from a group. On the next run, it will remove the parent, which then is empty again, so eventually, empty directories will be deleted after some texpire runs. It's a slow-burn cleanup arc. 🌸

✨ ENVIRONMENT ✨

  • LN_LOCK_TIMEOUT β€” This variable is parsed as an unsigned integer value and determines how many seconds texpire will wait when trying to obtain the lock file from another leafnode program. 0 means to wait indefinitely. This variable takes precedence over the configuration file. πŸ‘‘

✨ AUTHOR ✨

Written by Arnt Gulbrandsen <agulbra@troll.no> and copyright 1995 Troll Tech AS, Postboks 6133 Etterstad, 0602 Oslo, Norway, fax +47 22646949.

Modified by Cornelius Krasel <krasel@wpxx02.toxi.uni-wuerzburg.de>. Copyright of the modifications 1997 – 1999.

Modified Ralf Wildenhues <ralf.wildenhues@gmx.de>. Copyright of the modifications 2002.

Modified by Matthias Andree <matthias.andree@gmx.de>. Copyright of the modifications 2002 – 2004.

The archive feature was contributed by Andreas Meininger <a.meininger@gmx.net>.


✨ SEE ALSO ✨

tcpd(8), hosts.allow(5), leafnode(8), fetchnews(8), RFC 977.


πŸ’– that's the whole page, bestie. you ate it. now go expire some articles responsibly. πŸ’…

so yeah β€” this was the texpire(8) manual page from leafnode, version 1.12.0 (the leafnode source, dated with that release, and this page lives in section 8 because it's a system manager thing). mwah, bye 🫢✨

πŸ“¦ where this page comes from