add/re-enable at_wini debug output
[minix3.git] / man / man1 / install.1
blob081dd6ac4b12eb3e3d929418be056b6d2d5ee902
1 .TH INSTALL 1
2 .SH NAME
3 install \- install files
4 .SH SYNOPSIS
5 .in +5
6 .ti -5
7 .B install
8 .RB [ \-lcsz\fIN\fP "] [" \-o
9 .IR owner ]
10 .RB [ \-g
11 .IR group ]
12 .RB [ \-m
13 .IR mode ]
14 .RB [ \-S
15 .IR stack ]
16 .RI [ file1 ]
17 .I file2
18 .br
19 .ti -5
20 .B install
21 .RB [ \-lcsz\fIN\fP "] [" \-o
22 .IR owner ]
23 .RB [ \-g
24 .IR group ]
25 .RB [ \-m
26 .IR mode ]
27 .RB [ \-S
28 .IR stack ]
29 .IR file " ... " dir
30 .br
31 .ti -5
32 .B install \-d
33 .RB [ \-o
34 .IR owner ]
35 .RB [ \-g
36 .IR group ]
37 .RB [ \-m
38 .IR mode ]
39 .I directory
40 .in -5
41 .SH DESCRIPTION
42 .de SP
43 .if t .sp 0.4
44 .if n .sp
46 .B Install
47 puts executables, manual pages, and library files in their proper place
48 in the bin, man, and lib directories.  The first two forms of the
49 command are like
50 .BR cp (1)
51 copying either one file to another or copying several files to a
52 directory.  The "\fB\-d\fP" form is like
53 .BR mkdir (1)
54 with the
55 .B \-p
56 flag.
57 .I File1
58 may be omitted if neither
59 .B \-l
60 nor
61 .B \-c
62 is given to change the attributes of
63 .IR file2 .
64 .PP
65 Attributes are always copied from the source file, use the options to change.
66 Note that the source file's attributes are changed with the destination file
67 if they are linked.  So copy the file if you change it in a way that makes
68 it read-only.  You would otherwise not be able to compile a command again.
69 .SH OPTIONS
70 .TP
71 .B \-l
72 Link the destination to the source file instead of copying it.  This is done
73 to either save space on a file system with both the source and the bin
74 directories on it, or to install synonyms to a command.
75 .TP
76 .B \-c
77 Copy the source file to its proper place.  This option is the default if
78 .B \-l
79 is not given.  With
80 .BR \-l ,
81 the file is copied if the link fails.
82 .TP
83 .B \-s
84 Strip the destination file of its symbol table,
85 .I if
86 it is an executable, and
87 .I if
88 it is actually copied.  It has no effect on a link or a non-executable.
89 .TP
90 .B \-z
91 Compress the executable using
92 .BR compress (1)
93 and prepend a header line that calls
94 .BR zexec (1)
95 to decompress and execute the binary.  This will on average save 40% disk
96 space at the expense of a slower startup time.  Like
97 .B \-s
98 the file must be actually copied for the flag to have effect.
99 .TP
100 .BI \- N
102 .BI "gzip \-" N
103 to compress the binary.  You may see up to 60% space savings, but it will
104 take much longer.
105 .I N
106 is a digit from 1 to 9 telling the compression effort, see
107 .BR gzip (1).
109 .B \-d
110 Make a directory, usually to install files in a separate directory in a
111 library.  Intermediate directories in the path are created with the same
112 attributes as the final directory.  Only the attributes of the final
113 directory are set if the directory exists.
115 .BI \-o " owner"
116 Set the owner of the target.  This only works if the invoker is the
117 super-user, or if
118 .B install
119 is run setuid root and the invoker is a member of group zero.  If
120 .B \-o
121 is omitted then the ownership is copied from the source file, or set to
122 the id of the invoker if a directory is made.
124 .BI \-g " group"
125 Like
126 .BR \-o ,
127 but for the group ownership of the target.
129 .BI \-m " mode"
130 .I Mode
131 is an octal number that specifies the mode the target should get.  The
132 default is the source file's mode with a
133 .B chmod a+rX
134 applied to it, or 755 for a new directory.  Implies
135 .BR "\-o 0" ,
137 .BR "\-g 0"
138 if a file is to be set-uid or set-gid and the invoker has permission to
139 change ownership.  This trick allows a group 0 member to install third party
140 software, even though it expects to be installed by root.
142 .BI \-S " stack"
143 Sets the maximum amount of heap + stack that an executable may have when
144 running.  The argument is a C-style decimal, octal or hexadecimal
145 number, optionally followed by the multipliers
146 .BR m ,
147 .BR k ,
148 .BR w ,
150 .B b
151 for mega (1024*1024), kilo (1024), "word" (2 or 4), and byte (1).  Uppercase
152 .B M
153 is also accepted for those who know what S.I. means.  The compilers use
154 .B \-S 32kw
155 by default, that translates to 64kb for an 8086, and 128kb for other
156 architectures.  This option is ignored on a non-executable.
157 .SH "SEE ALSO"
158 .BR ln (1),
159 .BR cp (1),
160 .BR strip (1),
161 .BR compress (1),
162 .BR gzip (1),
163 .BR zexec (1),
164 .BR chown (8),
165 .BR chgrp (1),
166 .BR chmod (1),
167 .BR chmem (1),
168 .BR mkdir (1).
169 .SH BUGS
170 Uppercase
171 .BR K ,
172 .BR W ,
174 .B B
175 are also accepted for those who don't know what S.I. means.
176 .SH AUTHOR
177 Kees J. Bot (kjb@cs.vu.nl)