file_cmds-321.40.3.tar.gz
[apple/file_cmds.git] / install / install.1
1 .\" Copyright (c) 1987, 1990, 1993
2 .\"     The Regents of the University of California.  All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\" 3. All advertising materials mentioning features or use of this software
13 .\"    must display the following acknowledgement:
14 .\"     This product includes software developed by the University of
15 .\"     California, Berkeley and its contributors.
16 .\" 4. Neither the name of the University nor the names of its contributors
17 .\"    may be used to endorse or promote products derived from this software
18 .\"    without specific prior written permission.
19 .\"
20 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" SUCH DAMAGE.
31 .\"
32 .\"     From: @(#)install.1     8.1 (Berkeley) 6/6/93
33 .\" $FreeBSD: src/usr.bin/xinstall/install.1,v 1.21 2001/05/30 09:45:47 ru Exp $
34 .\"
35 .Dd May 7, 2001
36 .Dt INSTALL 1
37 .Os
38 .Sh NAME
39 .Nm install
40 .Nd install binaries
41 .Sh SYNOPSIS
42 .Nm install
43 .Op Fl bCcMpSsv
44 .Op Fl B Ar suffix
45 .Op Fl f Ar flags
46 .Op Fl g Ar group
47 .Op Fl m Ar mode
48 .Op Fl o Ar owner
49 .Ar file1 file2
50 .Nm install
51 .Op Fl bCcMpSsv
52 .Op Fl B Ar suffix
53 .Op Fl f Ar flags
54 .Op Fl g Ar group
55 .Op Fl m Ar mode
56 .Op Fl o Ar owner
57 .Ar file1 ... fileN directory
58 .Nm install
59 .Fl d
60 .Op Fl v
61 .Op Fl g Ar group
62 .Op Fl m Ar mode
63 .Op Fl o Ar owner
64 .Ar directory ...
65 .Sh DESCRIPTION
66 The file(s) are copied
67 to the target file or directory.
68 If the destination is a directory, then the
69 .Ar file
70 is copied into
71 .Ar directory
72 with its original filename.
73 If the target file already exists, it is
74 either renamed to
75 .Ar file Ns Pa .old
76 if the
77 .Fl b
78 option is given
79 or overwritten
80 if permissions allow.
81 An alternate backup suffix may be specified via the
82 .Fl B
83 option's argument.
84 .Pp
85 The options are as follows:
86 .Bl -tag -width indent
87 .\" ==========
88 .It Fl B Ar suffix
89 Use
90 .Ar suffix
91 as the backup suffix if
92 .Fl b
93 is given.
94 .\" ==========
95 .It Fl b
96 Back up any existing files before overwriting them by renaming
97 them to
98 .Ar file Ns Pa .old .
99 See
100 .Fl B
101 for specifying a different backup suffix.
102 .\" ==========
103 .It Fl C
104 Copy the file.
105 If the target file already exists and the files are the same,
106 then don't change the modification time of the target.
107 .\" ==========
108 .It Fl c
109 Copy the file.
110 This is actually the default.
111 The
112 .Fl c
113 option is only included for backwards compatibility.
114 .\" ==========
115 .It Fl d
116 Create directories.
117 Missing parent directories are created as required.
118 .\" ==========
119 .It Fl f
120 Specify the target's file flags; see
121 .Xr chflags 1
122 for a list of possible flags and their meanings.
123 .\" ==========
124 .It Fl g
125 Specify a group.
126 A numeric GID is allowed.
127 .\" ==========
128 .It Fl M
129 Disable all use of
130 .Xr mmap 2 .
131 .\" ==========
132 .It Fl m
133 Specify an alternate mode.
134 The default mode is set to rwxr-xr-x (0755).
135 The specified mode may be either an octal or symbolic value; see
136 .Xr chmod 1
137 for a description of possible mode values.
138 .\" ==========
139 .It Fl o
140 Specify an owner.
141 A numeric UID is allowed.
142 .\" ==========
143 .It Fl p
144 Preserve the modification time.
145 Copy the file, as if the
146 .Fl C
147 (compare and copy) option is specified,
148 except if the target file doesn't already exist or is different,
149 then preserve the modification time of the file.
150 .\" ==========
151 .It Fl S
152 Safe copy.
153 Normally,
154 .Nm install
155 unlinks an existing target before installing the new file.
156 With the
157 .Fl S
158 flag a temporary file is used and then renamed to be
159 the target.
160 The reason this is safer is that if the copy or
161 rename fails, the existing target is left untouched.
162 .\" ==========
163 .It Fl s
164 .Nm install
165 exec's the command
166 .Xr strip 1
167 to strip binaries so that
168 .Nm install
169 can be portable over a large
170 number of systems and binary types.
171 .\" ==========
172 .It Fl v
173 Causes
174 .Nm install
175 to show when
176 .Fl C
177 actually installs something.
178 .El
179 .Pp
180 By default,
181 .Nm install
182 preserves all file flags, with the exception of the
183 .Dq nodump
184 flag.
185 .Pp
186 The
187 .Nm install
188 utility attempts to prevent moving a file onto itself.
189 .Pp
190 Installing
191 .Pa /dev/null
192 creates an empty file.
193 .Sh DIAGNOSTICS
194 The
195 .Nm install
196 utility exits 0 on success, and 1 otherwise.
197 .Sh FILES
198 .Bl -tag -width INS@XXXX -compact
199 .It Pa INS@XXXX
200 If either
201 .Fl S
202 option is specified, or the
203 .Fl C
204 or
205 .Fl p
206 option is used in conjuction with the
207 .Fl s
208 option, temporary files named
209 .Pa INS@XXXX ,
210 where
211 .Pa XXXX
212 is decided by
213 .Xr mkstemp 3 ,
214 are created in the target directory.
215 .El
216 .Sh COMPATIBILITY
217 Historically
218 .Nm install
219 moved files by default.
220 The default was changed to copy in
221 .Fx 4.4 .
222 .Sh SEE ALSO
223 .Xr chflags 1 ,
224 .Xr chgrp 1 ,
225 .Xr chmod 1 ,
226 .Xr cp 1 ,
227 .Xr mv 1 ,
228 .Xr strip 1 ,
229 .Xr mmap 2 ,
230 .Xr chown 8
231 .Sh HISTORY
232 The
233 .Nm install
234 utility appeared in
235 .Bx 4.2 .
236 .Sh BUGS
237 Temporary files may be left in the target directory if
238 .Nm install
239 exits abnormally.
240 .Pp
241 File flags cannot be set by
242 .Xr fchflags 2
243 over a NFS file system.  Other file systems do not have a concept of flags.
244 .Nm install
245 will only warn when flags could not be set on a file system
246 that does not support them.
247 .Pp
248 .Nm install
249 with
250 .Fl v
251 falsely says a file is copied when
252 .Fl C
253 snaps hard links.