2005-12-09 16:43:14 +00:00
|
|
|
OpenAFS Man Pages
|
|
|
|
|
|
|
|
Overview
|
|
|
|
|
|
|
|
This directory contains the POD source and (in releases) the generated
|
|
|
|
man pages for OpenAFS commands and files. The man pages are based on
|
|
|
|
the original IBM AFS Administration Reference manual, released with the
|
|
|
|
rest of AFS under the IBM Public License 1.0. They were converted from
|
|
|
|
HTML to POD, editing, and are currently maintained in POD.
|
|
|
|
|
|
|
|
The man pages are very much a work in progress. The original source
|
|
|
|
material dated from IBM's public release of AFS, and many changes since
|
|
|
|
made in OpenAFS are not reflected in the man pages. Help and
|
|
|
|
contributions are actively solicited. Please see "How You Can Help"
|
|
|
|
below for more information.
|
|
|
|
|
|
|
|
The long-term goal is for every command shipped with OpenAFS and every
|
|
|
|
configuration or data file written or read by OpenAFS to have its own
|
|
|
|
man page. Section one is used for commands that don't require special
|
|
|
|
privileges, section eight for commands for AFS administrators and local
|
|
|
|
system administrators, and section five for file formats and
|
|
|
|
configuration files, with the exception that command suites are kept
|
|
|
|
together (so, for instance, all fs commands are documented in section
|
|
|
|
one even though some of them are only usable by a local system
|
|
|
|
administrator).
|
|
|
|
|
|
|
|
The OpenAFS man pages are discussed on the openafs-doc mailing list at
|
|
|
|
openafs.org. If you plan on contributing to the man page project,
|
2011-06-05 21:38:53 +01:00
|
|
|
please join that mailing list and send suggestions, patches*, and
|
2005-12-09 16:43:14 +00:00
|
|
|
contributions there. The coordinator of the OpenAFS man page project is
|
|
|
|
Russ Allbery <rra@stanford.edu>; feel free to contact me directly with
|
|
|
|
questions (although using the mailing list is generally better and will
|
|
|
|
probably result in a faster response).
|
|
|
|
|
2011-06-05 21:38:53 +01:00
|
|
|
* Although we still accept patch submissions to the list, it is
|
|
|
|
greatly preferred that you make your submission through Git to
|
|
|
|
the OpenAFS Gerrit instance (code review system). Information
|
|
|
|
can be found at <http://wiki.openafs.org/AFSLore/GitDevelopers>
|
|
|
|
|
2005-12-09 16:43:14 +00:00
|
|
|
POD and Man Page Generation
|
|
|
|
|
|
|
|
The OpenAFS man pages are maintained in POD (Plain Old Documentation),
|
|
|
|
the documentation system originally developed for Perl. This is not an
|
|
|
|
uncontroversial choice, since POD isn't as rich and full-featured as
|
|
|
|
other possible alternatives such as Docbook RefEntry. On the other
|
|
|
|
hand, POD is very close to plain text, can be easier to edit and
|
|
|
|
maintain for those not familiar with the documentation format, and has
|
|
|
|
more mature tools for conversion to formatted man pages, an output
|
|
|
|
format that is particularly important on Unix/Linux. There are many
|
|
|
|
good arguments either way, and fundamentally the decision was made to
|
|
|
|
use POD because I prefer it and I'm volunteering to write and edit the
|
|
|
|
pages and maintain them going forward.
|
|
|
|
|
|
|
|
To convert the POD source to formatted man pages, you need the pod2man
|
|
|
|
utility. This utility has come with Perl for many years, so if you have
|
|
|
|
Perl installed, you almost certainly have some version of it available.
|
|
|
|
For the best results, install Pod::Simple 3.03 or later and podlators
|
|
|
|
2.00 or later from CPAN and use that pod2man, but the results from the
|
|
|
|
pod2man that comes with Perl 5.8 or later will be very good. If you are
|
|
|
|
using earlier versions of Perl, the output should be adequate and
|
|
|
|
readable but may contain some formatting glitches.
|
|
|
|
|
|
|
|
Preformatted man pages will be included in distribution tarballs, but
|
|
|
|
those man pages may be generated with older versions of the conversion
|
|
|
|
utilities. To regenerate the man pages, run regen.sh at the top of the
|
|
|
|
OpenAFS source tree (this will also regenerate the Autoconf scripts).
|
|
|
|
|
|
|
|
Conversion to HTML can be done via any of the POD to HTML converters
|
2006-01-25 05:59:38 +00:00
|
|
|
available (there are many of them), but for best results (particularly
|
|
|
|
for crosslinks), use the generate-html script in this directory. You
|
|
|
|
will need to have the Pod::Simple Perl module installed. If your Perl
|
|
|
|
is not in /usr/bin, run generate-html explicitly with:
|
|
|
|
|
|
|
|
perl generate-html
|
|
|
|
|
|
|
|
It will generate HTML pages in the html subdirectory of this directory.
|
2005-12-09 16:43:14 +00:00
|
|
|
|
|
|
|
Formatting Standards
|
|
|
|
|
|
|
|
Each command or configuration file should have a separate man page in a
|
|
|
|
separate POD file. Command suites (fs, pts, vos, etc.) should have an
|
|
|
|
overview man page that lists the available subcommands by category,
|
|
|
|
documents common options, and discusses the general use of the suite.
|
|
|
|
Then, each operation code in the suite should have a separate man page,
|
|
|
|
named after the command with the space between the command suite and the
|
2007-11-11 22:54:56 +00:00
|
|
|
operation code replaced with an underscore. The NAME section of the
|
|
|
|
operation man page must also use an underscore (fs_listacl, not fs
|
|
|
|
listacl) for compatibility with some man programs. The SYNOPSIS section
|
|
|
|
should, of course, use a space, since that's what the user must type.
|
2005-12-09 16:43:14 +00:00
|
|
|
|
|
|
|
All man pages must follow the standard layout for man page sections and
|
|
|
|
formatting. The best general reference is the pod2man man page,
|
|
|
|
although the sections used for OpenAFS man pages aren't quite the same
|
|
|
|
(see below). In particular, please use the following markup:
|
|
|
|
|
|
|
|
* B<> for all commands, command/operation code pairs, and options.
|
|
|
|
* F<> for file names, directory names, partition names, or paths.
|
|
|
|
* <I<>> for user-provided arguments (note the surrounding <>).
|
|
|
|
* I<> for terms being defined or titles of works.
|
|
|
|
* C<> for command examples, ACL characters, and example arguments.
|
2009-10-08 18:33:26 +01:00
|
|
|
* S<<<>>> for text with non-breaking spaces (usually in synopsis).
|
2005-12-09 16:43:14 +00:00
|
|
|
|
|
|
|
Also see the afs(1) man page for general rules about how OpenAFS man
|
|
|
|
pages are formatted and for standard terminology to use when talking
|
|
|
|
about OpenAFS commands.
|
|
|
|
|
|
|
|
Each man page should have the following sections: NAME, SYNOPSIS (for
|
|
|
|
commands only), DESCRIPTION, CAUTIONS, OPTIONS (for commands only),
|
|
|
|
OUTPUT (where appropriate), EXAMPLES, PRIVILEGE REQUIRED (for commands
|
|
|
|
only), SEE ALSO, and COPYRIGHT, generally in that order. Be sure to
|
|
|
|
include the IBM copyright in all man pages derived from the original IBM
|
|
|
|
documentation. If you wrote the man page yourself, please include your
|
|
|
|
own copyright and a statement that the man page is released under the
|
|
|
|
IBM Public License Version 1.0, or under some other license that is
|
|
|
|
sufficiently compatible that we can use your work. If you use another
|
2008-06-30 21:47:30 +01:00
|
|
|
license and that license isn't "public domain" or one of the ones
|
|
|
|
already listed in our LICENSE file, you have to give the full license
|
|
|
|
text in the man page; please don't use a license so long that this is
|
|
|
|
annoying.
|
2005-12-09 16:43:14 +00:00
|
|
|
|
|
|
|
The SYNOPSIS section should start with the full command name and the
|
|
|
|
full names of all options, and then have a second section showing the
|
|
|
|
most abbreviated form of the command name and its options. If the
|
|
|
|
command has aliases, it should have additional sections showing those.
|
|
|
|
Please be sure to follow all of the formatting requirements for
|
|
|
|
commands, flags, and options. Enclose optional arguments in [] and
|
|
|
|
choices in () separated by |. Command names and options are marked up
|
|
|
|
with B<> as mentioned above; all other literal text that should be
|
|
|
|
entered on the command line gets no markup.
|
|
|
|
|
|
|
|
References to other OpenAFS man pages should be given as L<afs(1)>.
|
|
|
|
Other man pages should be noted like df(1), without the L<> markup.
|
|
|
|
References to functions should be noted like function() with the
|
|
|
|
trailing parens. The POD converters know how to format these sorts of
|
|
|
|
references appropriately. References to other sections in the same page
|
2007-08-05 23:08:22 +01:00
|
|
|
should be given as L<SECTION>. Man pages for all other AFS commands or
|
|
|
|
file formats referenced in the page should be listed in the SYNOPSIS.
|
|
|
|
List each reference on its own line for easier addition of other
|
|
|
|
references later, but don't put blank lines between them. Don't forget
|
|
|
|
the commas at the end of each line but the last.
|
2005-12-09 16:43:14 +00:00
|
|
|
|
|
|
|
Command and output examples should be indented three spaces. Commands
|
|
|
|
entered by the user should be given on a line beginning with %. If the
|
|
|
|
command doesn't fit in 80 columns, put in a backslash at a logical break
|
|
|
|
point and continue the line with an additional four spaces of
|
|
|
|
indentation. Output examples may be wrapped with an additional four
|
|
|
|
spaces of indentation but probably shouldn't be; not wrapping makes the
|
|
|
|
man page look somewhat less readable, but is less confusing when
|
|
|
|
converted to other formats such as HTML.
|
|
|
|
|
|
|
|
POD does not allow markup in verbatim paragraphs (which are indicated by
|
|
|
|
indenting the first line of the paragraph), so metasyntactic variables
|
|
|
|
in examples should be shown like <this> with simple angle brackets
|
|
|
|
surrounding the variable. For consistency in formatting, references to
|
|
|
|
those variables should be formatted the same in following text.
|
|
|
|
|
2008-06-30 21:47:30 +01:00
|
|
|
Man Page Sections
|
|
|
|
|
|
|
|
The section of a man page is determined by which directory it's in.
|
2011-02-04 22:23:30 +00:00
|
|
|
pod1 will be section 1 man pages, pod3 will be section 3, pod5 will be
|
|
|
|
section 5, and pod8 will be section 8.
|
2008-06-30 21:47:30 +01:00
|
|
|
|
|
|
|
The breakdown between section 1 and section 8 is fuzzy and it's hard to
|
|
|
|
get right. The current layout balances the following goals:
|
|
|
|
|
|
|
|
* In general, section 1 is used for commands that can be executed by any
|
|
|
|
user and section 8 is used for commands that can only be meaningfully
|
|
|
|
issued as root. If a command can be run with AFS privileged
|
|
|
|
credentials but still as a regular user on the local system, the
|
|
|
|
preference is for it to be in section 1, although some pages of that
|
|
|
|
type are in section 8.
|
|
|
|
|
|
|
|
* All the commands for a given suite should be kept together. So, for
|
|
|
|
example, there are fs commands that can only be issued as root, but
|
|
|
|
since most of the suite is available to any user, all of the fs
|
|
|
|
commands are in section 1.
|
|
|
|
|
|
|
|
* The sections of the man pages should roughly correspond to the
|
|
|
|
installation paths of the binaries. Binaries installed in bin should
|
|
|
|
have man pages in section 1 and binaries installed in sbin should have
|
|
|
|
man pages in section 8.
|
|
|
|
|
|
|
|
Section 5 should be used for all documentation of configuration files
|
|
|
|
and file formats.
|
|
|
|
|
2005-12-09 16:43:14 +00:00
|
|
|
How You Can Help
|
|
|
|
|
2010-05-10 01:58:33 +01:00
|
|
|
A lot of work remains to be done on the OpenAFS man page project. Any
|
|
|
|
and all contributions are greatly appreciated. What follows is a list
|
|
|
|
of the ways that you can help in order of increasing helpfulness. If
|
|
|
|
you only have time to do something near the top of the list, please do;
|
|
|
|
every little bit helps. If you have more time and can do something
|
|
|
|
closer to the bottom of the list, that's even better and your
|
|
|
|
contribution can be included more rapidly.
|
2005-12-09 16:43:14 +00:00
|
|
|
|
|
|
|
* Point out places OpenAFS behavior has changed since the documentation
|
|
|
|
was written, or point out missing documentation. Please check the
|
|
|
|
"Known Problems" list below to make sure that the item is not already
|
|
|
|
noted.
|
|
|
|
|
|
|
|
* Point out formatting problems, typos, formatting inconsistency, and
|
|
|
|
other markup or language problems in the man pages.
|
|
|
|
|
|
|
|
* Provide missing documentation in some form (text, HTML, whatever)
|
|
|
|
that can be incorporated into the man pages, or detailed explanations
|
|
|
|
of how the existing documentation needs to be changed to match what
|
|
|
|
the tools actually do.
|
|
|
|
|
|
|
|
* Provide missing man pages in POD format suitable for immediate
|
|
|
|
inclusion in the documentation. Please try to follow the formatting
|
|
|
|
standards documented in the "Formatting Standards" section above, and
|
|
|
|
look at the existing man pages for examples.
|
|
|
|
|
|
|
|
* Provide patches against the POD source that correct formatting
|
|
|
|
problems, typos, formatting inconsistencies, or other markup or
|
|
|
|
language problems with the man pages.
|
|
|
|
|
|
|
|
* Provide patches against the POD source that add or correct the
|
|
|
|
documentation of commands or file formats for changes in OpenAFS.
|
|
|
|
|
2010-05-10 01:58:33 +01:00
|
|
|
Please submit contributions to Gerrit or send them either to the
|
|
|
|
openafs-doc list or as bugs filed via the bug reporting instructions at
|
|
|
|
<http://www.openafs.org/>. If you do submit a bug, please send me a
|
|
|
|
note at rra@stanford.edu with the bug number so that I'm aware of it, as
|
|
|
|
I don't always notice new bugs.
|
2005-12-09 16:43:14 +00:00
|
|
|
|
2007-08-17 21:57:20 +01:00
|
|
|
You can test your new POD documentation by running the check-pod script
|
2007-08-20 00:02:27 +01:00
|
|
|
in this directory with "prove check-pod". (And check other people's
|
|
|
|
documentation and find any problems that have crept in.) You will need
|
|
|
|
to have Test::Pod installed.
|
2007-08-17 21:57:20 +01:00
|
|
|
|
2005-12-09 16:43:14 +00:00
|
|
|
Known Problems
|
|
|
|
|
|
|
|
The current man pages have the following known deficiencies. Please
|
|
|
|
don't just report the deficiency again, but any contributions towards
|
|
|
|
fixing it are greatly appreciated.
|
|
|
|
|
2009-06-05 20:17:13 +01:00
|
|
|
* Linked cells are currently documented in fs newcell as being only
|
|
|
|
for DCE, which is not correct. That documentation, aklog, and the
|
|
|
|
CellServDB documentation needs to be updated.
|
|
|
|
|
2006-03-01 00:12:52 +00:00
|
|
|
* We need a way to add links to other man pages (kinit most notably)
|
|
|
|
without creating dangling links in the HTML output. This probably
|
|
|
|
means that the HTML conversion script needs to generate at startup
|
|
|
|
a list of all valid man page link targets and not linkify the ones
|
|
|
|
that don't match a valid target.
|
|
|
|
|
|
|
|
* Provide a way to substitute the correct paths into the HTML output
|
|
|
|
from Autoconf results.
|
|
|
|
|
2006-03-23 05:41:02 +00:00
|
|
|
* Review the sections used for all man pages against what directories
|
|
|
|
the commands are installed into. (In some cases, it may be better to
|
|
|
|
change the directory than the section of the man page.)
|
|
|
|
|
2009-10-08 18:33:26 +01:00
|
|
|
* Consider using M4 or similar to operate on POD text before output.
|
2010-05-10 01:58:33 +01:00
|
|
|
This would allow common options like vos -c,-noa,-l,-v,-e,-nor to be
|
|
|
|
documented once and automatically included in all vos_ reference
|
|
|
|
pages, much like the vos.c source includes those arguments as
|
|
|
|
COMMONPARMS.
|
2009-10-08 18:33:26 +01:00
|
|
|
|
2009-10-08 22:03:06 +01:00
|
|
|
* Check that suite intro pages mention all subcommands
|
|
|
|
|
2009-10-08 18:33:26 +01:00
|
|
|
Changes needed to have vos suite commands completely up to date,
|
|
|
|
including the 1.5 branch:
|
|
|
|
|
|
|
|
* Document vos create -minquota which is available since 1.5.61
|
|
|
|
|
|
|
|
* Document vos restore -creation/-lastupdate and -nodelete
|
|
|
|
|
2009-10-08 22:03:06 +01:00
|
|
|
Man section 8 suite commands:
|
|
|
|
|
|
|
|
* Mention bos (un)blockscanner in bos.pod text, not just in See Also
|
|
|
|
at the end
|
|
|
|
|
|
|
|
* Update backup source to include option descriptions (for content,
|
|
|
|
use existing manpage information "condensed" to half line of text)
|
|
|
|
|
|
|
|
* Document backup deletedump -port/-groupid/-dbonly/-force/-noexecute
|
|
|
|
|
|
|
|
* Document backup help -admin
|
|
|
|
|
2011-06-09 01:56:46 +01:00
|
|
|
* Document backup volrestore -usedump.
|
2009-10-08 22:03:06 +01:00
|
|
|
|
2005-12-09 16:43:14 +00:00
|
|
|
If you notice other problems, please send them to the openafs-doc list
|
|
|
|
even if you don't have time to fix them. Someone else might, and we
|
|
|
|
want to track all of the issues.
|