.\" Automatically generated by Pod::Man 4.07 (Pod::Simple 3.32) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .if !\nF .nr F 0 .if \nF>0 \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "SM 1" .TH SM 1 "2015-09-12" "INN 2.6.3" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" sm \- Command\-line interface to the INN storage manager .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBsm\fR [\fB\-cdHiqRrSs\fR] [\fItoken\fR ...] .SH "DESCRIPTION" .IX Header "DESCRIPTION" The \s-1INN\s0 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 \s-1API\s0 token. \fBsm\fR 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. .PP \&\fItoken\fR is the token of an article (the same thing that's returned by \&\fBgrephistory\fR or stored in the \fIhistory\fR file). It looks something like: .PP .Vb 1 \& @0502000005A4000000010000000000000000@ .Ve .PP Any number of tokens can be given on the command-line for any function other than \fB\-s\fR. If none are, \fBsm\fR 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. .PP If \fB\-s\fR is given, \fBsm\fR 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. .SH "OPTIONS" .IX Header "OPTIONS" .IP "\fB\-c\fR" 4 .IX Item "-c" Show a clear, decoded form of the storage \s-1API\s0 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. .IP "\fB\-d\fR, \fB\-r\fR" 4 .IX Item "-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 \s-1INN. \s0 It's equivalent to \f(CW\*(C`ctlinnd cancel\*(C'\fR except it takes a storage \s-1API\s0 token instead of a message-ID. .IP "\fB\-H\fR" 4 .IX Item "-H" Retrieve only the headers of the article rather than the entire article. This option cannot be used with \fB\-d\fR, \fB\-r\fR, \fB\-i\fR, or \fB\-S\fR. .IP "\fB\-i\fR" 4 .IX Item "-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. .IP "\fB\-q\fR" 4 .IX Item "-q" Suppress all error messages except usage errors. .IP "\fB\-R\fR" 4 .IX Item "-R" Display the raw article. This means that line endings won't be converted to native line endings and will be left as \s-1CRLF\s0 sequences; leading periods will still be escaped for sending over \s-1NNTP,\s0 and the article will end in a \s-1CRLF.CRLF\s0 sequence. .IP "\fB\-S\fR" 4 .IX Item "-S" Write the article to standard output in the format used by \fBrnews\fR spool files. Multiple articles can be written in this format, and the resulting output can be fed to \fBrnews\fR (on another system, for example) to inject those articles into \s-1INN. \s0 This option cannot be used with \fB\-d\fR, \fB\-r\fR, \&\fB\-H\fR, \fB\-i\fR, or \fB\-R\fR. .IP "\fB\-s\fR" 4 .IX Item "-s" Store the article given on standard input using the normal storage rules for articles as configured in \fIstorage.conf\fR\|(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 \fB\-q\fR should be given. .SH "EXIT STATUS" .IX Header "EXIT STATUS" If all operations were successful, \fBsm\fR exits with status 0. If an operation on any of the provided tokens fails, \fBsm\fR will exit with status 1, even if the operations on other tokens were successful. In other words, if twenty tokens are fed to \f(CW\*(C`sm \-r\*(C'\fR on stdin, 19 articles were successfully removed, but the sixth article couldn't be found, \fBsm\fR will still exit with status 1. .PP This means that if you need to be sure whether a particular operation succeeded, you should run \fBsm\fR on one token at a time. .SH "HISTORY" .IX Header "HISTORY" Written by Katsuhiro Kondou for InterNetNews. Rewritten in \s-1POD\s0 by Russ Allbery . .PP \&\f(CW$Id:\fR sm.pod 9767 2014\-12\-07 21:13:43Z iulius $ .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIctlinnd\fR\|(8), \fIgrephistory\fR\|(1), \fIhistory\fR\|(5), \fIrnews\fR\|(1), \fIstorage.conf\fR\|(5).