Archive for May, 2010

git-pack-refs

Monday, May 31st, 2010



SYNOPSIS
git-pack-refs [--all] [--no-prune]

DESCRIPTION
Traditionally, tips of branches and tags (collectively known as refs)
were stored one file per ref under $GIT_DIR/refs directory. While many
branch tips tend to be updated often, most tags and some branch tips
are never updated. When a repository has hundreds or thousands of tags,
this one-file-per-ref format both wastes storage and hurts performance.

This command is used to solve the storage and performance problem by
stashing the refs in a single file, $GIT_DIR/packed-refs. When a ref is
missing from the traditional $GIT_DIR/refs hierarchy, it is looked up
in this file and used if found.

Subsequent updates to branches always creates new file under
$GIT_DIR/refs hierarchy.

A recommended practice to deal with a repository with too many refs is
to pack its refs with –all –prune once, and occasionally run
git-pack-refs –prune. Tags are by definition stationary and are not
expected to change. Branch heads will be packed with the initial
pack-refs –all, but only the currently active branch heads will become
unpacked, and next pack-refs (without –all) will leave them unpacked.

OPTIONS
–all
The command by default packs all tags and refs that are already
packed, and leaves other refs alone. This is because branches are
expected to be actively developed and packing their tips does not
help performance. This option causes branch tips to be packed as
well. Useful for a repository with many branches of historical
interests.

–no-prune
The command usually removes loose refs under $GIT_DIR/refs
hierarchy after packing them. This option tells it not to.

AUTHOR
Written by Linus Torvalds <torvalds@osdl.org[1]>

GIT
Part of the git(1) suite

NOTES
1. torvalds@osdl.org
mailto:torvalds@osdl.org

imgtoppm

Sunday, May 30th, 2010



SYNOPSIS
imgtoppm [imgfile]

DESCRIPTION
Reads an Img-whatnot file as input. Produces a portable pixmap as out-
put. The Img-whatnot toolkit is available for FTP on venera.isi.edu,
along with numerous images in this format.

SEE ALSO
ppm(5)

AUTHOR
Based on a simple conversion program posted to comp.graphics by Ed
Falk.

Copyright (C) 1989 by Jef Poskanzer.

05 September 1989 imgtoppm(1)

pgmtopbm

Saturday, May 29th, 2010



SYNOPSIS
pgmtopbm [-floyd|-fs|-threshold |-hilbert |-dither8|-d8|-cluster3
|-c3|-cluster4|-c4 |-cluster8|-c8] [-value val] [-clump size] [pgmfile]

DESCRIPTION
Reads a portable graymap as input. Produces a portable bitmap as out-
put.

Note that there is no pbmtopgm converter. Any program that uses the
Netpbm libraries to read PGM files, including virtually all programs in
the Netpbm package, will read a PBM file automatically as if it were a
PGM file.

If you are using a less intelligent program that expects PGM input, use
pnmdepth to convert the PBM file to PGM. As long as the depth is
greater than 1, pnmdepth will generate PGM. This less intelligent pro-
gram quite probably is also not intelligent enough to deal with general
maxvals, so you should specify a depth of 255.

OPTIONS
The default quantization method is boustrophedonic Floyd-Steinberg
error diffusion (-floyd or -fs). Also available are simple threshold-
ing (-threshold); Bayer’s ordered dither (-dither8) with a 16×16
matrix; and three different sizes of 45-degree clustered-dot dither
(-cluster3, -cluster4, -cluster8). A space filling curve halftoning
method using the Hilbert curve is also available. (-hilbert);

Floyd-Steinberg will almost always give the best looking results; how-
ever, looking good is not always what you want. For instance, thresh-
olding can be used in a pipeline with the pnmconvol tool, for tasks
like edge and peak detection. And clustered-dot dithering gives a
newspaper-ish look, a useful special effect.

The -value flag alters the thresholding value for Floyd-Steinberg and
simple thresholding. It should be a real number between 0 and 1.
Above 0.5 means darker images; below 0.5 means lighter.

The Hilbert curve method is useful for processing images before display
on devices that do not render individual pixels distinctly (like laser
printers). This dithering method can give better results than the
dithering usually done by the laser printers themselves. The -clump
flag alters the number of pixels in a clump. This is usually an integer
between 2 and 100 (default 5). Smaller clump sizes smear the image less
and are less grainy, but seem to loose some grey scale linearity. Typi-
cally a PGM image will have to be scaled to fit on a laser printer page
(2400 x 3000 pixels for an A4 300 dpi page), and then dithered to a PBM
image before being converted to a postscript file. A printing pipeline
might look something like: pnmscale -xysize 2400 3000 image.pgm | pgm-
topbm -hil | pnmtops -scale 0.25 > image.ps

All flags can be abbreviated to their shortest unique prefix.

26 July 1988 pgmtopbm(1)

grohtml

Friday, May 28th, 2010



SYNOPSIS
grohtml [ -vhlrn ] [ -Ddir ] [ -Fdir ] [ -iresolution ]
[ -Iimage-stem ] [ -oimage-vertical-offset ] [ -aaa-text-bits ]
[ -aaa-graphic-bits ] [ files... ]

