Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
SM(8)			   InterNetNews Documentation			   SM(8)

NAME
     sm - Command-line interface to the INN storage manager

SYNOPSIS
     sm [-cdHiqRrSs] [token ...]

DESCRIPTION
     The INN storage manager is the subsystem that stores and keeps track of all
     of  the  articles and what storage backend they're in.  All stored articles
     are assigned a storage API token.	sm is a command-line interface	to  that
     storage  manager,	primarily  used to retrieve articles by those tokens but
     also to perform other operations on the storage subsystem.

     token is the token of  an	article  (the  same  thing  that's  returned  by
     grephistory or stored in the history file).  It looks something like:

	 @0502000005A4000000010000000000000000@

     Any  number  of  tokens  can  be given on the command-line for any function
     other than -s.  If none are, sm normally reads tokens from standard  input,
     one  per  line.  The default operation is to retrieve and write to standard
     output the corresponding article for each token given.

     If -s is given, sm instead stores the article given on standard  input  (in
     native  format,  unless -R is given, in which case wire format is expected)
     using the standard rules of the  storage  subsystem.   If	the  article  is
     stored  successfully,  the token of the article is printed to standard out-
     put.  Please note that this does not make any attempt to  write  a  history
     entry  or	any  overview data, and is therefore only useful under very spe-
     cific circumstances.

OPTIONS
     -c  Show a clear, decoded form of the storage API token.  Each part of  the
	 token	is  explained,	in  a human-readable string.  Amongst other ele-
	 ments, this command gives the path to where the  corresponding  article
	 is supposed to be stored.

     -d, -r
	 Rather than retrieving the specified article, remove the article.  This
	 will  delete  the  article out of the news spool and it will not subse-
	 quently be retrievable by any part of INN.  It's equivalent to "ctlinnd
	 cancel" except it takes a storage API token instead of a message-ID.

	 When the expiretombstone setting in inn.conf is true, sm  -r  also  ap-
	 pends	the  cancelled	token  to  cancels.tombstone in pathdb so that a
	 later expire run can drop the corresponding  history  entry  without  a
	 per-article  storage  check.  Append failures are logged but do not af-
	 fect the cancellation itself.	See  inn.conf(5)  under  expiretombstone
	 for the full mechanism.

     -H  Retrieve  only  the headers of the article rather than the entire arti-
	 cle.  This option cannot be used with -d, -r, -i, or -S.

     -i  Show the newsgroup name and article number associated	with  the  token
	 rather  than  the  article itself.  Note that for crossposted articles,
	 only the first newsgroup and article number to which the article is as-
	 sociated will be returned.

     -q  Suppress all error messages except usage errors.

     -R  Display the raw article.  This means that line endings  won't	be  con-
	 verted to native line endings and will be left as CRLF sequences; lead-
	 ing  periods will still be escaped for sending over NNTP, and the arti-
	 cle will end in a CRLF.CRLF sequence.

	 When used with -s, read articles in wire format.

     -S  Write the article to standard output in the format used by rnews  spool
	 files.   Multiple  articles  can be written in this format, and the re-
	 sulting output can be fed to rnews (on another system, for example)  to
	 inject  those	articles  into INN.  This option cannot be used with -d,
	 -r, -H, -i, or -R.

     -s  Store the article given on standard  input  using  the  normal  storage
	 rules for articles as configured in storage.conf(5).  Print the new to-
	 ken  for  the	message to standard output if it is stored successfully.
	 If this option is given, no other options except  -R  and  possibly  -q
	 should be given.  When -R is given, any number of articles in wire for-
	 mat are read on standard input and stored.

EXIT STATUS
     If all operations were successful, sm exits with status 0.  If an operation
     on  any  of  the provided tokens fails, sm will exit with status 1, even if
     the operations on other tokens were successful.  In other words, if  twenty
     tokens  are fed to "sm -r" on stdin, 19 articles were successfully removed,
     but the sixth article couldn't be found, sm will still exit with status 1.

     This means that if you need to be sure whether a particular operation  suc-
     ceeded, you should run sm on one token at a time.

HISTORY
     Written by Katsuhiro Kondou <kondou@nec.co.jp> for InterNetNews.  Rewritten
     in POD by Russ Allbery <eagle@eyrie.org>.

SEE ALSO
     ctlinnd(8), grephistory(1), history(5), rnews(1), storage.conf(5).

INN 2.8.0			   2026-05-25				   SM(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=sm&sektion=8&manpath=FreeBSD+Ports+15.1.quarterly>

home | help