sm - Command-line interface to the INN storage manager


   sm [-cdHiqRrSs] [token ...]


   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

   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 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, not wire format) using the standard rules of the
   storage subsystem.  If the article is stored successfully, the token of
   the article is printed to standard output.  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 specific circumstances.


   -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
       elements, 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
       subsequently be retrievable by any part of INN.  It's equivalent to
       "ctlinnd cancel" except it takes a storage API token instead of a

   -H  Retrieve only the headers of the article rather than the entire
       article.  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 associated will be returned.

   -q  Suppress all error messages except usage errors.

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

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

   -s  Store the article given on standard input using the normal storage
       rules for articles as configured in storage.conf(5).  Print the new
       token for the message to standard output if it is stored
       successfully.  If this option is given, no other options except
       possibly -q should be given.


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

   $Id: sm.pod 9767 2014-12-07 21:13:43Z iulius $


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


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.

Free Software

Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.

Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.

Free Books

The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.

Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.

Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.