Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
INSTALL(1)		FreeBSD	General	Commands Manual		    INSTALL(1)

     install --	install	binaries

     install [-bCcpSsUv] [-B suffix] [-D destdir] [-f flags] [-g group]
	     [-h hash] [-l linkflags] [-M metalog] [-m mode] [-N dbdir]
	     [-o owner]	[-T tags] file1	file2
     install [-bCcpSsUv] [-B suffix] [-D destdir] [-f flags] [-g group]
	     [-h hash] [-l linkflags] [-M metalog] [-m mode] [-N dbdir]
	     [-o owner]	[-T tags] file1	... fileN directory
     install -d	[-Uv] [-D destdir] [-g group] [-h hash]	[-M metalog] [-m mode]
	     [-N dbdir]	[-o owner] [-T tags] directory ...

     The file(s) are copied (or	linked if the -l option	is specified) to the
     target file or directory.	If the destination is a	directory, then	the
     file is copied into directory with	its original filename.	If the target
     file already exists, it is	either renamed to file.old if the -b option is
     given or overwritten if permissions allow.	 An alternate backup suffix
     may be specified via the -B option's argument.

     The options are as	follows:

     -B	suffix
	     Use suffix	as the backup suffix if	-b is given.

     -b	     Back up any existing files	before overwriting them	by renaming
	     them to file.old.	See -B for specifying a	different backup suf-

     -C	     Copy the file.  If	the target file	already	exists and the files
	     are the same, then	do not change the modification time of the
	     target.  If the target's file flags and mode need not to be
	     changed, the target's inode change	time is	also unchanged.

     -c	     Copy the file.  This is actually the default.  The	-c option is
	     only included for backwards compatibility.

     -D	destdir
	     Specify the DESTDIR (top of the file hierarchy) that the items
	     are installed in to.  If -M metalog is in use, a leading string
	     of	"destdir" will be removed from the file	names logged to	the
	     metalog.  This option does	not affect where the actual files are

     -d	     Create directories.  Missing parent directories are created as

     -f	flags
	     Specify the target's file flags; see chflags(1) for a list	of
	     possible flags and	their meanings.

     -g	group
	     Specify a group.  A numeric GID is	allowed.

     -h	hash
	     When copying, calculate the digest	of the files with hash to
	     store in the -M metalog.  When -d is given	no hash	is emitted.
	     Supported digests:

		   none	   No hash.  This is the default.

		   md5	   The MD5 cryptographic message digest.

		   rmd160  The RMD-160 cryptographic message digest.

		   sha1	   The SHA-1 cryptographic message digest.

		   sha256  The 256-bits	SHA-2 cryptographic message digest of
			   the file.

		   sha512  The 512-bits	SHA-2 cryptographic message digest of
			   the file.

     -l	linkflags
	     Instead of	copying	the file make a	link to	the source.  The type
	     of	the link is determined by the linkflags	argument.  Valid
	     linkflags are: a (absolute), r (relative),	h (hard), s (sym-
	     bolic), m (mixed).	 Absolute and relative have effect only	for
	     symbolic links.  Mixed links are hard links for files on the same
	     filesystem, symbolic otherwise.

     -M	metalog
	     Write the metadata	associated with	each item installed to metalog
	     in	an mtree(8) "full path"	specification line.  The metadata in-
	     cludes: the file name and file type, and depending	upon other op-
	     tions, the	owner, group, file flags, modification time, and tags.

     -m	mode
	     Specify an	alternate mode.	 The default mode is set to rwxr-xr-x
	     (0755).  The specified mode may be	either an octal	or symbolic
	     value; see	chmod(1) for a description of possible mode values.

     -N	dbdir
	     Use the user database text	file master.passwd and group database
	     text file group from dbdir, rather	than using the results from
	     the system's getpwnam(3) and getgrnam(3) (and related) library

     -o	owner
	     Specify an	owner.	A numeric UID is allowed.

     -p	     Preserve the access and modification times.  Copy the file, as if
	     the -C (compare and copy) option is specified, except if the tar-
	     get file does not already exist or	is different, then preserve
	     the access	and modification times of the source file.

     -S	     Safe copy.	 Normally, install unlinks an existing target before
	     installing	the new	file.  With the	-S flag	a temporary file is
	     used and then renamed to be the target.  The reason this is safer
	     is	that if	the copy or rename fails, the existing target is left

     -s	     install exec's the	command	strip(1) to strip binaries so that
	     install can be portable over a large number of systems and	binary
	     types.  See below for how install can be instructed to use	an-
	     other program to strip binaries.

     -T	tags
	     Specify the mtree(8) tags to write	out for	the file when using -M

     -U	     Indicate that install is running unprivileged, and	that it	should
	     not try to	change the owner, the group, or	the file flags of the
	     destination.  The information that	would have been	updated	can be
	     stored in a log file with -M metalog.

     -v	     Cause install to be verbose, showing files	as they	are installed
	     or	backed up.

     By	default, install preserves all file flags, with	the exception of the
     "nodump" flag.

     The install utility attempts to prevent moving a file onto	itself.

     Installing	/dev/null creates an empty file.

     The install utility checks	for the	presence of the	STRIPBIN environment
     variable and if present, uses the assigned	value as the program to	run if
     and when the -s option has	been specified.

     If	the DONTSTRIP environment variable is present, install will ignore any
     specification of the -s option.  This is mainly for use in	debugging the
     FreeBSD Ports Collection.

     INS@XXXXXX	 If either -S option is	specified, or the -C or	-p option is
		 used in conjunction with the -s option, temporary files named
		 INS@XXXXXX, where XXXXXX is decided by	mkstemp(3), are	cre-
		 ated in the target directory.

     The install utility exits 0 on success, and >0 if an error	occurs.

     Historically install moved	files by default.  The default was changed to
     copy in FreeBSD 4.4.

     chflags(1), chgrp(1), chmod(1), cp(1), mv(1), strip(1), mmap(2),
     getgrnam(3), getpwnam(3), chown(8)

     The install utility appeared in 4.2BSD.

     The meaning of the	-M option has changed as of FreeBSD 9.2	and it now
     takes an argument.	 Command lines that used the old -M will get an	error
     or	in rare	cases will append logs to the first of multiple	source files
     rather than installing it.

     Temporary files may be left in the	target directory if install exits ab-

     File flags	cannot be set by fchflags(2) over a NFS	file system.  Other
     file systems do not have a	concept	of flags.  The install utility will
     only warn when flags could	not be set on a	file system that does not sup-
     port them.

     The install utility with -v falsely says a	file is	copied when -C snaps
     hard links.

FreeBSD	13.0			August 4, 2022			  FreeBSD 13.0


Want to link to this manual page? Use this URL:

home | help