DESCRIPTION
The grohtml front end (which consists of a preprocessor, pre-grohtml,
and a device driver, post-grohtml) translates the output of GNU troff
to html. Users should always invoke grohtml via the groff command with
a -Thtml option. If no files are given, grohtml will read the standard
input. A filename of - will also cause grohtml to read the standard
input. Html output is written to the standard output. When grohtml is
run by groff options can be passed to grohtml using groff’s -P option.

OPTIONS
-aaa-text-bits
Number of bits of antialiasing information to be used by text
when generating png images. The default is 4 but legal values
are 0, 1, 2, and 4. Note your version of gs needs to support
the -dTextAlphaBits and -dGraphicAlphaBits options in order to
exploit antialiasing. A value of 0 stops grohtml from issuing
antialiasing commands to gs.

-gaa-graphic-bits
Number of bits of antialiasing information to be used by graph-
ics when generating png images. The default is 4 but legal val-
ues are 0, 1, 2, and 4. Note your version of gs needs to sup-
port the -dTextAlphaBits and -dGraphicAlphaBits options in order
to exploit antialiasing. A value of 0 stops grohtml from issu-
ing antialiasing commands to gs.

-b Initialize the background color to white.

-h Generates section and number headings by using <B>…</B> and
increasing the font size, rather than using the <Hn>…</Hn>
tags.

-l Turns off the production of automatic section links at the top
of the document.

-r Turns off the automatic header and footer line (html rule).

