install(1)
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 directories 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 execute 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 directories 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 executable may have
when running. The argument is a C-style decimal, octal or
hexadecimal number, optionally followed 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(8), 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)