NAME
install - install files
SYNOPSIS
install [-lcszN] [-o owner] [-g group] [-m mode] [-S stack]
[file1] file2
install [-lcszN] [-o owner] [-g group] [-m mode] [-S stack]
file ... dir
install -d [-o owner] [-g group] [-m mode] directory
DESCRIPTION
Install puts executables, manual pages, and library files in
their proper place in the bin, man, and lib directories.
The first two forms of the command are like cp(1) copying
either one file to another or copying several files to a
directory. The "-d" form is like mkdir(1) with the -p flag.
File1 may be omitted if neither -l nor -c is given to change
the attributes of file2.
Attributes are always copied from the source file, use the
options to change. Note that the source file's attributes
are changed with the destination file if they are linked.
So copy the file if you change it in a way that makes it
read-only. You would otherwise not be able to compile a
command again.
OPTIONS
-l Link the destination to the source file instead of
copying it. This is done to either save space on a
file system with both the source and the bin direc-
tories on it, or to install synonyms to a command.
-c Copy the source file to its proper place. This option
is the default if -l is not given. With -l, the file
is copied if the link fails.
-s Strip the destination file of its symbol table, if it
is an executable, and if it is actually copied. It has
no effect on a link or a non-executable.
-z Compress the executable using compress(1) and prepend a
header line that calls zexec(1) to decompress and exe-
cute the binary. This will on average save 40% disk
space at the expense of a slower startup time. Like -s
the file must be actually copied for the flag to have
effect.
-N Use gzip -N to compress the binary. You may see up to
60% space savings, but it will take much longer. N is
a digit from 1 to 9 telling the compression effort, see
gzip(1).
-d Make a directory, usually to install files in a
separate directory in a library. Intermediate direc-
tories in the path are created with the same attributes
as the final directory. Only the attributes of the
final directory are set if the directory exists.
-o owner
Set the owner of the target. This only works if the
invoker is the super-user, or if install is run setuid
root and the invoker is a member of group zero. If -o
is omitted then the ownership is copied from the source
file, or set to the id of the invoker if a directory is
made.
-g group
Like -o, but for the group ownership of the target.
-m mode
Mode is an octal number that specifies the mode the
target should get. The default is the source file's
mode with a chmod a+rX applied to it, or 755 for a new
directory. Implies -o 0, or -g 0 if a file is to be
set-uid or set-gid and the invoker has permission to
change ownership. This trick allows a group 0 member
to install third party software, even though it expects
to be installed by root.
-S stack
Sets the maximum amount of heap + stack that an execut-
able may have when running. The argument is a C-style
decimal, octal or hexadecimal number, optionally fol-
lowed by the multipliers m, k, w, and b for mega
(1024*1024), kilo (1024), "word" (2 or 4), and byte
(1). Uppercase M is also accepted for those who know
what S.I. means. The compilers use -S 32kw by default,
that translates to 64kb for an 8086, and 128kb for
other architectures. This option is ignored on a non-
executable.
SEE ALSO
ln(1), cp(1), strip(1), compress(1), gzip(1), zexec(1),
chown(8), chgrp(1), chmod(1), chmem(1), mkdir(1).
BUGS
Uppercase K, W, and B are also accepted for those who don't
know what S.I. means.
AUTHOR
Kees J. Bot (kjb@cs.vu.nl)