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