-n Generate simple heading anchors whenever a section/number head-
ing is found. Without the option the anchor value is the tex-
tual heading. This can cause problems when a heading contains a
`?’ on some browsers (netscape). This flag is automatically
turned on if a heading contains an image.

-p Display page rendering progress to stderr. grohtml only dis-
plays a page number when an image is required.

-Fdir Prepend directory dir/devname to the search path for font and

-v Print the version number.

USAGE
There are styles called R, I, B, and BI mounted at font positions 1 to
4.

DEPENDENCIES
grohtml is dependent upon the png utilities (pnmcut, pnmcrop, pnmtopng)
and GhostScript (gs). pnmtopng (version 2.37.6 or greater) and pnmcut
from the netpbm package (version 9.16 or greater) will work also. It
is also dependent upon psselect from the PSUtils package. Images are
generated whenever a table, picture, equation or line is encountered.

BUGS
Grohtml has been completely redesigned and rewritten. It is still
alpha code.

SEE ALSO
afmtodit(1), groff(1), troff(1), psbb(1), groff_out(5), groff_font(5),
groff_char(7)

Groff Version 1.18.1 05 March 2005 GROHTML(1)

id

Thursday, May 27th, 2010



SYNOPSIS
id [OPTION]… [USERNAME]

DESCRIPTION
Print information for USERNAME, or the current user.

-a ignore, for compatibility with other versions

-Z, –context
print only the security context of the current user

-g, –group
print only the effective group ID

-G, –groups
print all group IDs

-n, –name
print a name instead of a number, for -ugG

-r, –real
print the real ID instead of the effective ID, with -ugG

-u, –user
print only the effective user ID

–help display this help and exit

–version
output version information and exit

Without any OPTION, print some useful set of identified information.

AUTHOR
Written by Arnold Robbins and David MacKenzie.

REPORTING BUGS
Report bugs to <bug-coreutils@gnu.org>.

COPYRIGHT
Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU
GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

SEE ALSO
The full documentation for id is maintained as a Texinfo manual. If
the info and id programs are properly installed at your site, the com-
mand

info coreutils ‘id invocation’

git-push

Wednesday, May 26th, 2010



SYNOPSIS
git-push [--all] [--dry-run] [--tags] [--receive-pack=<git-receive-pack>]
[--repo=all] [-f | --force] [-v | --verbose] [<repository> <refspec>...]

DESCRIPTION
Updates remote refs using local refs, while sending objects necessary
to complete the given refs.

You can make interesting things happen to a repository every time you
push into it, by setting up hooks there. See documentation for git-
receive-pack(1).

OPTIONS
<repository>
The “remote” repository that is destination of a push operation.
See the section GIT URLS below.

<refspec>
The canonical format of a <refspec> parameter is +?<src>:<dst>;
that is, an optional plus +, followed by the source ref, followed
by a colon :, followed by the destination ref.

The <src> side represents the source branch (or arbitrary “SHA1
expression”, such as master~4 (four parents before the tip of
master branch); see git-rev-parse(1)) that you want to push. The
<dst> side represents the destination location.

The local ref that matches <src> is used to fast forward the remote
ref that matches <dst> (or, if no <dst> was specified, the same ref
that <src> referred to locally). If the optional leading plus + is
used, the remote ref is updated even if it does not result in a
fast forward update.

tag <tag> means the same as refs/tags/<tag>:refs/tags/<tag>.

A parameter <ref> without a colon pushes the <ref> from the source
repository to the destination repository under the same name.

Pushing an empty <src> allows you to delete the <dst> ref from the
remote repository.

The special refspec : (or +: to allow non-fast forward updates)
directs git to push “matching” heads: for every head that exists on
the local side, the remote side is updated if a head of the same
name already exists on the remote side. This is the default
operation mode if no explicit refspec is found (that is neither on
the command line nor in any Push line of the corresponding remotes
file—see below).

–all
Instead of naming each ref to push, specifies that all refs under

–tags
All refs under $GIT_DIR/refs/tags are pushed, in addition to
refspecs explicitly listed on the command line.

–receive-pack=<git-receive-pack>
Path to the git-receive-pack program on the remote end. Sometimes
useful when pushing to a remote repository over ssh, and you do not
have the program in a directory on the default $PATH.

–exec=<git-receive-pack>
Same as –receive-pack=<git-receive-pack>.

-f, –force
Usually, the command refuses to update a remote ref that is not an
ancestor of the local ref used to overwrite it. This flag disables
the check. This can cause the remote repository to lose commits;
use it with care.

–repo=<repo>
When no repository is specified the command defaults to “origin”;
this overrides it.

–thin, –no-thin
These options are passed to git-send-pack. Thin transfer spends
extra cycles to minimize the number of objects to be sent and meant
to be used on slower connection.

-v, –verbose
Run verbosely.

GIT URLS
One of the following notations can be used to name the remote
repository:

o rsync://host.xz/path/to/repo.git/

o http://host.xz/path/to/repo.git/

o https://host.xz/path/to/repo.git/

o git://host.xz/path/to/repo.git/

o git://host.xz/~user/path/to/repo.git/

o ssh://[user@]host.xz[:port]/path/to/repo.git/

o ssh://[user@]host.xz/path/to/repo.git/

o ssh://[user@]host.xz/~user/path/to/repo.git/

o ssh://[user@]host.xz/~/path/to/repo.git

o /path/to/repo.git/

o file:///path/to/repo.git/
They are mostly equivalent, except when cloning. See git-clone(1) for
details.

If there are a large number of similarly-named remote repositories and
you want to use a different format for them (such that the URLs you use
will be rewritten into URLs that work), you can create a configuration
section of the form:

[url "<actual url base>"]
insteadOf = <other url base>
For example, with this:

[url "git://git.host.xz/"]
insteadOf = host.xz:/path/to/
insteadOf = work:
a URL like “work:repo.git” or like “host.xz:/path/to/repo.git” will be
rewritten in any context that takes a URL to be
“git://git.host.xz/repo.git”.

REMOTES
The name of one of the following can be used instead of a URL as
<repository> argument:

o a remote in the git configuration file: $GIT_DIR/config,

o a file in the $GIT_DIR/remotes directory, or

o a file in the $GIT_DIR/branches directory.
All of these also allow you to omit the refspec from the command line
because they each contain a refspec which git will use by default.

Named remote in configuration file
You can choose to provide the name of a remote which you had previously
configured using git-remote(1), git-config(1) or even by a manual edit
to the $GIT_DIR/config file. The URL of this remote will be used to
access the repository. The refspec of this remote will be used by
default when you do not provide a refspec on the command line. The
entry in the config file would appear like this:

[remote "<name>"]
url = <url>

and git-fetch. Multiple Push: and Pull: lines may be specified for
additional branch mappings.

Named file in $GIT_DIR/branches
You can choose to provide the name of a file in $GIT_DIR/branches. The
URL in this file will be used to access the repository. This file
should have the following format:

<url>#<head>
<url> is required; #<head> is optional. When you do not provide a
refspec on the command line, git will use the following refspec, where
<head> defaults to master, and <repository> is the name of this file
you provided in the command line.

refs/heads/<head>:<repository>

OUTPUT
The output of “git push” depends on the transport method used; this
section describes the output when pushing over the git protocol (either
locally or via ssh).

The status of the push is output in tabular form, with each line
representing the status of a single ref. Each line is of the form:

<flag> <summary> <from> -> <to> (<reason>)

flag
A single character indicating the status of the ref. This is blank
for a successfully pushed ref, ! for a ref that was rejected or
failed to push, and = for a ref that was up to date and did not
need pushing (note that the status of up to date refs is shown only
when git push is running verbosely).

summary
For a successfully pushed ref, the summary shows the old and new
values of the ref in a form suitable for using as an argument to
git log (this is <old>..<new> in most cases, and <old>…<new> for
forced non-fast forward updates). For a failed update, more details
are given for the failure. The string rejected indicates that git
did not try to send the ref at all (typically because it is not a
fast forward). The string remote rejected indicates that the remote
end refused the update; this rejection is typically caused by a
hook on the remote side. The string remote failure indicates that
the remote end did not report the successful update of the ref
(perhaps because of a temporary error on the remote side, a break
in the network connection, or other transient error).

from
git push origin master
Find a ref that matches master in the source repository (most
likely, it would find refs/heads/master), and update the same ref
(e.g. refs/heads/master) in origin repository with it. If master
did not exist remotely, it would be created.

git push origin :experimental
Find a ref that matches experimental in the origin repository (e.g.
refs/heads/experimental), and delete it.

git push origin master:satellite/master
Find a ref that matches master in the source repository (most
likely, it would find refs/heads/master), and update the ref that
matches satellite/master (most likely, it would be
refs/remotes/satellite/master) in origin repository with it.

git push origin master:refs/heads/experimental
Create the branch experimental in the origin repository by copying
the current master branch. This form is only needed to create a new
branch or tag in the remote repository when the local name and the
remote name are different; otherwise, the ref name on its own will
work.

AUTHOR
Written by Junio C Hamano <gitster@pobox.com[1]>, later rewritten in C
by Linus Torvalds <torvalds@osdl.org[2]>

DOCUMENTATION
Documentation by Junio C Hamano and the git-list
<git@vger.kernel.org[3]>.

GIT
Part of the git(1) suite

NOTES
1. gitster@pobox.com
mailto:gitster@pobox.com

2. torvalds@osdl.org
mailto:torvalds@osdl.org

3. git@vger.kernel.org
mailto:git@vger.kernel.org

Git 1.5.6.5 01/26/2010 GIT-PUSH(1)

s_server

Tuesday, May 25th, 2010



SYNOPSIS
openssl s_server [-accept port] [-context id] [-verify depth] [-Verify
depth] [-cert filename] [-certform DER|PEM] [-key keyfile] [-keyform
DER|PEM] [-pass arg] [-dcert filename] [-dcertform DER|PEM] [-dkey
keyfile] [-dkeyform DER|PEM] [-dpass arg] [-dhparam filename] [-nbio]
[-nbio_test] [-crlf] [-debug] [-msg] [-state] [-CApath directory]
[-CAfile filename] [-nocert] [-cipher cipherlist] [-quiet]
[-no_tmp_rsa] [-ssl2] [-ssl3] [-tls1] [-no_ssl2] [-no_ssl3] [-no_tls1]
[-no_dhe] [-bugs] [-hack] [-www] [-WWW] [-HTTP] [-engine id]
[-tlsextdebug] [-no_ticket] [-id_prefix arg] [-rand file(s)]

DESCRIPTION
The s_server command implements a generic SSL/TLS server which listens
for connections on a given port using SSL/TLS.

OPTIONS
-accept port
the TCP port to listen on for connections. If not specified 4433 is
used.

-context id
sets the SSL context id. It can be given any string value. If this
option is not present a default value will be used.

-cert certname
The certificate to use, most servers cipher suites require the use
of a certificate and some require a certificate with a certain
public key type: for example the DSS cipher suites require a
certificate containing a DSS (DSA) key. If not specified then the
filename “server.pem” will be used.

-certform format
The certificate format to use: DER or PEM. PEM is the default.

-key keyfile
The private key to use. If not specified then the certificate file
will be used.

-keyform format
The private format to use: DER or PEM. PEM is the default.

-pass arg
the private key password source. For more information about the
format of arg see the PASS PHRASE ARGUMENTS section in openssl(1).

-dcert filename, -dkey keyname
specify an additional certificate and private key, these behave in
the same manner as the -cert and -key options except there is no
default if they are not specified (no additional certificate and
key is used). As noted above some cipher suites require a
certificate containing a key of a certain type. Some cipher suites
need a certificate carrying an RSA key and some a DSS (DSA) key. By
the DH parameter file to use. The ephemeral DH cipher suites
generate keys using a set of DH parameters. If not specified then
an attempt is made to load the parameters from the server
certificate file. If this fails then a static set of parameters
hard coded into the s_server program will be used.

-no_dhe
if this option is set then no DH parameters will be loaded
effectively disabling the ephemeral DH cipher suites.

-no_tmp_rsa
certain export cipher suites sometimes use a temporary RSA key,
this option disables temporary RSA key generation.

-verify depth, -Verify depth
The verify depth to use. This specifies the maximum length of the
client certificate chain and makes the server request a certificate
from the client. With the -verify option a certificate is requested
but the client does not have to send one, with the -Verify option
the client must supply a certificate or an error occurs.

-CApath directory
The directory to use for client certificate verification. This
directory must be in “hash format”, see verify for more
information. These are also used when building the server
certificate chain.

-CAfile file
A file containing trusted certificates to use during client
authentication and to use when attempting to build the server
certificate chain. The list is also used in the list of acceptable
client CAs passed to the client when a certificate is requested.

-state
prints out the SSL session states.

-debug
print extensive debugging information including a hex dump of all
traffic.

-msg
show all protocol messages with hex dump.

-nbio_test
tests non blocking I/O

-nbio
turns on non blocking I/O

-crlf
this option translated a line feed from the terminal into CR+LF.

this option enables a further workaround for some some early
Netscape SSL code (?).

-cipher cipherlist
this allows the cipher list used by the server to be modified.
When the client sends a list of supported ciphers the first client
cipher also included in the server list is used. Because the client
specifies the preference order, the order of the server cipherlist
irrelevant. See the ciphers command for more information.

-tlsextdebug
print out a hex dump of any TLS extensions received from the
server.

-no_ticket
disable RFC4507bis session ticket support.

-www
sends a status message back to the client when it connects. This
includes lots of information about the ciphers used and various
session parameters. The output is in HTML format so this option
will normally be used with a web browser.

-WWW
emulates a simple web server. Pages will be resolved relative to
the current directory, for example if the URL
https://myhost/page.html is requested the file ./page.html will be
loaded.

-HTTP
emulates a simple web server. Pages will be resolved relative to
the current directory, for example if the URL
https://myhost/page.html is requested the file ./page.html will be
loaded. The files loaded are assumed to contain a complete and
correct HTTP response (lines that are part of the HTTP response
line and headers must end with CRLF).

-engine id
specifying an engine (by it’s unique id string) will cause s_server
to attempt to obtain a functional reference to the specified
engine, thus initialising it if needed. The engine will then be set
as the default for all available algorithms.

-id_prefix arg
generate SSL/TLS session IDs prefixed by arg. This is mostly useful
for testing any SSL/TLS code (eg. proxies) that wish to deal with
multiple servers, when each of which might be generating a unique
range of session IDs (eg. with a certain prefix).

-rand file(s)
a file or files containing random data used to seed the random
number generator, or an EGD socket (see RAND_egd(3)). Multiple

Q end the current SSL connection and exit.

r renegotiate the SSL session.

R renegotiate the SSL session and request a client certificate.

P send some plain text down the underlying TCP connection: this
should cause the client to disconnect due to a protocol violation.

S print out some session cache status information.

NOTES
s_server can be used to debug SSL clients. To accept connections from a
web browser the command:

openssl s_server -accept 443 -www

can be used for example.

Most web browsers (in particular Netscape and MSIE) only support RSA
cipher suites, so they cannot connect to servers which don’t use a
certificate carrying an RSA key or a version of OpenSSL with RSA
disabled.

Although specifying an empty list of CAs when requesting a client
certificate is strictly speaking a protocol violation, some SSL clients
interpret this to mean any CA is acceptable. This is useful for
debugging purposes.

The session parameters can printed out using the sess_id program.

TLS extensions are only supported in OpenSSL 0.9.8 if they are
explictly enabled at compile time using for example the enable-tlsext
switch.

BUGS
Because this program has a lot of options and also because some of the
techniques used are rather old, the C source of s_server is rather hard
to read and not a model of how things should be done. A typical SSL
server program would be much simpler.

The output of common ciphers is wrong: it just gives the list of
ciphers that OpenSSL recognizes and the client supports.

There should be a way for the s_server program to print out details of
any unknown cipher suites a client says it supports.

SEE ALSO
sess_id(1), s_client(1), ciphers(1)

atrm

Monday, May 24th, 2010


SYNOPSIS
at [-V] [-q queue] [-f file] [-mldbv] TIME
at -c job [job...]
atq [-V] [-q queue]
atrm [-V] job [job...]
batch

DESCRIPTION
at and batch read commands from standard input or a specified file
which are to be executed at a later time, using /bin/sh.

at executes commands at a specified time.

atq lists the user’s pending jobs, unless the user is the supe-
ruser; in that case, everybody’s jobs are listed. The format
of the output lines (one for each job) is: Job number, date,
hour, queue, and username.

atrm deletes jobs, identified by their job number.

batch executes commands when system load levels permit; in other
words, when the load average drops below 1.5, or the value
specified in the invocation of atd.

At allows fairly complex time specifications, extending the POSIX.2
standard. It accepts times of the form HH:MM to run a job at a spe-
cific time of day. (If that time is already past, the next day is
assumed.) You may also specify midnight, noon, or teatime (4pm) and
you can have a time-of-day suffixed with AM or PM for running in the
morning or the evening. You can also say what day the job will be run,
by giving a date in the form month-name day with an optional year, or
giving a date of the form MMDDYY or MM/DD/YY or DD.MM.YY. The specifi-
cation of a date must follow the specification of the time of day. You
can also give times like now + count time-units, where the time-units
can be minutes, hours, days, or weeks and you can tell at to run the
job today by suffixing the time with today and to run the job tomorrow
by suffixing the time with tomorrow.

For example, to run a job at 4pm three days from now, you would do at
4pm + 3 days, to run a job at 10:00am on July 31, you would do at 10am
Jul 31 and to run a job at 1am tomorrow, you would do at 1am tomorrow.

The exact definition of the time specification can be found in
/usr/share/doc/at/timespec.

For both at and batch, commands are read from standard input or the
file specified with the -f option and executed. The working directory,
the environment (except for the variables TERM, DISPLAY and _) and the
umask are retained from the time of invocation. An at - or batch -
command invoked from a su(1) shell will retain the current userid. The
user will be mailed standard error and standard output from his com-
If neither exists, only the superuser is allowed use of at.

An empty /etc/at.deny means that every user is allowed use these com-
mands, this is the default configuration.

OPTIONS
-V prints the version number to standard error.

-q queue
uses the specified queue. A queue designation consists of a
single letter; valid queue designations range from a to z. and
A to Z. The a queue is the default for at and the b queue for
batch. Queues with higher letters run with increased niceness.
The special queue “=” is reserved for jobs which are currently
running.

If a job is submitted to a queue designated with an uppercase letter,
the job is treated as if it were submitted to batch at the time of the
job. Once the time is reached, the batch processing rules with respect
to load average apply. If atq is given a specific queue, it will only
show jobs pending in that queue.

-m Send mail to the user when the job has completed even if there
was no output.

-f file Reads the job from file rather than standard input.

-l Is an alias for atq.

-d Is an alias for atrm.

-v Shows the time the job will be executed before reading
the job.

Times displayed will be in the format “Thu Feb 20 14:50:00
1997″.

-c cats the jobs listed on the command line to standard out-
put.

FILES
/var/spool/cron/atjobs
/var/spool/cron/atspool
/proc/loadavg
/var/run/utmp
/etc/at.allow
/etc/at.deny

SEE ALSO
cron(1), nice(1), sh(1), umask(2), atd(8).

AUTHOR
At was mostly written by Thomas Koenig, ig25@rz.uni-karl-
sruhe.de.

local Nov 1996 AT(1)

sldtoppm

Sunday, May 23rd, 2010



SYNOPSIS
sldtoppm [-adjust] [-dir] [-height|-ysize s] [-info] [-lib|-Lib name]
[-scale s] [-verbose] [-width|-xsize s] [slidefile]

DESCRIPTION
Reads an AutoCAD(R) slide file and outputs a portable pixmap. If no
slidefile is specified, input is read from standard input. The ppmdraw
library is used to convert the vector and polygon information in the
slide file to a pixmap; see the file ppmdraw.h for details on this
package.

OPTIONS
-adjust
If the display on which the slide file was created had non-
square pixels, when the slide is processed with sldtoppm and the
-adjust option is not present, the following warning will
appear:
Warning - pixels on source screen were non-square.
Specifying -adjust will correct image width to compensate.
Specifying the -adjust option causes sldtoppm to scale the width
of the image so that pixels in the resulting portable pixmap are
square (and hence circles appear as true circles, not ellipses).
The scaling is performed in the vector domain, before scan con-
verting the objects. The results are, therefore, superior in
appearance to what you’d obtain were you to perform the equiva-
lent scaling with pnmscale after the bitmap had been created.

-dir The input is assumed to be an AutoCAD slide library file. A
directory listing each slide in the library is printed on stan-
dard error.

-height size
Scales the image in the vector domain so it is size pixels in
height. If no -width or -xsize option is specified, the width
will be adjusted to preserve the pixel aspect ratio.

-info Dump the slide file header on standard error, displaying the
original screen size and aspect ratio among other information.

-lib name
Extracts the slide with the given name from the slide library
given as input. The specified name is converted to upper case.

-Lib name
Extracts the slide with the given name from the slide library
given as input. The name is used exactly as specified; it is
not converted to upper case.

-scale s
Scales the image by factor s, which may be any floating point
value greater than zero. Scaling is done after aspect ratio
adjustment, if any. Since scaling is performed in the vector
If no -height or -ysize option is specified, the height will be
adjusted to preserve the pixel aspect ratio.

-ysize size
Scales the image in the vector domain so it is size pixels in
height. If no -width or -xsize option is specified, the width
will be adjusted to preserve the pixel aspect ratio.

All flags can be abbreviated to their shortest unique prefix.

BUGS
Only Level 2 slides are converted. Level 1 format has been obsolete
since the advent of AutoCAD Release 9 in 1987, and was not portable
across machine architectures.

Slide library items with names containing 8 bit (such as ISO) or 16 bit
(Kanji, for example) characters may not be found when chosen with the
-lib option unless sldtoppm has been built with character set conver-
sion functions appropriate to the locale. You can always retrieve
slides from libraries regardless of the character set by using the -Lib
option and specifying the precise name of library member. Use the -dir
option to list the slides in a library if you’re unsure of the exact
name.

SEE ALSO
AutoCAD Reference Manual: Slide File Format, pnmscale(1), ppm(5)

AUTHOR
John Walker
Autodesk SA
Avenue des Champs-Montants 14b
CH-2074 MARIN
Suisse/Schweiz/Svizzera/Svizra/Switzerland
Usenet: kelvin@Autodesk.com
Fax: 038/33 88 15
Voice: 038/33 76 33

Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted, with-
out any conditions or restrictions. This software is provided “as
is” without express or implied warranty.

AutoCAD and Autodesk are registered trademarks of Autodesk, Inc.

10 October 1991 sldtoppm(1)

bzip2

Saturday, May 22nd, 2010



bzip2recover - recovers data from damaged bzip2 files

SYNOPSIS
bzip2 [ -cdfkqstvzVL123456789 ] [ filenames ... ]
bunzip2 [ -fkvsVL ] [ filenames ... ]
bzcat [ -s ] [ filenames ... ]
bzip2recover filename

DESCRIPTION
bzip2 compresses files using the Burrows-Wheeler block sorting text
compression algorithm, and Huffman coding. Compression is generally
considerably better than that achieved by more conventional
LZ77/LZ78-based compressors, and approaches the performance of the PPM
family of statistical compressors.

The command-line options are deliberately very similar to those of GNU
gzip, but they are not identical.

bzip2 expects a list of file names to accompany the command-line flags.
Each file is replaced by a compressed version of itself, with the name
“original_name.bz2″. Each compressed file has the same modification
date, permissions, and, when possible, ownership as the corresponding
original, so that these properties can be correctly restored at decom-
pression time. File name handling is naive in the sense that there is
no mechanism for preserving original file names, permissions, owner-
ships or dates in filesystems which lack these concepts, or have seri-
ous file name length restrictions, such as MS-DOS.

bzip2 and bunzip2 will by default not overwrite existing files. If you
want this to happen, specify the -f flag.

If no file names are specified, bzip2 compresses from standard input to
standard output. In this case, bzip2 will decline to write compressed
output to a terminal, as this would be entirely incomprehensible and
therefore pointless.

bunzip2 (or bzip2 -d) decompresses all specified files. Files which
were not created by bzip2 will be detected and ignored, and a warning
issued. bzip2 attempts to guess the filename for the decompressed file
from that of the compressed file as follows:

filename.bz2 becomes filename
filename.bz becomes filename
filename.tbz2 becomes filename.tar
filename.tbz becomes filename.tar
anyothername becomes anyothername.out

If the file does not end in one of the recognised endings, .bz2, .bz,
.tbz2 or .tbz, bzip2 complains that it cannot guess the name of the
original file, and uses the original name with .out appended.
pressed correctly only by bzip2 version 0.9.0 or later. Earlier ver-
sions of bzip2 will stop after decompressing the first file in the
stream.

bzcat (or bzip2 -dc) decompresses all specified files to the standard
output.

bzip2 will read arguments from the environment variables BZIP2 and
BZIP, in that order, and will process them before any arguments read
from the command line. This gives a convenient way to supply default
arguments.

Compression is always performed, even if the compressed file is
slightly larger than the original. Files of less than about one hun-
dred bytes tend to get larger, since the compression mechanism has a
constant overhead in the region of 50 bytes. Random data (including
the output of most file compressors) is coded at about 8.05 bits per
byte, giving an expansion of around 0.5%.

As a self-check for your protection, bzip2 uses 32-bit CRCs to make
sure that the decompressed version of a file is identical to the origi-
nal. This guards against corruption of the compressed data, and
against undetected bugs in bzip2 (hopefully very unlikely). The
chances of data corruption going undetected is microscopic, about one
chance in four billion for each file processed. Be aware, though, that
the check occurs upon decompression, so it can only tell you that some-
thing is wrong. It can’t help you recover the original uncompressed
data. You can use bzip2recover to try to recover data from damaged
files.

Return values: 0 for a normal exit, 1 for environmental problems (file
not found, invalid flags, I/O errors, &c), 2 to indicate a corrupt com-
pressed file, 3 for an internal consistency error (eg, bug) which
caused bzip2 to panic.

OPTIONS
-c –stdout
Compress or decompress to standard output.

-d –decompress
Force decompression. bzip2, bunzip2 and bzcat are really the
same program, and the decision about what actions to take is
done on the basis of which name is used. This flag overrides
that mechanism, and forces bzip2 to decompress.

-z –compress
The complement to -d: forces compression, regardless of the
invocation name.

-t –test
Check integrity of the specified file(s), but don’t decompress
Keep (don’t delete) input files during compression or decompres-
sion.

-s –small
Reduce memory usage, for compression, decompression and testing.
Files are decompressed and tested using a modified algorithm
which only requires 2.5 bytes per block byte. This means any
file can be decompressed in 2300k of memory, albeit at about
half the normal speed.

During compression, -s selects a block size of 200k, which lim-
its memory use to around the same figure, at the expense of your
compression ratio. In short, if your machine is low on memory
(8 megabytes or less), use -s for everything. See MEMORY MAN-
AGEMENT below.

-q –quiet
Suppress non-essential warning messages. Messages pertaining to
I/O errors and other critical events will not be suppressed.

-v –verbose
Verbose mode — show the compression ratio for each file pro-
cessed. Further -v’s increase the verbosity level, spewing out
lots of information which is primarily of interest for diagnos-
tic purposes.

-L –license -V –version
Display the software version, license terms and conditions.

-1 (or –fast) to -9 (or –best)
Set the block size to 100 k, 200 k .. 900 k when compressing.
Has no effect when decompressing. See MEMORY MANAGEMENT below.
The –fast and –best aliases are primarily for GNU gzip compat-
ibility. In particular, –fast doesn’t make things signifi-
cantly faster. And –best merely selects the default behaviour.

— Treats all subsequent arguments as file names, even if they
start with a dash. This is so you can handle files with names
beginning with a dash, for example: bzip2 — -myfilename.

–repetitive-fast –repetitive-best
These flags are redundant in versions 0.9.5 and above. They
provided some coarse control over the behaviour of the sorting
algorithm in earlier versions, which was sometimes useful.
0.9.5 and above have an improved algorithm which renders these
flags irrelevant.

MEMORY MANAGEMENT
bzip2 compresses large files in blocks. The block size affects both
the compression ratio achieved, and the amount of memory needed for
compression and decompression. The flags -1 through -9 specify the

Larger block sizes give rapidly diminishing marginal returns. Most of
the compression comes from the first two or three hundred k of block
size, a fact worth bearing in mind when using bzip2 on small machines.
It is also important to appreciate that the decompression memory
requirement is set at compression time by the choice of block size.

For files compressed with the default 900k block size, bunzip2 will
require about 3700 kbytes to decompress. To support decompression of
any file on a 4 megabyte machine, bunzip2 has an option to decompress
using approximately half this amount of memory, about 2300 kbytes.
Decompression speed is also halved, so you should use this option only
where necessary. The relevant flag is -s.

In general, try and use the largest block size memory constraints
allow, since that maximises the compression achieved. Compression and
decompression speed are virtually unaffected by block size.

Another significant point applies to files which fit in a single block
— that means most files you’d encounter using a large block size. The
amount of real memory touched is proportional to the size of the file,
since the file is smaller than a block. For example, compressing a
file 20,000 bytes long with the flag -9 will cause the compressor to
allocate around 7600k of memory, but only touch 400k + 20000 * 8 = 560
kbytes of it. Similarly, the decompressor will allocate 3700k but only
touch 100k + 20000 * 4 = 180 kbytes.

Here is a table which summarises the maximum memory usage for different
block sizes. Also recorded is the total compressed size for 14 files
of the Calgary Text Compression Corpus totalling 3,141,622 bytes. This
column gives some feel for how compression varies with block size.
These figures tend to understate the advantage of larger block sizes
for larger files, since the Corpus is dominated by smaller files.

Compress Decompress Decompress Corpus
Flag usage usage -s usage Size

-1 1200k 500k 350k 914704
-2 2000k 900k 600k 877703
-3 2800k 1300k 850k 860338
-4 3600k 1700k 1100k 846899
-5 4400k 2100k 1350k 845160
-6 5200k 2500k 1600k 838626
-7 6100k 2900k 1850k 834096
-8 6800k 3300k 2100k 828642
-9 7600k 3700k 2350k 828642

RECOVERING DATA FROM DAMAGED FILES
bzip2 compresses files in blocks, usually 900kbytes long. Each block
is handled independently. If a media or transmission error causes a
multi-block .bz2 file to become damaged, it may be possible to recover
containing the extracted blocks. The output filenames are
designed so that the use of wildcards in subsequent processing — for
example, “bzip2 -dc rec*file.bz2 > recovered_data” — processes the
files in the correct order.

bzip2recover should be of most use dealing with large .bz2 files, as
these will contain many blocks. It is clearly futile to use it on dam-
aged single-block files, since a damaged block cannot be recov-
ered. If you wish to minimise any potential data loss through media
or transmission errors, you might consider compressing with a smaller
block size.

PERFORMANCE NOTES
The sorting phase of compression gathers together similar strings in
the file. Because of this, files containing very long runs of repeated
symbols, like “aabaabaabaab …” (repeated several hundred times) may
compress more slowly than normal. Versions 0.9.5 and above fare much
better than previous versions in this respect. The ratio between
worst-case and average-case compression time is in the region of 10:1.
For previous versions, this figure was more like 100:1. You can use
the -vvvv option to monitor progress in great detail, if you want.

Decompression speed is unaffected by these phenomena.

bzip2 usually allocates several megabytes of memory to operate in, and
then charges all over it in a fairly random fashion. This means that
performance, both for compressing and decompressing, is largely deter-
mined by the speed at which your machine can service cache misses.
Because of this, small changes to the code to reduce the miss rate have
been observed to give disproportionately large performance improve-
ments. I imagine bzip2 will perform best on machines with very large
caches.

CAVEATS
I/O error messages are not as helpful as they could be. bzip2 tries
hard to detect I/O errors and exit cleanly, but the details of what the
problem is sometimes seem rather misleading.

This manual page pertains to version 1.0.4 of bzip2. Compressed data
created by this version is entirely forwards and backwards compatible
with the previous public releases, versions 0.1pl2, 0.9.0, 0.9.5,
1.0.0, 1.0.1, 1.0.2 and 1.0.3, but with the following exception: 0.9.0
and above can correctly decompress multiple concatenated compressed
files. 0.1pl2 cannot do this; it will stop after decompressing just
the first file in the stream.

bzip2recover versions prior to 1.0.2 used 32-bit integers to represent
bit positions in compressed files, so they could not handle compressed
files more than 512 megabytes long. Versions 1.0.2 and above use
64-bit ints on some platforms which support them (GNU supported tar-
Michael Burrows and David Wheeler (for the block sorting transforma-
tion), David Wheeler (again, for the Huffman coder), Peter Fenwick (for
the structured coding model in the original bzip, and many refine-
ments), and Alistair Moffat, Radford Neal and Ian Witten (for the
arithmetic coder in the original bzip). I am much indebted for their
help, support and advice. See the manual in the source distribution
for pointers to sources of documentation. Christian von Roques encour-
aged me to look for faster sorting algorithms, so as to speed up com-
pression. Bela Lubkin encouraged me to improve the worst-case compres-
sion performance. Donna Robinson XMLised the documentation. The bz*
scripts are derived from those of GNU gzip. Many people sent patches,
helped with portability problems, lent machines, gave advice and were
generally helpful.

bzip2(1)