]> git.saurik.com Git - apple/file_cmds.git/blame - install/install.1
file_cmds-321.100.10.0.1.tar.gz
[apple/file_cmds.git] / install / install.1
CommitLineData
44a7a5ab
A
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.\"
440bd198
A
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 $
44a7a5ab 34.\"
440bd198 35.Dd May 7, 2001
44a7a5ab 36.Dt INSTALL 1
440bd198 37.Os
44a7a5ab
A
38.Sh NAME
39.Nm install
40.Nd install binaries
41.Sh SYNOPSIS
864a4b6e 42.Nm install
440bd198
A
43.Op Fl bCcMpSsv
44.Op Fl B Ar suffix
44a7a5ab 45.Op Fl f Ar flags
440bd198 46.Op Fl g Ar group
44a7a5ab
A
47.Op Fl m Ar mode
48.Op Fl o Ar owner
44a7a5ab 49.Ar file1 file2
864a4b6e 50.Nm install
440bd198
A
51.Op Fl bCcMpSsv
52.Op Fl B Ar suffix
44a7a5ab 53.Op Fl f Ar flags
440bd198 54.Op Fl g Ar group
44a7a5ab
A
55.Op Fl m Ar mode
56.Op Fl o Ar owner
440bd198 57.Ar file1 ... fileN directory
864a4b6e 58.Nm install
440bd198
A
59.Fl d
60.Op Fl v
44a7a5ab 61.Op Fl g Ar group
44a7a5ab
A
62.Op Fl m Ar mode
63.Op Fl o Ar owner
440bd198 64.Ar directory ...
44a7a5ab 65.Sh DESCRIPTION
440bd198
A
66The file(s) are copied
67to the target file or directory.
44a7a5ab
A
68If the destination is a directory, then the
69.Ar file
440bd198 70is copied into
44a7a5ab
A
71.Ar directory
72with its original filename.
440bd198
A
73If the target file already exists, it is
74either renamed to
75.Ar file Ns Pa .old
76if the
77.Fl b
78option is given
79or overwritten
80if permissions allow.
81An alternate backup suffix may be specified via the
82.Fl B
83option's argument.
44a7a5ab 84.Pp
440bd198
A
85The options are as follows:
86.Bl -tag -width indent
864a4b6e
A
87.\" ==========
88.It Fl B Ar suffix
89Use
90.Ar suffix
91as the backup suffix if
92.Fl b
93is given.
94.\" ==========
440bd198
A
95.It Fl b
96Back up any existing files before overwriting them by renaming
97them to
98.Ar file Ns Pa .old .
99See
100.Fl B
101for specifying a different backup suffix.
864a4b6e 102.\" ==========
440bd198
A
103.It Fl C
104Copy the file.
105If the target file already exists and the files are the same,
106then don't change the modification time of the target.
864a4b6e 107.\" ==========
44a7a5ab
A
108.It Fl c
109Copy the file.
440bd198
A
110This is actually the default.
111The
112.Fl c
113option is only included for backwards compatibility.
864a4b6e 114.\" ==========
440bd198
A
115.It Fl d
116Create directories.
117Missing parent directories are created as required.
864a4b6e 118.\" ==========
44a7a5ab 119.It Fl f
440bd198 120Specify the target's file flags; see
44a7a5ab 121.Xr chflags 1
440bd198 122for a list of possible flags and their meanings.
864a4b6e 123.\" ==========
44a7a5ab
A
124.It Fl g
125Specify a group.
440bd198 126A numeric GID is allowed.
864a4b6e 127.\" ==========
440bd198
A
128.It Fl M
129Disable all use of
130.Xr mmap 2 .
864a4b6e 131.\" ==========
44a7a5ab 132.It Fl m
440bd198 133Specify an alternate mode.
44a7a5ab
A
134The default mode is set to rwxr-xr-x (0755).
135The specified mode may be either an octal or symbolic value; see
440bd198 136.Xr chmod 1
44a7a5ab 137for a description of possible mode values.
864a4b6e 138.\" ==========
44a7a5ab
A
139.It Fl o
140Specify an owner.
440bd198 141A numeric UID is allowed.
864a4b6e 142.\" ==========
44a7a5ab 143.It Fl p
440bd198
A
144Preserve the modification time.
145Copy the file, as if the
146.Fl C
147(compare and copy) option is specified,
148except if the target file doesn't already exist or is different,
149then preserve the modification time of the file.
864a4b6e 150.\" ==========
440bd198
A
151.It Fl S
152Safe copy.
153Normally,
864a4b6e 154.Nm install
440bd198
A
155unlinks an existing target before installing the new file.
156With the
157.Fl S
158flag a temporary file is used and then renamed to be
159the target.
160The reason this is safer is that if the copy or
161rename fails, the existing target is left untouched.
864a4b6e 162.\" ==========
44a7a5ab 163.It Fl s
864a4b6e 164.Nm install
44a7a5ab 165exec's the command
44a7a5ab 166.Xr strip 1
440bd198 167to strip binaries so that
864a4b6e 168.Nm install
440bd198
A
169can be portable over a large
170number of systems and binary types.
864a4b6e 171.\" ==========
440bd198
A
172.It Fl v
173Causes
864a4b6e 174.Nm install
440bd198
A
175to show when
176.Fl C
177actually installs something.
44a7a5ab
A
178.El
179.Pp
180By default,
864a4b6e 181.Nm install
440bd198
A
182preserves all file flags, with the exception of the
183.Dq nodump
184flag.
44a7a5ab
A
185.Pp
186The
864a4b6e 187.Nm install
44a7a5ab
A
188utility attempts to prevent moving a file onto itself.
189.Pp
190Installing
191.Pa /dev/null
192creates an empty file.
440bd198
A
193.Sh DIAGNOSTICS
194The
864a4b6e 195.Nm install
440bd198
A
196utility exits 0 on success, and 1 otherwise.
197.Sh FILES
198.Bl -tag -width INS@XXXX -compact
199.It Pa INS@XXXX
200If either
201.Fl S
202option is specified, or the
203.Fl C
204or
205.Fl p
206option is used in conjuction with the
207.Fl s
208option, temporary files named
209.Pa INS@XXXX ,
210where
211.Pa XXXX
212is decided by
213.Xr mkstemp 3 ,
214are created in the target directory.
215.El
216.Sh COMPATIBILITY
217Historically
864a4b6e 218.Nm install
440bd198
A
219moved files by default.
220The default was changed to copy in
221.Fx 4.4 .
44a7a5ab
A
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 ,
440bd198 229.Xr mmap 2 ,
44a7a5ab
A
230.Xr chown 8
231.Sh HISTORY
232The
864a4b6e 233.Nm install
44a7a5ab
A
234utility appeared in
235.Bx 4.2 .
440bd198
A
236.Sh BUGS
237Temporary files may be left in the target directory if
864a4b6e 238.Nm install
440bd198
A
239exits abnormally.
240.Pp
241File flags cannot be set by
242.Xr fchflags 2
243over a NFS file system. Other file systems do not have a concept of flags.
864a4b6e 244.Nm install
440bd198
A
245will only warn when flags could not be set on a file system
246that does not support them.
247.Pp
864a4b6e 248.Nm install
440bd198
A
249with
250.Fl v
251falsely says a file is copied when
252.Fl C
253snaps hard links.