(Command-line interface to the INN storage manager)


sm [-dHiqRrS] [token ...]


The INN storage manager is the subsystesm 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:


Any number of tokens can be given on the command line. If none are, sm 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.


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


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


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 associated will be returned.


Suppress all error messages except usage errors.


Display the raw article. This means that line endings won't be converted to native line endings and will be left as CRLF sequences, leading periods will still be escaped for sending over NNTP, and the article will end in a CRLF.CRLF sequence.


Write the article to standard output in the format used by rnews spool files. Multiple articles can be written in this format, and the resulting 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.


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 succeeded, you should run sm on one token at a time.


Written by Katsuhiro Kondou <> for InterNetNews. Rewritten in POD by Russ Allbery <>.



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

Last modified and spun 2022-12-12