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

FreeBSD Manual Pages

  
 
  

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

NAME
     install -- install binaries

SYNOPSIS
     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 ...

DESCRIPTION
     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 suffix.

     -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
	     installed.

     -d      Create directories.  Missing parent directories are created as  re-
	     quired.

     -f flags
	     Specify  the target's file flags; see chflags(1) for a list of pos-
	     sible 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 (symbolic), 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 calls.

     -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 target
	     file does not already exist or is different, then preserve the  ac-
	     cess and modification times of the source file.

     -S      Flush  each  file to disk after copying.  This has a non-negligible
	     impact on performance, but reduces the risk of being  left  with  a
	     partial  file  if	the  system crashes or loses power shortly after
	     install runs.

	     Historically, -S also enabled the use of temporary files to  ensure
	     atomicity	when  replacing an existing target.  Temporary files are
	     no longer optional.

     -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  another
	     program to strip binaries.

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

     -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.

ENVIRONMENT
     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.

FILES
     INS@XXXXXX  Temporary files named INS@XXXXXX, where XXXXXX  is  decided  by
		 mkstemp(3), are created in the target directory.

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

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

SEE ALSO
     chflags(1), chgrp(1), chmod(1), cp(1), mv(1), strip(1), getgrnam(3), getpw-
     nam(3), chown(8)

HISTORY
     The install utility appeared in 4.2BSD.

BUGS
     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 abnor-
     mally.

     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 support them.

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

FreeBSD ports 15.quarterly	 April 16, 2024 		      INSTALL(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=install&sektion=1&manpath=FreeBSD+15.1-RELEASE+and+Ports.quarterly>

home | help