]> CyberLeo.Net >> Repos - FreeBSD/releng/8.1.git/blob - usr.bin/xinstall/install.1
Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.
[FreeBSD/releng/8.1.git] / usr.bin / xinstall / 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$
34 .\"
35 .Dd March 6, 2006
36 .Dt INSTALL 1
37 .Os
38 .Sh NAME
39 .Nm install
40 .Nd install binaries
41 .Sh SYNOPSIS
42 .Nm
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
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
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 .It Fl b
88 Back up any existing files before overwriting them by renaming
89 them to
90 .Ar file Ns Pa .old .
91 See
92 .Fl B
93 for specifying a different backup suffix.
94 .It Fl B Ar suffix
95 Use
96 .Ar suffix
97 as the backup suffix if
98 .Fl b
99 is given.
100 .It Fl C
101 Copy the file.
102 If the target file already exists and the files are the same,
103 then do not change the modification time of the target.
104 If the target's file flags and mode need not to be changed,
105 the target's inode change time is also unchanged.
106 .It Fl c
107 Copy the file.
108 This is actually the default.
109 The
110 .Fl c
111 option is only included for backwards compatibility.
112 .It Fl d
113 Create directories.
114 Missing parent directories are created as required.
115 .It Fl f
116 Specify the target's file flags; see
117 .Xr chflags 1
118 for a list of possible flags and their meanings.
119 .It Fl g
120 Specify a group.
121 A numeric GID is allowed.
122 .It Fl M
123 Disable all use of
124 .Xr mmap 2 .
125 .It Fl m
126 Specify an alternate mode.
127 The default mode is set to rwxr-xr-x (0755).
128 The specified mode may be either an octal or symbolic value; see
129 .Xr chmod 1
130 for a description of possible mode values.
131 .It Fl o
132 Specify an owner.
133 A numeric UID is allowed.
134 .It Fl p
135 Preserve the access and modification times.
136 Copy the file, as if the
137 .Fl C
138 (compare and copy) option is specified,
139 except if the target file does not already exist or is different,
140 then preserve the access and modification times of the source file.
141 .It Fl S
142 Safe copy.
143 Normally,
144 .Nm
145 unlinks an existing target before installing the new file.
146 With the
147 .Fl S
148 flag a temporary file is used and then renamed to be
149 the target.
150 The reason this is safer is that if the copy or
151 rename fails, the existing target is left untouched.
152 .It Fl s
153 .Nm
154 exec's the command
155 .Xr strip 1
156 to strip binaries so that
157 .Nm
158 can be portable over a large
159 number of systems and binary types.
160 See below for how
161 .Nm
162 can be instructed to use another program to strip binaries.
163 .It Fl v
164 Cause
165 .Nm
166 to be verbose,
167 showing files as they are installed or backed up.
168 .El
169 .Pp
170 By default,
171 .Nm
172 preserves all file flags, with the exception of the
173 .Dq nodump
174 flag.
175 .Pp
176 The
177 .Nm
178 utility attempts to prevent moving a file onto itself.
179 .Pp
180 Installing
181 .Pa /dev/null
182 creates an empty file.
183 .Sh ENVIRONMENT
184 The
185 .Nm
186 utility checks for the presence of the
187 .Ev STRIPBIN
188 environment variable and if present,
189 uses the assigned value as the program to run if and when the
190 .Fl s
191 option has been specified.
192 .Pp
193 If the
194 .Ev DONTSTRIP
195 environment variable is present,
196 .Nm
197 will ignore any specification of the
198 .Fl s
199 option.
200 This is mainly for use in debugging the
201 .Fx
202 Ports Collection.
203 .Sh FILES
204 .Bl -tag -width ".Pa INS@XXXX" -compact
205 .It Pa INS@XXXX
206 If either
207 .Fl S
208 option is specified, or the
209 .Fl C
210 or
211 .Fl p
212 option is used in conjunction with the
213 .Fl s
214 option, temporary files named
215 .Pa INS@XXXX ,
216 where
217 .Pa XXXX
218 is decided by
219 .Xr mkstemp 3 ,
220 are created in the target directory.
221 .El
222 .Sh EXIT STATUS
223 .Ex -std
224 .Sh COMPATIBILITY
225 Historically
226 .Nm
227 moved files by default.
228 The default was changed to copy in
229 .Fx 4.4 .
230 .Sh SEE ALSO
231 .Xr chflags 1 ,
232 .Xr chgrp 1 ,
233 .Xr chmod 1 ,
234 .Xr cp 1 ,
235 .Xr mv 1 ,
236 .Xr strip 1 ,
237 .Xr mmap 2 ,
238 .Xr chown 8
239 .Sh HISTORY
240 The
241 .Nm
242 utility appeared in
243 .Bx 4.2 .
244 .Sh BUGS
245 Temporary files may be left in the target directory if
246 .Nm
247 exits abnormally.
248 .Pp
249 File flags cannot be set by
250 .Xr fchflags 2
251 over a NFS file system.
252 Other file systems do not have a concept of flags.
253 The
254 .Nm
255 utility will only warn when flags could not be set on a file system
256 that does not support them.
257 .Pp
258 The
259 .Nm
260 utility with
261 .Fl v
262 falsely says a file is copied when
263 .Fl C
264 snaps hard links.