xref: /freebsd/usr.bin/xinstall/install.1 (revision 4b2eaea43fec8e8792be611dea204071a10b655a)
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 May 7, 2001
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
66The file(s) are copied
67to the target file or directory.
68If the destination is a directory, then the
69.Ar file
70is copied into
71.Ar directory
72with its original filename.
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.
84.Pp
85The options are as follows:
86.Bl -tag -width indent
87.It Fl b
88Back up any existing files before overwriting them by renaming
89them to
90.Ar file Ns Pa .old .
91See
92.Fl B
93for specifying a different backup suffix.
94.It Fl B Ar suffix
95Use
96.Ar suffix
97as the backup suffix if
98.Fl b
99is given.
100.It Fl C
101Copy the file.
102If the target file already exists and the files are the same,
103then don't change the modification time of the target.
104If the target's file flags and mode need not to be changed,
105the target's inode change time is also unchanged.
106.It Fl c
107Copy the file.
108This is actually the default.
109The
110.Fl c
111option is only included for backwards compatibility.
112.It Fl d
113Create directories.
114Missing parent directories are created as required.
115.It Fl f
116Specify the target's file flags; see
117.Xr chflags 1
118for a list of possible flags and their meanings.
119.It Fl g
120Specify a group.
121A numeric GID is allowed.
122.It Fl M
123Disable all use of
124.Xr mmap 2 .
125.It Fl m
126Specify an alternate mode.
127The default mode is set to rwxr-xr-x (0755).
128The specified mode may be either an octal or symbolic value; see
129.Xr chmod 1
130for a description of possible mode values.
131.It Fl o
132Specify an owner.
133A numeric UID is allowed.
134.It Fl p
135Preserve the access and modification times.
136Copy the file, as if the
137.Fl C
138(compare and copy) option is specified,
139except if the target file doesn't already exist or is different,
140then preserve the access and modification times of the source file.
141.It Fl S
142Safe copy.
143Normally,
144.Nm
145unlinks an existing target before installing the new file.
146With the
147.Fl S
148flag a temporary file is used and then renamed to be
149the target.
150The reason this is safer is that if the copy or
151rename fails, the existing target is left untouched.
152.It Fl s
153.Nm
154exec's the command
155.Xr strip 1
156to strip binaries so that
157.Nm
158can be portable over a large
159number of systems and binary types.
160.It Fl v
161Cause
162.Nm
163to be verbose,
164showing files as they are installed or backed up.
165.El
166.Pp
167By default,
168.Nm
169preserves all file flags, with the exception of the
170.Dq nodump
171flag.
172.Pp
173The
174.Nm
175utility attempts to prevent moving a file onto itself.
176.Pp
177Installing
178.Pa /dev/null
179creates an empty file.
180.Sh DIAGNOSTICS
181.Ex -std
182.Sh FILES
183.Bl -tag -width INS@XXXX -compact
184.It Pa INS@XXXX
185If either
186.Fl S
187option is specified, or the
188.Fl C
189or
190.Fl p
191option is used in conjuction with the
192.Fl s
193option, temporary files named
194.Pa INS@XXXX ,
195where
196.Pa XXXX
197is decided by
198.Xr mkstemp 3 ,
199are created in the target directory.
200.El
201.Sh COMPATIBILITY
202Historically
203.Nm
204moved files by default.
205The default was changed to copy in
206.Fx 4.4 .
207.Sh SEE ALSO
208.Xr chflags 1 ,
209.Xr chgrp 1 ,
210.Xr chmod 1 ,
211.Xr cp 1 ,
212.Xr mv 1 ,
213.Xr strip 1 ,
214.Xr mmap 2 ,
215.Xr chown 8
216.Sh HISTORY
217The
218.Nm
219utility appeared in
220.Bx 4.2 .
221.Sh BUGS
222Temporary files may be left in the target directory if
223.Nm
224exits abnormally.
225.Pp
226File flags cannot be set by
227.Xr fchflags 2
228over a NFS file system.  Other file systems do not have a concept of flags.
229The
230.Nm
231utility will only warn when flags could not be set on a file system
232that does not support them.
233.Pp
234The
235.Nm
236utility with
237.Fl v
238falsely says a file is copied when
239.Fl C
240snaps hard links.
241