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

FreeBSD Manual Pages

  
 
  

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

NAME
       dar  - creates, tests, lists, extracts, compares, merges, isolates, re-
       pairs dar archives

SYNOPSIS
       dar [-c | -t | -l | -x |	-d | -+	| -C | -y]  [[<URL>]<path>/]<basename>
       [<options>] [<user targets>]

       dar -h

       dar -V

DESCRIPTION
       dar  is	a  full	featured backup	tool, aimed for	local and remote disks
       (floppy,	CD-R(W), DVD-R(W), zip,	 jazz,	hard-disks,  usb  keys,	 etc.)
       cloud  storage  (by  mean of ftp	or sftp	protocols) and also adapted to
       tapes.

       dar can store a backup in several files (called "slices"	in the follow-
       ing) of a given	size,  eventually  pausing  or	running	 a  user  com-
       mand/script before starting the next slice. This	can allow for example,
       the  burning  of	the last generated slice on a DVD-R(W),	Blue-ray Disk,
       or changing of usb key before continuing	on the	next  one.   Like  its
       grand-brother,  the  great "tar"	command, dar may also use compression,
       at the difference that compression is used inside  the  archive	to  be
       able to have compressed slices of the defined size.

       But  the	most important feature of dar is its ability to	make differen-
       tial, incremental and decremental backups. In other words, backups that
       contain only new	files or files that have changed from a	backup of ref-
       erence. Binary delta is available but not activated by default: in com-
       bination	with differential and incremental backups, it leads  not  only
       to  not save a file that	has not	changed	(thing dar does	without	binary
       delta), but also	to only	save an	rsync  patch  of  any  modified	 file,
       which lead to even smaller backups.

       Moreover	with differential backup, dar also stores files	that have been
       deleted	since  the  backup of reference. Thus, when restoring, first a
       full backup, then additional differential backups, at each  restoration
       you  get	the exact state	of the filesystem at the time the differential
       backup was made.	 dar is	the first backup program I know	that can  also
       remove  files  during  restoration!  By	the  way,  in  this  document,
       "archive" and "backup" are used interchangeably,	the difference is  the
       purpose you build them for.

       Unlike  the  tar	 command,  dar	has not	to read	a whole	archive	nor to
       stick together the different parts (the slices) to access its contents:
       dar archives contain a table of contents	(aka "catalogue")  located  at
       the  end,  so  dar  can seek into the archive to	read only the required
       data to restore files, thing which is much faster than what tar is used
       to do. The "catalogue" can be copied  out  of  the  archive  (operation
       called  isolation)  to  be  used	as reference for further backup	and as
       backup of the internal catalogue	in case	of archive corruption.

       Dar can also use	a sequential reading mode, in which dar	acts like tar,
       just reading byte by byte the whole archive to know  its	 contents  and
       eventually  extracting  file  at	each step. In other words, the archive
       contents	is located at both locations,  a  first	 time  all  along  the
       archive used for	tar-like behavior suitable for sequential access media
       (tapes)	and  a	second time at the end for faster access, suitable for
       random access media (disks).  However note that	tar  archive  and  dar
       archive	are not	compatible. Note also that the sequential reading mode
       let you extract data from  a  partially	written	 archive  (those  that
       failed  to  complete due	to a lack of disk space	for example) and since
       release 2.6.0 such truncated archive can	be repaired to become a	normal
       archive (the "catalogue"	is rebuilt from	inlined	information).

       Dar is able to save and restore to a cloud storage by mean  of  ftp  or
       sftp  network  protocols.  It  can  also	 leverage  ssh	protocol using
       dar_slave and dar_xform two auxiliary programs provided beside dar.

       Dar format is quite robust against corruption: Only the file where  the
       corruption  took	 place in the archive will not be possible to restore.
       To have the possibility to repair a corrupted archive dar can work with
       par2  seamlessly	 just	specifying   "par2"   on   command-line	  (see
       /etc/darrc).  Last a "relax" reading mode is available which let	dar to
       either ignore some incoherence in archive structure, use	 internal  re-
       dundant	information to overcome	data corruption	or in last resort ask-
       ing the user on what to do when some archive structure  information  is
       missing	(-al option). This relax mode can be used with both sequential
       and direct access read modes. Note that you should rather use  Parchive
       to  protect  your  data	rather	than just relying on the "relax" mode,
       which has to be seen as a the last chance solution.

       dar takes care of POSIX Extended	Attributes (EA in short) that are used
       in particular under Linux to carry File Access Control List  (FACL)  as
       well as security	attributes for SELinux,	and also under MacOS X EA they
       are used	to store file forks. EA	also have room for user	to add any key
       /  value	 pair  to any file, this is known as user EA. These attributes
       are not specific	to any particular filesystem, they exist the same  way
       under ext3/4, HFS+ and any other	filesystem.

       dar  also  takes	 care of Filesystem Specific Attributes	(FSA in	short)
       which are, as you can guess, specific to	one or several	filesystem(s).
       For  example  the Birth date of a file exists for HFS+ and NTFS but not
       for ext2/3/4 filesystem.	The immutable attribute	 exists	 for  ext2/3/4
       but  not	 for  NTFS while the nodump files does not exists for NTFS but
       exists for HFS+,	ext2/3/4 and many other	Unix filesystems.

       Sparse files (files with	holes that system reports using	 several  hun-
       dred  gigabytes while they effectively use a few	kilobytes on disk) are
       also well managed by dar: they are detected,  stored  and  restored  to
       filesystem properly.

       Last, dar is also able to properly save and restore hard-links

WARNING
       This  document  is  to  be considered as	a full reference of dar/libdar
       features. It is however not adapted to discover dar, for	 that  purpose
       some  tutorials are provided in dar documentation. Once you have	appre-
       hended the basic	dar usages you are welcome to read further this	 docu-
       ment to see all other features you may find useful for your needs.

DOCUMENT STRUCTURE
       The rest	of this	document is organized that way:

	      COMMANDS
		   The eight actions you can performs with dar

	      GENERAL OPTIONS
		   A set of options common to all actions

	      SAVING, ISOLATING, MERGING AND REPAIRING SPECIFIC	OPTIONS
		   A  set  of  options	that  are specific to the operation of
		   backup, catalogue isolation and archive merging

	      RESTORATION SPECIFIC OPTIONS
		   A set of options that are specific to the restoration oper-
		   ation

	      TESTING AND DIFFERENCE SPECIFIC OPTIONS
		   A set of options that are  specific	to  the	 operation  of
		   archive testing and archive comparison with a filesystem

	      LISTING OPTIONS
		   A set of options that are specific to archive listing oper-
		   ation

	      EXPLICIT OPTIONAL	ARGUMENTS
		   Some	 system	 do  not  allow	optional arguments to options,
		   this	chapter	explain	how to overcome	this restriction

	      EXIT CODES
		   List	of values dar returns at end of	execution. This	 chap-
		   ter	should be read if you intend to	create scripts relying
		   on dar

	      SIGNALS
		   details the signal  and  their  action  on  a  running  dar
		   process

	      FILES
		   List	configuration files that dar checks for

	      CONDITIONAL SYNTAX
		   Over	command	line, command and options can be passed	to dar
		   thanks to a plain file (known as DCF	file). This plain file
		   can	also  contain a	specific syntax	that will let you pass
		   an option to	dar only  under	 certain  situation/condition.
		   This	chapter	describes this simple syntax and the different
		   available conditions.

	      USER TARGETS
		   User	 can  add  their own conditions	known as user targets.
		   This	chapter	describes what they are	and how	to use them

	      ENVIRONMENT
		   Dar may rely	on environment variables to look for DCF files
		   and DUC files, SFTP private and public key and so on.

COMMANDS AND OPTIONS
       COMMANDS:

       Only eight commands define what action will be  done  by	 dar:  Archive
       creation, archive extraction, archive listing, archive testing, archive
       comparison  with	 filesystem,  catalogue	isolation, archive merging and
       archive repairing. These	commands are described here below.

       Once defined, a large set of options can	be used	to modify the way  the
       command	is  performed. These options are described just	after the com-
       mands chapter.

       Important note: Not all systems actually	support	long options (Solaris,
       FreeBSD,	...). For example --create will	not be available on these sys-
       tems, and you will have to use -c instead. In the  same	way,  not  all
       systems	do  support optional arguments (FreeBSD	without	GNU getopt for
       example), you then need to explicitly give the argument,	for example in
       place of	"-z" you will need to give "-z 9", see "EXPLICIT OPTIONAL  AR-
       GUMENTS"	 paragraph  near  the end of this document for details on that
       point.

       A slice is just a simple	file which name	is composed  of	 a  "basename"
       followed	 by  a dot, then a number, again a dot and the extension (dar)
       to form the filename of that slice. On the command line you will	 never
       have to give the	full file name of a slice, just	the basename. The num-
       ber  between  the dots is the slice number, which starts	from 1 and may
       be arbitrary large (as large as your system can support the correspond-
       ing filename). For example "my_first_archive.42.dar" is the 42th	 slice
       of the archive which basename is	"my_first_archive".

       -c, --create [[<URL>]<path>/]<basename>
			   creates a backup with the name based	on <basename>.
			   All	the  slices  will  be created in the directory
			   <path> if specified,	details	about the <URL>	syntax
			   is explained	 below	at  Remote  repository	syntax
			   paragraph.	Without	 <path>	 nor <URL> the current
			   directory is	used. If the destination filesystem is
			   too small to	contain	all the	slices of the  backup,
			   the	-p option (pausing before starting new slices)
			   might  be  of  interest.  Else,  in	the  case  the
			   filesystem is full, dar will	suspend	the operation,
			   asking  for	the user to make free space, then con-
			   tinue its operation.	To make	free space,  the  only
			   thing  you  cannot  do  is to touch the slice being
			   written. If the filename is "-" *and* no slicing is
			   asked for (no -s option) the	archive	is produced on
			   the standard	output allowing	the user to  send  the
			   resulting  archive  through	a pipe (or into	a tape
			   device directly or using the	dar_split command).

       -x, --extract [[<URL>]<path>/]<basename>
			   extracts files from the given  backup.  Slices  are
			   expected  to	 be in the current directory or	in the
			   directory given by <path> (see also Remote  reposi-
			   tory	syntax below). It is also possible to use sym-
			   bolic  links	 to  gather slices that	are not	in the
			   same	directory. Path	may also point to a  removable
			   device  (floppy,  CD, USB key, etc.), in this case,
			   to be able to mount/unmount the  device,  you  must
			   not launch dar from that directory. In other	words,
			   the current directory must not on the removable me-
			   dia you plan	to unmount (see	tutorial for details).
			   The	basename  may  be set to "-", in direct	access
			   mode	(the default historical	mode), you  will  then
			   need	 dar_slave to work with	dar (see -i and	-o op-
			   tions, as well as dar_slave man page).  However  in
			   sequential  read mode (--sequential-read is used on
			   command-line), dar will read	the archive from stan-
			   dard	input (see also	-i option), this  can  eventu-
			   ally	be used	in combination with dar_split.

       -l, --list [[<URL>]<path>/]<basename>
			   lists  the  contents	 of the	given backup (see also
			   Remote repository syntax below) dar will  only  re-
			   quire  the  last slice of the archive in direct ac-
			   cess	mode. If however sequential mode is used,  dar
			   will	read the overall archive, from the first slice
			   to  the  last one. "-" can be used as basename, the
			   behavior is the same	as with	-x option  (read  just
			   above).

       -t, --test [[<URL>]<path>/]<basename>
			   checks  the backup integrity. Even without compres-
			   sion, dar is	able to	detect at least	one error  per
			   file	 in  the  archive, thanks to a variable	length
			   CRC recorded	per file data, file EA and file	FSA in
			   the catalogue.  Archive  structure  (slice  header,
			   archive header, catalogue) is also protected	by CRC
			   to  be  able	 to detect any kind of archive corrup-
			   tion. Same remark here, "-" may be used as basename
			   (see	-x option above	for details).

       -d, --diff [[<URL>]<path>/]<basename>
			   compares saved files	in the backup  with  those  on
			   the	filesystem. <basename> may also	be "-" (see -x
			   option above	for details). Note that	the target for
			   this	operation is to	be seen	as a step further than
			   archive testing, where in addition to  archive  co-
			   herence, the	archive	contents is verified to	be the
			   same	as what	is found on the	filesystem. But	if new
			   files  are  present	on the filesystem, dar ignores
			   them. If you	want to	 check	for  changes  since  a
			   archive has been made, better use dry-run differen-
			   tial	backup.

       -C, --isolate [[<URL>]<path>/]<basename>
			   isolate a catalogue from its	archive	(that's	to say
			   make	 a  copy  of the internal catalogue to its own
			   archive container). The argument is the basename of
			   the file to create which  will  contain  the	 cata-
			   logue's  copy.  The	-A option is mandatory here to
			   give	the name of the	archive	to copy	the  catalogue
			   from,  this archive is not modified at all. Slicing
			   is available	(-s -S -p -b etc.). If the filename is
			   "-" *and* no	slice is asked (no -s option) the iso-
			   lated catalogue is produced on the standard output,
			   allowing the	user to	 send  the  resulting  archive
			   through a pipe. Note	that there is quite no differ-
			   ence	 in  concept between an	isolated catalogue and
			   an archive. Thus you	can do all  operations	on  an
			   isolated  catalogue,	in particular take it in place
			   of the original backup as reference for a differen-
			   tial	archive, archive testing, archive  comparison.
			   Note	 however  that	for  comparison	(-d option) as
			   data	is not present in the isolated catalogue,  dar
			   relies  on  embedded	CRC rather than	comparing data
			   byte	by byte	 (what is done with a plain  archive),
			   and no comparison can be performed concerning EA or
			   FSA	even if	each of	them have their	own CRC	in the
			   catalogue because different ordering	as provided by
			   the OS of the items composing EA and	FSA  may  lead
			   the CRC to be different while the EA	or FSA are ex-
			   actly  the same, so CRC here	is used	only to	detect
			   archive corruption. Since release 2.4.0 you can use
			   an isolated catalogue to rescue a corrupted	inter-
			   nal	catalogue  of the archive it has been based on
			   (see	-A option).

       -+, --merge [[<URL>]<path>/]<basename>
			   create a subset archive from	one  or	 two  existing
			   archives  (the  resulting archive name is the argu-
			   ment	to this	command). The dar file selection mech-
			   anism (see GENERAL OPTIONS)	let  the  user	decide
			   which  files	 will  be  present  in	the  resulting
			   archive and which one will be ignored. This	option
			   thus	 let  the  user	merge two archives in a	single
			   one (with a filtering mechanism  that  accepts  all
			   files),  as well as this option let the user	create
			   a smaller archive which data	is taken from  one  or
			   two archives	of reference. Note that	at no time the
			   contents  of	the archives of	reference is extracted
			   to real files and directories: this is  an  archive
			   to  archive transfer, thus you may lack support for
			   Extended Attribute while you	will be	able to	 fully
			   manipulate  files  with  their  Extended Attributes
			   from	one archive to the resulting one. If the base-
			   name	is "-" *and* no	slice is asked (no -s option),
			   the archive is produced on standard output allowing
			   the user to send the	resulting  archive  through  a
			   pipe.  The  first mandatory archive of reference is
			   provided thanks to the -A option, while the	second
			   "auxiliary"	(and optional) archive of reference is
			   provided thanks to the -@ option. When a  tie  con-
			   tention  occurs  (same file names from both archive
			   have	to be merged), the overwriting policy (-/  op-
			   tion)  is used to define the	one to keep in the re-
			   sulting archive. By default,	archive	data  selected
			   for	merging	 is  uncompressed,  and	re-compressed.
			   Thus	the merging operation can be  used  to	change
			   compression	algorithm  of given archive as well as
			   change its encryption. But, for better  performance
			   it  is  also	possible thanks	to the -ak option (see
			   below the -ak option	 for  usage  restrictions)  to
			   merge files keeping them compressed,	thus no	decom-
			   pression/re-compression  is performed at all, which
			   make	the operation faster. Last it is not  possible
			   to merge two	isolated catalogues.

       -y, --add-missing-catalogue [[<URL>]<path>/]<basename>
			   create  a  "repaired"  archive based	on the archive
			   given with -A option. The repairing	only  concerns
			   the	case where an archive has been interrupted and
			   dar could not  cleanly  end	the  archive  creation
			   process  (lack  of disk space, power	outage,	and so
			   on).	This operation consists	in  reading  the  tape
			   marks in sequential reading mode to gather the con-
			   tent	of the archive and once	its end	is reached, to
			   recreate  the  missing  table of content (aka cata-
			   logue) located at the end of	the archive. Note that
			   the damaged archive is not modified but a  repaired
			   copy	is built beside	it. Why	not just appending the
			   catalogue to	the archive? Because first it was sim-
			   pler	to implement allowing to reuse routines	of the
			   merging  operation, second by precaution for	dar to
			   not mess an existing	archive	due to a bug and last,
			   it would not	be compatible with archive signing and
			   gpg encryption under	 certain  conditions  (several
			   recipients or the archive is	signed and you are not
			   the one who signed it).

	      During  the repairing operation, the repaired archive may	have a
	      different	slicing	(-s and	-S options),  a	 different  encryption
	      (-K  and	associated options, including gpg encryption and sign-
	      ing), a different	repository slices  permissions	and  ownership
	      (--slice-mode  option), user comment (--user-comment), generated
	      hash (--hash) and	min digits in slice number (--min-digits), but
	      compression cannot be changed and	tape marks cannot  be  removed
	      (you can do it once repair has completed using the merging oper-
	      ation).  Last,  file filtering is	not allowed during archive re-
	      pairing.

       -h, --help	   displays help usage.

       -V, --version	   displays version information.

       Remote repository syntax	for [<URL>]<path>

	      for all commands described above as well	as  some  options  de-
	      tailed  below  (-A and -@	options), the <path> optional argument
	      can be a Unix path like /var/tmp when the	archive	is located  on
	      the  host	 dar runs on. But it can also make use of <URL>	to de-
	      fine the remote host the archive is to be	read  or  written  to.
	      "<URL><path>" follows the	usual syntax:

		     proto://[login[:password]@]hostname[:port]/path

	      proto
		 is either ftp or sftp

	      login
		 is  optional,	if  not	provided it defaults to	anonymous.  If
		 the login string comports an @	it need	to be escaped by \\ (a
		 pair of backshashes) to avoid libdar considering it the host-
		 name starting part. Example: login  is	 me@here.com  host  is
		 www.example.org     gives:	sftp://me\\@here.com@www.exam-
		 ple.org/some/file. You	may also need to escape	the  same  way
		 any other special characters like for example colon (:) slash
		 (/) if	they are part of the login string.

	      password
		 if  login  is	provided, the associated password may be given
		 after a colon (:) but this exposes  the  secret  password  to
		 other	users of the current system having access the table of
		 process (using	top, ps, /proc or other	ways). If the login is
		 given without password, the password will be  asked  interac-
		 tively	 by dar	at run time, which is much more	secure.	Alter-
		 natives are either to rely on ~/.netrc	for FTP	and also  SFTP
		 (!)  transfers	 for that you need to use the --alter=file-au-
		 thentication option (see below), or for SFTP only  on	public
		 key authentication (you can also use --alter=file-authentica-
		 tion  in  that	 case to avoid a password being	asked interac-
		 tively). Note that passphrase support for  sftp  key  is  not
		 (yet) supported.

	      hostname
		 is the	name or	IP address of the host to connect to. For sftp
		 the	server's   public   key	  is   checked	 against   the
		 ~/.ssh/known_hosts file (or the file pointed to by then envi-
		 ronment variable DAR_SFTP_KNOWNHOST_FILE,  see	 more  details
		 about that variable at	the bottom of this man page), the host
		 must  be  known  and the public key received from the network
		 must match the	one in that file, else dar aborts. If thus you
		 want to operate with a	new sftp server, first use ssh of sftp
		 commands to do	the usual fingerprint verifications which  up-
		 dates	the  known_hosts file accordingly, then	run dar/libdar
		 toward	this sftp server.

	      port
		 if not	provided, dar will use the  default/standard  port  in
		 regard	to the protocol	specified in the "proto" field

	      path
		 a unix	path where resides the archive to read from the	remote
		 repository  or	 where	to write the archive to	in that	remote
		 repository. The given path is absolute, in regard to the  re-
		 mote  root  filesystem	available for the given	account	though
		 the requested protocol. See also --network-retry-delay	option
		 below.

       GENERAL OPTIONS:

       -v, --verbose	   For backward	compatibility, this  is	 an  alias  to
			   "-vt	-vm" (both options set).

       -vs, --verbose=skipped
			   Display files skipped because of file filtering ex-
			   clusion specified by	the user

       -vt, --verbose=treated
			   Display treated files because of file filtering in-
			   clusion  specified by the user or no	file filtering
			   specified at	all. For each file a message  is  dis-
			   played *before* the file is treated.	This option is
			   not	available for archive isolation	and is useless
			   for archive listing as it is	always set, unless  -q
			   is used.

       -vd, --verbose=dir  Display  the	 directory under process. The messages
			   shows *before* entering a directory.	You can	have a
			   less	verbose	output than -vt	while are  still  able
			   to  follow  what's  dar is doing. Note that -vt and
			   -vd are mutually exclusive.

       -vm, --verbose=messages
			   Display detailed messages about what	 dar  is  cur-
			   rently  performing  but  not	 related  to currently
			   treated or skipped files and	directories

       -vf, --verbose=finished
			   Issues a summary  *after*  each  treated  directory
			   containing the amount of data backed	up in that di-
			   rectory  as	well as	the average compression	ratio.
			   This	option is only available for archive creation.

       -va, --verbose=all  is equivalent to -vm	-vs -vt, see also  -Q  and  -q
			   options  below.  Note: When using dar from a	script
			   better use dar's exit status	to know	which way  the
			   operation  has ended	(seen EXIT CODES at the	end of
			   this	document).

       -vmasks,	--verbose=masks
			   Display raw information about the masks set by  dar
			   and passed to libdar

       -avc, --alter=verbose-libcurl
			   activate verbose output from	libcurl	(remote	repos-
			   itories context). This is to	be considered as a de-
			   bug option relative to remote connection problems.

       -q, --quiet	   Suppress the	final statistics report. If no verbose
			   output is asked beside this option, nothing is dis-
			   played  if  the  operation succeeds.	When using dar
			   from	a script better	use dar's exit status to  know
			   which  way the operation has	ended (seen EXIT CODES
			   at the end of this document)

       -b, --beep	   makes the terminal ring when	 user  action  is  re-
			   quired  (like  for  example	the  creation of a new
			   slice using the -p option)

       -B, --batch <filename>
			   In the file which name is given in argument to this
			   option, You can put any option or argument as  used
			   on  command	line,  that  will be parsed as if they
			   were	in place of the	"-B <filename>"	 option.  This
			   way	you can	overcome the command line size limita-
			   tion. Commands in the file may be disposed on  sev-
			   eral	 lines,	 and -B	option can also	be used	inside
			   files, leading a file to include other  files.  But
			   an  error  occurs  in case of loop (a file that in-
			   cludes itself directly or not) and DAR aborts imme-
			   diately. Comments are allowed, and must start by  a
			   hash	 `#'  character	 on each line. Note that for a
			   line	to be considered as a comment the hash charac-
			   ter must be the first character of the line	(space
			   or tab can still precede the	hash). See Conditional
			   Syntax  below  for  a richer	syntax in this type of
			   configuration files known as	DCF file (Dar Configu-
			   ration File). See  also  the	 environment  variable
			   DAR_DCF_PATH	 in the	ENVIRONMENT section at the end
			   of this document.

			   Note	that you can use quotes	simple ('arg')	double
			   ("arg")  and	 back-quotes (`arg`) inside such file,
			   but they need to be balanced	(have an ending	 one).
			   To  use  such  character  without  the meaning of a
			   quote, for example as an apostrophe,	 you  need  to
			   escape  it  using  a	 back-slack ("That\'s an exam-
			   ple"). Of course to add a single  back-slash	 as  a
			   normal  character in	the file you will have to dou-
			   ble it ("c:\\windows" for example)

       -N, --noconf	   Do not try to read neither ~/.darrc nor  /etc/darrc
			   configuration files.	See files section below.

       -Q		   Do  not  display  an	initial	warning	on stderr when
			   not launched	from a terminal	(when launched from  a
			   cronjob for example). This means that all questions
			   to the user will be answered	by 'no', which most of
			   the	time  will abort the program. Please note that
			   this	option cannot be used in a configuration  file
			   (-B	option).  Since	version	2.2.2, giving this op-
			   tion	also forces the	non-interactive	mode, even  if
			   dar is launched from	a terminal. This makes it pos-
			   sible  for  dar  to run in the background. When you
			   do, it's recommended	to also	redirect stdout	and/or
			   stderr to files: dar	-Q ... &> /dev/null &

       -n, --no-overwrite  do not allow	overwriting

			   If an overwriting policy is specified (see  -/  op-
			   tion)  -n  option do	only apply to slices overwrit-
			   ing,	the overwriting	of files during	restoration or
			   merging is handled by the overwriting policy. With-
			   out overwriting  policy,  -n	 applies  to  restored
			   files as well as generated slices.

       -w, --no-warn	   Do  not  warn before	overwriting (applied for slice
			   overwriting and for overwriting  decision  make  by
			   the	overwriting policy). By	default	overwriting is
			   allowed but a warning is issued before  proceeding.
			   This	 option	 may receive 'a' as argument (see just
			   below):

       -wa, --no-warn=all  This	implies	the -w option,	and  means  that  over
			   avoiding  warning  for  file	 overwriting, DAR also
			   avoids signaling a file about to  be	 removed  when
			   its	type is	not the	expected one. File are removed
			   when	they have been recorded	as deleted  since  the
			   archive of reference. At restoration	of the differ-
			   ential archive, if a	file of	the given name exists,
			   it  is  remove,  but	if the type does not match the
			   file	that was present at the	time of	the archive of
			   reference (directory,  plain	 file,	fifo,  socket,
			   char	 or block device, etc.), a warning is normally
			   issued to prevent the accidental  removal  of  data
			   that	was not	saved in the backup of reference. (See
			   also	-k option)

       -A, --ref [[<URL>]<path>]/<basename>
			   Depending  on the context, it specifies the archive
			   to use as reference,	which is mandatory for archive
			   isolation (-C option) and merging operation (-+ op-
			   tion). Else it specifies the	 rescue	 catalogue  to
			   use	when  restoring	(-x command), testing (-t com-
			   mand) or comparing (-d  command)  an	 archive.  All
			   slices  of  the reference backup are	expected to be
			   on the same directory given by <path> or  the  cur-
			   rent	 directory  by	default. Usually only the last
			   slice is required to	extract	the catalogue of  ref-
			   erence.  If	necessary the use of symbolic links is
			   also	possible here to gather	slices that do not re-
			   side	in the same  directory.	 You  can  also	 point
			   <path>  to a	USB key, DVD-R(W) or any other mounted
			   directory, because dar will pause and ask the  user
			   for	required  slices  if they are not present. The
			   argument to -A may be of four types:

				  - An existing	archive	basename, which	will
				  be taken as reference

				  - a dash ("-") in direct access mode (de-
				  fault	mode, when --sequential-read is	not
				  used)	it may imply the use of	-o and -i op-
				  tions, this allows the archive of reference
				  to be	read from a pair of pipes with
				  dar_slave at the other ends. Dar_slave can
				  be run through ssh on	a remote host for ex-
				  ample. Note that this	type of	argument ("-")
				  is only available when -A is used for	isola-
				  tion (-C option) and merging (-+ options).
				  In sequential	mode (--sequential-read	is
				  used), the archive of	reference is read from
				  standard input or from the named pipe	speci-
				  fied by -i option. -o	option has no use in
				  sequential mode. Note	that merging operation
				  (-+ option) cannot read archive of reference
				  in sequential	mode.

				  - a plus sign	("+") which makes the refer-
				  ence be the current directory	status.	This
				  argument is only available for archive cre-
				  ation	(-c option). In	other word, no file's
				  data will be saved, just the current status
				  of the inodes	will be	recorded in the	cata-
				  logue. This feature is known as the "snap-
				  shot"	backup.	A snapshot backup can be used
				  as reference later on	to detect or save only
				  the files that have changed since the	snap-
				  shot was made.

				  - a <date>, if -af option has	been placed
				  before -A on the command-line	or in a	in-
				  cluded file (see -B option). For more	about
				  that feature see -af option below. This form
				  is only available for	archive	creation (-c
				  option).

			   During backup operation (-c option) the archive  of
			   reference,  given  thanks to	the -A option, is used
			   for comparison with existing	files on the  filesys-
			   tem.	 Dar  will  then  backup  only files that have
			   changed since the archive of	reference was done. If
			   no -A option	is given, the backup  operation	 is  a
			   full	 backup. With -A option	if the archive of ref-
			   erence is a full backup some	call it	a differential
			   backup, while if the	archive	of reference  is  dif-
			   ferential  backup, some call	this type of backup an
			   incremental backup. For dar there is	no  difference
			   in  structure  between incremental and differential
			   backup, both	are usually designed globally as "dif-
			   ferential" backup in	the documentation.

			   During merging operation (-+	option), the  contents
			   of  the -A given archive will been taken eventually
			   with	the contents of	the -@	auxiliary  archive  if
			   specified  (see  below), to form a new archive from
			   files of this or these archives. Note that you  can
			   filter  out files from the operation	and setup sub-
			   set of the original archive(s).

			   During Catalogue isolation (-C  option),  dar  will
			   create  the	isolated  catalogue from the one given
			   with	-A option.

			   During testing, diff	or extraction, (-t, -d	or  -x
			   options  respectively),  the	table of contents (the
			   catalogue) will be read from	the archive given with
			   -A instead of using the internal catalogue  of  the
			   archive. The	archive	given for rescue must has been
			   previously  isolated	 from  this same archive (else
			   the contents	will not match and dar will refuse  to
			   proceed  to	this operation). This acts as a	backup
			   solution  to	 the  case  of	corruption  inside  an
			   archive's catalogue,	while the best way is still to
			   use Parchive	to protect your	data against media er-
			   ror.

       -af, --alter=fixed-date
			   Modify  the -A option behavior, making it receiving
			   a   <date>	as   argument	in   place   of	   the
			   [<path>]/<basename> default argument. The <date> is
			   used	to define which	file to	save: file which modi-
			   fication  is	newer or equal to <date>, and which to
			   consider unchanged: those older than	 <date>.  This
			   option  has only a meaning when creating an archive
			   (-c option) and must	be placed before -A option  to
			   have	an effect.

			   <date> must be a date in the	two following possible
			   formats:
				  - a number of	second since Jan 1st, 1970
				  -    a    date   in	the   following	  form
				  [[[year/]month/]day-]hour:minute[:second]

			   Here	are some examples of date:
				  91836383927108078
				  1 2005/11/19-19:38:48	Which is 38 past 7  PM
				  and 48 seconds, the 19th of November 2005
				  20:20	Which is 8 PM of the current day
				  2-00:08 Which	is 8 past noon,	the second day
				  of the current month
				  2/2-14:59  Which  is	1  to 3	PM, the	2nd of
				  February in the current year

			   Note	that the provided date is relative to the sys-
			   tem timezone	which is overridden if the TZ environ-
			   ment	variable is set	(see tzselect(1) for more  de-
			   tails)

       -@, --aux [[<URL>]<path>]/<basename>, --on-fly-isolate [<path>]/<base-
       name>
			   specifies  an auxiliary archive of reference	(merg-
			   ing context)	or the name  of	 the  on-fly  isolated
			   catalogue  (creation	 context). This	option is thus
			   only	available with -+ option (merging) and -c  op-
			   tion	 (archive creation). Note that --aux and --on-
			   fly-isolate are really aliases to the same  option,
			   this	 is  the  context  of use (archive creation or
			   merging) which lead it to behave a way or another.

			   In a	merging	 context,  over	 -A  option  which  is
			   mandatory,  you may give a second archive of	refer-
			   ence	thanks to the -@ option. This  allows  you  to
			   merge  two  archives	into a single one. See also -$
			   option (encryption) -~ option  (command  execution)
			   and	-%  (crypto block size)	for other options con-
			   cerning auxiliary archive of	 reference.  They  are
			   the	respective equivalent of -J, -F	and -* options
			   relative to archive given thanks to -A option.

			   In a	backup context -@ option let the user  specify
			   the	archive	name for an on-fly isolation. With on-
			   fly isolation, you can also use -$ option  (to  de-
			   fine	 encryption  algorithm and passphrase),	-~ op-
			   tion	(to execute a command once the on-fly isolated
			   catalogue is	completed) and -% option (crypto block
			   size). On-fly isolated catalogue is always bzip2 if
			   possible else gzip else lzo compressed (using  com-
			   pression  level  9)	else not compressed, and it is
			   also	always a single	sliced archive.	 Due  to  com-
			   mand-line  exiguity,	 it  is	not possible to	change
			   compression algo nor	slice size for the on-fly iso-
			   lation. If you need a more  complicated  isolation,
			   either  look	 for a GUI over	libdar,	or do a	normal
			   (= not an on-fly) isolation operation (By  the  way
			   it is possible to isolate an	already	isolated cata-
			   logue,  this	is equivalent to doing a copy, but you
			   can change encryption, compression or slicing,  for
			   example), you can also use dar_xform	on an isolated
			   catalogue  if  you  only want to change slices size
			   (this is faster as no  decompression/re-compression
			   nor	encryption/decryption is necessary). Using the
			   merging operation on	an isolated catalogue  instead
			   of  isolating the isolated catalogue, leads the re-
			   sulting archive to not be able to be	used as	a res-
			   cue for internal catalogue of the original archive.
			   --aux-ref is	a synonym to --aux.

       -R, --fs-root <path>
			   The path points to the  directory  tree  containing
			   all	the  files that	will be	enrolled in the	opera-
			   tion	(backup, restoration or	 comparison).  By  de-
			   fault  the  current	directory  is  used. All other
			   paths used in -P or -g options on the command  line
			   are	and  must be relative to this path (or to cur-
			   rent	directory if -R	is not present). Note that  -R
			   is  useless	for  testing (-t option) isolation (-C
			   option) and merging (-+ option)

       -X, --exclude <mask>
			   The mask is a string	with wildcards (like *	and  ?
			   see	glob(7)	for details) which is applied to file-
			   names which are not directories. If	a  given  file
			   matches  the	 mask,	it is excluded from the	opera-
			   tion. By default (no	-X on the  command  line),  no
			   file	 is  excluded  from  the  operation. -X	may be
			   present several times on the	command	line, in  that
			   case	 a  file  will not be considered for the given
			   operation if	it matches at least one	-X  mask.  See
			   also	-ar and	-am options.

       -I, --include <mask>
			   The	mask is	applied	to filenames which are not di-
			   rectories (see  glob(7)  for	 details  on  wildcard
			   characters).	 If  a given file matches the mask and
			   does	not match any mask given with -X, the file  is
			   selected  for  the operation. By default (no	-I and
			   no -X on the	command	line), all files are  included
			   for	the operation. -I may be present several times
			   on the command line,	in that	case  all  files  that
			   match one of	the -I mask will be considered for the
			   given  operation,  if they do not also match	one of
			   the -X mask.	See also -ar and -am options.

       -P, --prune <path>  Do not consider file	or directory sub-tree given by
			   the path. -P	may be present	several	 time  on  the
			   command  line.  The	difference with	-X is that the
			   mask	is not applied only to the filename, but  also
			   includes  the path. Moreover	it applies also	to di-
			   rectories (-X does not). By default (no -P  on  the
			   command-line), no sub-tree or file is excluded from
			   the operation, and the whole	directory tree (as in-
			   dicated  by	-R  option)  is	 considered. Note that
			   <path> may contains	wildcards  like	 *  or	?  see
			   glob(7)  or	regex(7) man page for more information
			   as well as -ar option to use	regex instread of glob
			   expressions.

       -g, --go-into <path>
			   Files or directory to only take in account, as  op-
			   posed  to  -P.  -g may be used several time on com-
			   mand-line. Same thing here, the difference with  -I
			   is  that  the  mask is applied to the path+filename
			   and also concerns directories. By default all files
			   under the -R	directory are considered. Else,	if one
			   or more -g option is	given, just those are selected
			   (if they do not match any  -P  option).  All	 paths
			   given  this	way  must be relative to the -R	direc-
			   tory, which defaults	to current  directory.	 Warn-
			   ing,	 -g  option  cannot  receive  wildcards, these
			   would not be	interpreted.

       -[, --include-from-file <listing_file>
			   Files listed	in the listing file are	 included  for
			   the	operation.  No	wildcard  expression is	inter-
			   preted in the listing file, the null	 character  is
			   not allowed and the carriage	return is used to sep-
			   arate file names (one file name per line) each line
			   must	 not exceed 20479 bytes. Note that this	option
			   applies to any files	and directory  exactly	as  -g
			   does,  with an important difference however:	-g op-
			   tion	only uses relative paths to the	root directory
			   (the	directory given	with the -R option), while  -[
			   can	use  absolute path as well but only for	opera-
			   tions that have a fs_root  argument	(archive  cre-
			   ation,  comparison,	extraction, and	so on, but not
			   for archive listing,	testing	and merging).  Another
			   difference  is  when	the argument is	a directory -g
			   will	include	all the	subdirectories under that  di-
			   rectory,  while  when  the same entry is found in a
			   listing file	given to -[ option, only  that	direc-
			   tory	 will  be included, no subdirectory or subfile
			   would be enrolled in	the backup. With -[  you  need
			   to  list  the exact set of file you want to backup.
			   You can thus	generate a listing file	with the 'find
			   / -print > somefile'	command	and give 'somefile' as
			   argument to -[ option. Note that however, dar  will
			   never save files out	of the -R given	root directory
			   tree,  even	if  some  are listed in	the 'somefile'
			   file.

       -], --exclude-from-file <listing_file>
			   Files listed	in the listing file are	excluded  from
			   the	operation.  If	a  directory  is listed	in the
			   file, all its contents is excluded. This option  is
			   the	opposite of -[ and acts	the same was as	-P op-
			   tion	does (in particular  it	 is  compared  to  the
			   whole path+filename and applies to files and	direc-
			   tories). As for -[ option, -] listing file can con-
			   tain	 absolute  paths,  but	wildcards  are not ex-
			   panded, neither.

       File selection in brief:

       As seen above, -I -X -P,	-g, -[ and -] options are used to  select  the
       files  to  operate  on. -I and -X only use the name of files and	do not
       apply to	directories, while -P, -g -[ and -] use	the filename *and* the
       path, they *do* apply to	directories.

       since version 2.2.0 two modes of	interpretation of these	options	exist.
       The normal original method and the ordered method:

	      the normal method	is the default and is the one that has been
	      presented	above:
		   A directory is elected for operation	if no -P or -]	option
		   excludes  it.  If  at least one -g or -[ option is given on
		   command line, one -g	or -[ option must cover	it, else it is
		   not elected for operation. If a directory is	not  selected,
		   no  recursion  is done in it	(the directory is pruned). For
		   non directories files, the same is true (P, -g, -[  and  -]
		   do  apply)  and a second test must also be satisfied: no -X
		   option must exclude the filename, and if at	least  one  -I
		   option  is  given, one must match the given filename	(using
		   or not wildcards).

	      the ordered method (when -am option is given on command-line):
		   The ordered method takes care of the	order of presence  be-
		   tween -X and	-I in one hand and of -P, -g, -[ and -]	in the
		   other  hand (note that it has also the same action concern-
		   ing EA selection when using -u and -U options,  but	that's
		   no more file	selection). In the ordered method the last ar-
		   gument  take	 precedence  over all the previous ones, let's
		   take	an example:

		   -X "*.mp?" -I "*.mp3" -I "toto*"
			Here dar will include all files	except	file  of  name
			"*.mp?"	 (those	ending with "mpX" where	X is any char-
			acter),	but it will however include those ending  with
			".mp3".	It will	also include files which name begin by
			"toto"	whatever  they	end with. This way, "toto.mp2"
			will be	saved (while it	matches	"*.mp?"	it also	begins
			by "toto") as well as "toto.txt" as well as  "joe.mp3"
			(while	it matches "*.mp?" it also ends	by "mp3"). But
			will not be saved "joe.mp2" (because it	does not begin
			by "toto", nor ends by "mp3", and match	"*.mp?"	mask).
			As we see the last option (-I  or  -X)	overcomes  the
			previous  one. -P, -g, -[ and -] act together the same
			but as seen above they do not only  act	 on  filename,
			but on the whole path+filename.	Note that (-g, -P, -[,
			-])  and  (-X  ,  -I) are independent concerning their
			relative order.	You can	mix -X -I -g -P	-] -[  in  any
			order,	what  will  be important is the	relative posi-
			tions of -X options compared to	-I  options,  and  the
			relative  positions of -g -[ -]	and -P options between
			them.

	      In logical terms,	if <prev_mask> is the mask  generated  by  all
	      previous	mask  on the command line, -I <mask> generates the new
	      following	mask: <prev_mask> or <mask> . While -X	<mask>	gener-
	      ates the new following mask: <prev_mask> and not <mask>. This is
	      recursive	 each  time you	add a -I or -X option. Things work the
	      same with	-P, -g,	-[ and -] options.
       This ends the file selection explication	let's continue with other  op-
       tions.

       -u, --exclude-ea	<mask>
			   Do  not  consider the Extended Attributes (EA) that
			   are matched by the given mask. By  default,	no  EA
			   are	excluded, if the support for EA	has been acti-
			   vated at compilation	time. This option can be  used
			   multiple times.

       -U, --include-ea	<mask>
			   Do  only consider the EA that match the given mask.
			   By default, all EA are included if no -u or -U  op-
			   tion	 is present and	if the support for EA has been
			   activated at	compilation time. This option  can  be
			   used	 multiple  times. See also the -am and -ae op-
			   tions, they also apply to -U	 and  -u  options  and
			   read	below the Note concerning EA.

       Note concerning Extended	Attributes (EA)

	      Support  for  EA must be activated at compilation	time (the con-
	      figure script tries to do	so if your system has all the required
	      support for that). Thus you can get two binaries of dar (of  the
	      same version), one supporting EA and another which does not (dar
	      -V  to  see  whether EA support is activated). The archives they
	      produce are the same and can be read by  each  other.  The  only
	      difference  is that the binary without EA	support	is not able to
	      save or restore EAs, but is still	able to	 test  them  and  list
	      their presence.

	      In  the  following  when	we will	speak about Extended Attribute
	      (EA) or EA entry,	we will	only consider  a  particular  Extended
	      Attribute	 key  and  its value. By opposition, the set of	all EA
	      associated to a file will	be designated by "EA set".

	      Since version 2.3.x the name of EA entries include the namespace
	      for dar be able to consider any type of EA  (not	only  "system"
	      and  "user" as previously). Thus the two previous	options	-u and
	      -U have changed and now take an argument which is	a mask applied
	      to EA entry names	written	in the following  form	namespace.name
	      where  "namespace" is for	example	"user".	Note that the mask may
	      or may not include the dot (.) and may match arbitrary  part  of
	      the EA namespace+name, just remind that masks will be applied to
	      the "namespace.name" global string.

	      the -am flag here	also enables the ordered method, for EA	selec-
	      tion  too.  The ordered versus normal method have	been explained
	      above in the file	selection note,	with some  examples  using  -X
	      and  -I.	Here this is the same with -U and -u, (just replace -X
	      by -u and	-I by -U, the corresponding mask  will	apply  to  Ex-
	      tended Attribute selection in place of file selection).

	      Another  point,  independently  of the -am option	the -ae	option
	      can be used at restoration time only. If set,  when  a  file  is
	      about  to	 be  overwritten,  all	EA will	be first erased	before
	      restoring	those selected for restoration in the archive (accord-
	      ing to the -U and	-u options given). If not set, the EA  of  the
	      existing	file  will be overwritten, those extra EA that are not
	      in the archive or	are not	selected for restoration in regard  to
	      the  -u  and  -U options will be preserved. If you have not used
	      any -u/-U	option at backup time and want to restore from	a  set
	      of  full/differential  backups  the EA exactly as	they were, you
	      have to use -ae for dar removes the EA before overwriting	 their
	      set  of EA as stored in the archive. Without -ae option dar will
	      simply add EA to existing	ones, thus get a different set	of  EA
	      for a give file than those recorded at the time of the backup.

	      Last  point the -acase and -an options alters the	case sensitiv-
	      ity of the  -U and -u masks that follow  them  on	 the  command-
	      line/included  files as they do for -I, -X, -P, -g, -[ and -] as
	      well. Very last point ;-), if -ac	option is used	during	backup
	      dar  set back the	atime after having read	each file (see -aa/-ac
	      options),	this has as side effect	to modify the  ctime  date  of
	      each file. But ctime change is used by dar to detect EA changes.
	      In  brief,  the  next time you backup a file that	had to be read
	      (thus which contents changed), its EA will be saved even if they
	      had not changed. To avoid	this side effect, don't	 use  the  -ac
	      option if	not necessary.
       This  ends  the Extended	Attribute selection explication	let's continue
       with other options.

       -4 --fsa-scope <family>[,<family>[, ...]
			   Reduce the scope of Filesystem  Specific  Attribute
			   (FSA)  to  be considered for	the operation. FSA are
			   grouped by family. Current available	families are:

			   extX	this family takes care of Linux	ext2/3/4  flag
				attributes   set  by  chattr(1)	 and  read  by
				lsattr(1). Dar only considers flags  that  are
				possible  to  set or clear by users (or	privi-
				leged user): append-only, compressed,  no_dump
				(Yes,  dar  can	 save  files having the	nodump
				flag set and restore then afterward with  that
				flag  set!),  immutable,  data-journaling, se-
				cure-deletion,	no-tail-merging,  undeletable,
				noatime-update,	  synchronous-directory,  syn-
				chronous-update,   top-of-directory-hierarchy.
				Note  that  "extx"  and	 "ext" are aliases for
				this FSA family. In spite of  its  name,  this
				family	 of   attributes  is  not  limited  to
				ext2/3/4 filesystems.

			    HFS+
				this family takes care of Mac OS X HFS+	 birth
				date  of  files, in addition of	commonly found
				dates like atime  (last	 access	 time),	 ctime
				(last  meta  data change) and mtime (last data
				change).

			   none	"none" is not a	FSA family  but	 can  be  used
				alone to ignore	all FSA	families.

			   By  default	no  restriction	is done	and FSA	of all
			   families are	considered at restoration time,	but if
			   a family has	not been activated at compilation time
			   a warning is	issued for each	file that cannot  have
			   its	FSA restored completely	(unless	this family is
			   excluded from the scope thanks to the  -4  option).
			   At backup time, if an FSA family has	not been acti-
			   vated at compilation	time, no warning is issued and
			   FSA	of  that  family  are ignored. Still at	backup
			   time, you can also ignore FSA that have compilation
			   time	support	by excluding them from	the  operation
			   thanks to this -4 option.

			   Example of use: --fsa-scope extX,HFS+

       -am, --alter=mask   set the ordered mode	for mask. This affects the way
			   -I  and  -X options are interpreted,	as well	as -g,
			   -P, -[ and -] options, -Z and -Y options and	-U and
			   -u options. It can take any place on	 the  command-
			   line	 and can be placed only	once. See the file se-
			   lection in brief paragraph above for	a detailed ex-
			   planation of	this option. It	has also an  incidence
			   on  the --backup-hook-exclude and --backup-hook-in-
			   clude options.

       -an, --alter=no-case
			   set the filters in case insensitive mode. This con-
			   cerns only masks specified after this  option  (see
			   also	 -acase	option below). This changes the	behav-
			   ior of -I, -X, -g, -P, -Z, -Y, -u and -U options.

			   Warning: case insensitivity	requires  interpreting
			   filenames  which  depends  on the locale with which
			   dar is run (defined by the LANG  environment	 vari-
			   able).  For	example	 if you	create files with LANG
			   set to fr_FR.UTF-8 and use non plain	ASCII  charac-
			   ters	 in  filename, there is	chances	that these non
			   ASCII characters will be stored over	several	 bytes
			   in  that  filename: so called "wide characters". If
			   then	you run	dar with LANG  set  to	another	 value
			   like	 ru_RU.koi8r, there is much chances that these
			   wide	characters do not correspond to	the same  let-
			   ter or worse, that they do not match	any valid wide
			   character  for  that	locale.	A filename is always a
			   sequence of bytes and always	saved as such, but us-
			   ing --alter=no-case implies interpreting  that  se-
			   quence  in  a  way that depends on the given	locale
			   (as defined by the LANG environment	variable).  As
			   such,  dar  cannot  know  if	a given	file has to be
			   read	with fr_FR.UTF-8 locale	or with	it_IT.iso88591
			   or ru_RU.koi8r and so on, because this  information
			   is not stored in filenames. In consequence, if dif-
			   ferent  locales are used on your system and you are
			   doing a system wide backup,	using  --alter=no-case
			   option  may lead dar	to detect invalid wide charac-
			   ter,	in that	case it	falls back to a	byte  by  byte
			   case	 sensitivity  comparison  (ASCII  characters),
			   which may not be what you  would  expect  at	 first
			   sight: Most of the time, an upper case wide charac-
			   ter	(stored	 on  several bytes) does not match the
			   equivalent lower case wide character	(several bytes
			   too), when case sensitivity comparison is performed
			   byte	by byte.

       -acase, --alter=case
			   set back to case sensitive mode  for	 filters.  All
			   following  masks  are  case sensitive, up to	end of
			   parsing or up to the	next -an option. This  changes
			   the	behavior  of -I, -X, -g, -P, -Z, -Y, -u	and -U
			   options.

       -ar, --alter=regex  set the filters to be interpreted  as  regular  ex-
			   pressions  (man  regex(7)  )	instead	of the default
			   glob	expression (man	glob(7)	)  This	 modifies  the
			   -I, -X, -g, -P, -Z, -Y, -u and -U options that fol-
			   lows	up to an eventual -ag option (see just below).
			   Note	that for -P option, the	given mask matches the
			   relative path part of the files path: Let's take an
			   example,  assuming  you have	provided /usr/local to
			   the -R option, the mask "^foo$" will	 replaced  in-
			   ternally   by  "^/usr/local/foo$"  while  the  mask
			   "foo$" will be replaced  internally	by  "^/usr/lo-
			   cal/.*foo$".

       -ag, --alter=glob   This	option returns to glob expressions mode	(which
			   is  the default) after an -ar option	has been used,
			   this	applies	to any -I, -X, -g, -P, -Z, -Y, -u  and
			   -U  options	that  follow up	to an eventual new -ar
			   option (see just above).

       -i, --input <path>  is available	when reading from  pipe	 (basename  is
			   "-"	for -x,	-l, -t,	-d or for -A when -c, -C or -+
			   is used). When reading from pipe, standard input is
			   used, but with this option, the file	 <path>	 (usu-
			   ally	a named	pipe) is used instead.	This option is
			   to  receive	output	from  dar_slave	 program  (see
			   doc/usage_notes.html	for  examples  of  use).  Note
			   that	 when  --sequential-read  is  used, dar	uses a
			   single pipe and does	no more	rely on	dar_slave,  -i
			   option  can be used to tell dar which named pipe to
			   read	the archive from, instead of the standard  in-
			   put.

       -o, --output <path> is  available  when	reading	from pipe (basename is
			   "-" for -x, -l, -t, -d or for -A when -c, -C	or  -+
			   is  used).  When reading from pipe, standard	output
			   is used to send request to dar_slave, but with this
			   option, the file <path> (usually a named  pipe)  is
			   used	 instead.  When	 standard  output is used, all
			   messages goes to standard error (not	only  interac-
			   tive	 messages). See	doc/usage_notes.html for exam-
			   ples	of use.	This option is not to be used in --se-
			   quential-read mode.

       -O, --comparison-field[=<flag>]
			   When	comparing with the archive  of	reference  (-c
			   -A)	during	a differential backup, when extracting
			   (-x)	or when	comparing (-d) do only considers  cer-
			   tain	fields.	The available flags are:

			   ignore-owner	  all  fields  are  considered	except
					  ownership.
					  This is useful when dar is used by a
					  non-privileged  user.	 It  will  not
					  consider a file has changed just be-
					  cause	 of  a uid or gid mismatch and
					  at restoration dar will not even try
					  to set the file ownership.

			   mtime	  only inode type and  last  modifica-
					  tion	date  is considered as well as
					  inode	specific attributes like  file
					  size	for  plain files. Ownership is
					  ignored, permission is ignored. Dur-
					  ing comparison, difference on	owner-
					  ship or permission is	ignored	and at
					  restoration time dar will not	try to
					  set the inode	permission and	owner-
					  ship.

			   inode-type	  Only	the  inode type	is considered.
					  Ownership, permission	and dates  are
					  ignored.  Inode  specific attributes
					  are still considered (like file size
					  for plain  files).  Thus  comparison
					  will	ignore	differences for	owner-
					  ship,	permission, and	dates  and  at
					  restoration  dar will	not try	to set
					  the ownership, permission and	dates.

			   When	no flag	is provided to this option, -O	option
			   acts	 as  if	the "ignore-owner" flag	was set, which
			   is the behavior in older releases (<	 2.3.0).  Note
			   also	 that  for  backward  compatibility, --ignore-
			   owner option	still exists and since	version	 2.3.0
			   is  just an alias to	the --comparison-field=ignore-
			   owner option. Of course if this option is not used,
			   all fields are used for comparison or restoration.

       -H[num],	--hour[=num]
			   if -H is used, two dates are	 considered  equal  if
			   they	 differ	 from  a  integer number of hours, and
			   that	number is less than or equal to	[num]. If  not
			   specified,  num  defaults  to  1. This is used when
			   making a differential backup, to compare last_modi-
			   fication date of inodes, at restoration or  merging
			   time	 if overwriting	policy is based	on file's data
			   or EA being more recent and last, when comparing an
			   archive with	a filesystem (-d option). This	is  to
			   workaround some filesystems (like Samba filesystem)
			   that	 seems to change the dates of files after hav-
			   ing gone from or  to	 daylight  saving  time	 (win-
			   ter/summer time). Note that -H option has influence
			   on  the  overwriting	policy (see -/ option) only if
			   it is found before on command-line  or  in  an  in-
			   cluded file (using -B option).

       -E, --execute <string>
			   the	string	is  a user command-line	to be launched
			   between slices. For reading an archive (thus	 using
			   -t, -d, -l or -x commands), the given string	is ex-
			   ecuted  before the slice is read or even asked, for
			   writing an archive instead (thus using -c, -C or -+
			   commands), the given	string is  executed  once  the
			   slice  has been completed. Some substitution	macros
			   can be used in the string:

			   %%	     will be replaced by %

			   %p	     will be replaced by the slice path

			   %b	     will be replaced by the slice basename

			   %n	     will be replaced by the slice number  (to
				     be	 read  or  just	written). For reading,
				     dar often needs the last slice, but  ini-
				     tially it does not	know its number. If it
				     cannot be found in	the current directory,
				     the user command-line is then called with
				     %n	 equal	to 0. This is a	convenient way
				     to	inform the user	command	to provide the
				     last slice. If after executing the	string
				     the requested slice is still not present,
				     dar asks the user	(as  usually)  with  a
				     message  on  the  terminal. Once the last
				     slice is found, the user command-line  is
				     called  a	second	time, with %n equal to
				     the value of the last slice number.

			   %N	     is	the slice number with the leading zero
				     as	defined	 by  --min-digits  option.  If
				     this option is not	used, %N is equivalent
				     to	%n.

			   %e	     will  be  replaced	by the slice extension
				     (always substituted by "dar")

			   %c	     will be replaced by the context. Actually
				     three possible values exist: "init", "op-
				     eration" and "last_slice".	 When  reading
				     an	  archive  for	(testing,  extraction,
				     diff,  listing,  or  while	 reading   the
				     archive  of  reference,  see below	the -F
				     option), the "init" context  takes	 place
				     from  the	beginning  up  to the time the
				     catalogue is  retrieved.  On  a  multiple
				     slice archive this	correspond to the last
				     slice  request.  After,  that point comes
				     the "operation" context.  While  creating
				     an	archive, the context is	always "opera-
				     tion" except when the last	slice has been
				     created, in which case the	context	is set
				     to	"last_slice".

			   %u	     will  be replaced by the full URL of path
				     where the slice is	stored

			   Several -E option can be given, given commands will
			   then	be called in the order they appear on the com-
			   mand	line and -B included files. Note  that	having
			   '-E	script1	 -E  script2' is totally equivalent to
			   '-E "script1	; script2"'. In	other words if script1
			   fails, script2 fill still be	executed and dar  will
			   only	 be notified of	the exit status	of the last -E
			   option. Exit	status of previous -E  given  commands
			   will	 be ignored. If	this does not match your need,
			   consider using a single -aduc option	 (see  below).
			   More	 generally  you	can use	any shell construction
			   in the argument to -E,  including  parenthesis,  ||
			   and	&&. Such files given to	-E option are known as
			   DUC files (Dar User Command). See also the environ-
			   ment	variable DAR_DUC_PATH in the ENVIRONMENT  sec-
			   tion	at the end of this document.

       -aduc, --alter=duc  As  described above for -E option, several -E/-F/-~
			   options (aka	DUC commands) are combined  using  the
			   shell  ";"  operator, which ignores the exit	status
			   of the first	commands and only reports to  dar  the
			   exit	 status	 of the	last command, leading all com-
			   mands to always being executed. --aduc option  com-
			   bines  the  different  DUC commands using the shell
			   "&&"	operator, which	execute	the  next  command  if
			   and	only  if  the  previous	 command succeeded. In
			   other words,	dar get	notified of an	error  in  any
			   given  DUC  command but due to an error not all DUC
			   commands may	be executed.

       --aduc modifies the way the next	DUC file is sticked  to	 the  previous
       command,	in other words:

	      dar --aduc -E script1 -E script2 ...
		   leads  libdar  to  call  a  shell  with  the	following line
		   "script1 && script2"

	      dar -E script1 -script2 --aduc -E	script3	...
		   leads libdar	to  call  a  shell  with  the  following  line
		   "script1  ; script2 && script3". In other words if you want
		   to avoid the	";" use	--aduc before any -E/-F/-~ option.

       -F, --ref-execute <string>
			   same	as -E but is applied  between  slices  of  the
			   reference  archive  (-A option). --execute-ref is a
			   synonym.

       -~, --aux-execute <string>
			   same	as -E and -F but is applied between slices  of
			   the auxiliary archive (-@ option).

       -K, --key [[<algo>]:]<string>

       -K, --key gnupg:[<algo>]:keyid/email[,keyid/email[...]]
			   In  the  first  syntax, encrypt/decrypt the archive
			   using the <algo> cipher with	the <string>  as  pass
			   phrase.  An	encrypted  archive can only be read if
			   the same pass phrase	is  given  (symmetric  encryp-
			   tion).  Available  ciphers  are  "blowfish"	(alias
			   "bf"), "aes", "twofish", "serpent"  and  "camellia"
			   for	 strong	 encryption  and  "scrambling"	(alias
			   "scram") for	a very weak encryption.	By default  if
			   no  <algo> or no ':'	is given, the aes256 cipher is
			   assumed (default was	blowfish up to 2.5.x). If your
			   password contains a colon ':' you need  to  specify
			   the	cipher to use (or at least use the initial ':'
			   which is equivalent to 'bf:'). If the  <string>  is
			   empty  the  pass  phrase will be asked at execution
			   time. Thus, the smallest argument that -K  can  re-
			   ceive  is  ':'  which  means	aes256 cipher with the
			   pass	phrase asked at	execution time.

			   Note	that giving the	passphrase as argument	to  -K
			   (or -J or '-$' see below) may let other users learn
			   pass	 phrase	 (thanks to the	ps, or top program for
			   examples). It is thus wise to either	use  an	 empty
			   pass	 which	will make dar ask the pass phrase when
			   needed, or use -K (or -J option) from a Dar Command
			   File	(see -B	option), assuming it has the appropri-
			   ated	permission to avoid other  users  reading  it.
			   For those paranoids that are	really concerned about
			   security of their passwords,	having a password read
			   from	 a  DCF	 is not	that secure, because while the
			   file	gets parsed, dar makes use of "unsecured" mem-
			   ory (memory than can	be swapped to disk under heavy
			   memory  load	 conditions).  It  is  only  when  the
			   passphrase  has  been identified that locked	memory
			   (aka	secure memory) is used	to  store  the	parsed
			   passphrase.	So,  the most secure way to transmit a
			   passphrase  to  dar,	 then  to  libdar,   then   to
			   libgcrypt,  is having dar asking passphrase at exe-
			   cution time,	dar then makes use of secured (locked)
			   memory from the beginning.

			   since archive format	9 (archive  generated  by  re-
			   lease  2.5.0	 and following)	at reading time, it is
			   not necessary to provide the	 encryption  algorithm
			   used,  just	the  passphrase	 is required, dar will
			   figure out which encryption algorithm had been used
			   at archive creation time. You can either omit -K in
			   which case dar will ask for the passphrase at  exe-
			   cution  time,  or  you can use -K <string> in a DCF
			   file	as explained above (avoid using	-K directly on
			   command-line).

			   The second syntax starts with the word "gnupg" fol-
			   lowed by a colon ':'	. In that situation, the  same
			   set or symmetric encryption algorithms as described
			   above   is  available  after	 the  colon,  but  the
			   passphrase is not given by the  user	 but  randomly
			   chosen by libdar and	encrypted using	the public key
			   of  the  target  users  which  email	okkeyid	(since
			   2.7.0) is given in a	 comma	separated  list.  This
			   random  key (see also --key-length below), once en-
			   crypted is placed at	the beginning and at  the  end
			   of  the generated archive. At reading time only the
			   listed user will  be	 able  to  read	 that  archive
			   thanks  to  their respective	private	key. This fea-
			   ture	implies	that each user (the archive creator as
			   well	as the target users) have their	GnuPG  keyring
			   set	properly.  In  particular, the archive creator
			   must	have validated the public keys of  the	target
			   users,  and	the  target  users must	own the	corre-
			   sponding private key	in their keyring. Example: us-
			   ing	   "--key     gnupg::bob@nowhere.org,joe@some-
			   where.com"	will   generate	 an  aes256  encrypted
			   archive which passprhase randomly chosen by	libdar
			   will	  be   encrypted   with	 the  public  keys  of
			   bob@nowhere.org and joe@somewhere.com. To use blow-
			   fish	in  place  of  ars256  one  could  use	"--key
			   gnupg:bf:bob@nowhere.org,joe@somewhere.com".	  Note
			   that	no check is done about the trust you have  set
			   in  GPG  keyring  that  a  particular public	key is
			   owned by the	phyical	person you  expect.  See  also
			   --sign option below.

			   Note	that if	you have set a passphrase on your pri-
			   vate	 key,  dar  will ask it	dynamically, which re-
			   quires dar to be run	from a terminal. No other  way
			   has	been  provided	to  transmit  a	 private key's
			   passphrase to libdar. In consequence	if you want to
			   use dar/libdar in scripts and make  use  of	public
			   key algorithm you should avoid setting a passphrase
			   to  the  private  key  you  want  to	 use. See also
			   GNUPGHOME in	the ENVIRONMENT	section	at the end  of
			   this	document.

			   Obvious  but	 important!  To	read a gnupg encrypted
			   archive, you	need your private key  (not  only  the
			   passphrase  to  activate  it,  if set). Thus	if you
			   plan	to make	backup of your system and encrypt  the
			   backup  using gnupg,	you should have	a copy of this
			   private key available out of	the archive (usb  key,
			   floppy, CD/DVD, ...)	in order to be able to restore
			   your	backup!

       -J, --ref-key [[<algo>]:]<string>
			   same	 meaning/use  as -K option's first syntax, but
			   the given key is used to  decrypt  the  archive  of
			   reference  (given  with  -A option).	--key-ref is a
			   synonym. Note that for archives generated using dar
			   release 2.5.0 and above this	option is no more nec-
			   essary, unless you want to give the	passphrase  on
			   command-line	 (not  recommended)  or	 in  DCF  file
			   (which file would be	 set  with  restricted	access
			   permissions and/or ACL).

       -$, --aux-key [[<algo>]:]<string>
			   same	 as -J but for the auxiliary archive of	refer-
			   ence	(given with -@ option).	Here too, this	option
			   is  no more necessary to read archives generated by
			   dar release 2.5.0 and above.

       -#, --crypto-block <size>
			   to be able to randomly access data in  an  archive,
			   it  is  not	encrypted globally but block by	block.
			   You can define the encryption block size thanks  to
			   this	 argument  which  default to 10240 bytes. Note
			   that	the syntax used	for -s option is  also	avail-
			   able	 here  (k, M, G, etc.).	Note also that crypto-
			   block is stored as a	32  bits  integer  thus	 value
			   larger  than	 4GB  will  cause an error. Note last,
			   that	the block size given  here  must  be  provided
			   when	 reading  this resulting archive, using	the -*
			   option if the archive is the	archive	 of  reference
			   (given  to  -A  option)  using  -%  options	if the
			   archive  is	the  auxiliary	archive	 of  reference
			   (given  to -@ option) or using this -# option if it
			   is the subject of the operation  (listing,  compar-
			   ing,	testing	that archive). If the value is not the
			   default  and	 the given value is not	correct	in re-
			   gard	to the value given at archive  creation	 time,
			   the	archive	will not be possible to	decrypt, it is
			   thus	safer to keep the default value	(and not using
			   at all the -#, -*, -% options).

       -*, --ref-crypto-block <size>
			   same	as --crypto-block but to read the  archive  of
			   reference (-A option). --crypto-block-ref is	a syn-
			   onym.

       -%, --aux-crypto-block <size>
			   same	 as  --crypto-block  but to read the auxiliary
			   archive of reference	(-@ option).

       -e, --dry-run	   Do not perform any action (backup,  restoration  or
			   merging),  displays	all  messages as if it was for
			   real	("dry run" action). The	--empty	 option	 is  a
			   synonym.

       -aSI, --alter=SI[-unit[s]]
			   when	using k	M G T E	Z Y prefixes to	define a size,
			   use	the  SI	 meaning:  multiple of 10^3 (a Mega is
			   1,000,000).

       -abinary, --alter=binary[-unit[s]]
			   when	using k	M G T E	Z Y prefixes to	define a size,
			   use the historical computer science meaning:	multi-
			   ple of 2^10	(a Mega	is 1,048,576).

			   The --alter=SI and --alter=binary  options  can  be
			   used	several	times on the command line. They	affect
			   all	prefixes  which	 follow,  even	those found in
			   files included by the -B option,  up	 to  the  next
			   --alter=binary  or --alter=SI occurrence. Note that
			   if in a file	included by the	-B  option,  an	 --al-
			   ter=binary or --alter=SI is encountered, it affects
			   all	the following prefixes,	even those outside the
			   included files. For example,	when running with  the
			   parameters  "-B some.dcf -s 1K", 1K may be equal to
			   1000	or 1024, depending on --alter=binary or	 --al-
			   ter=SI  being  present in the some.dcf file.	By de-
			   fault  (before  any	--alter=SI/binary  option   is
			   reached),  binary  interpretation  of  prefixes  is
			   done, for compatibility with	older versions.

       -ac, --alter=ctime  When	reading	a filesystem (during a backup or  com-
			   parison),  restores	the atime of all files to what
			   it was before the file was read. This makes it  ap-
			   pear	 as  if	 it had	not been read at all. However,
			   because there is no system call to let applications
			   changing the	ctime (last inode change) of  a	 file,
			   setting  back  the atime results in the ctime being
			   changed (hence the alter=ctime). Some  recent  unix
			   system  allow  an  application to get 'furtive read
			   mode' to the	filesystem (see	below).	On older  sys-
			   tems, however, for most users, having the atimes of
			   the	files  changed	shouldn't  be a	problem, since
			   they	can be changed by any other  program  (running
			   by  any user!) as well (like	the content-index pro-
			   gram	Beagle). Ctimes	on the	other  hand,  are  the
			   only	 way  for security software to detect if files
			   on your system have been  replaced  (by  so	called
			   root-kits  mostly). This means, that	should you run
			   dar with -ac, security software which  uses	ctimes
			   to  check,  will  mark every	file on	your system as
			   compromised after the backup. In short, this	 means
			   this	 option	should only be used by people who know
			   what	they are  doing.  It's	the  opinion  of  this
			   writer  that	 any  software	susceptible  to	 atime
			   changes is flaky or even  broken  (because  of  the
			   afore  mentioned  reasons  why  atimes can change).
			   But,	that doesn't take away that there are programs
			   who rely on atimes remaining	the same, like	Leafn-
			   ode	NNTP  caching  software. Therefore this	option
			   exists.

       -aa, --alter=atime  When	specifying -aa (by  opposition	to  -ac),  the
			   atime  of every read	file and directory is updated,
			   and the ctime remains the same. In other words, Dar
			   itself does nothing with atimes and ctimes, it only
			   let the system do its job  to  update  atimes  when
			   files  are  accessed	for reading. This is in	accor-
			   dance with what atimes and  ctimes  were  meant  to
			   represent.  This  is	 Dar's	default	(since version
			   2.4.0), unless 'furtive read	mode' (see  below)  is
			   supported  by your system and dar has been compiled
			   with	this support activated.

       Furtive read mode is a mode in which neither atime nor ctime are	 modi-
       fied while dar reads each file and directory. This provides also	better
       performances as nothing has to be wrote back to disk. A known Unix ker-
       nel  that  supports this	feature	is Linux 2.6.8 and above (support must
       also be present in the standard C library of the	system for dar	to  be
       able  to	activate this feature at compilation time).  When this feature
       is activated, it	becomes	the default behavior of	dar for	super  user  ;
       for other users the default is -aa. If however as root user, you	do not
       want  to	use "furtive read mode"	(while it has been activated at	compi-
       lation time), you can specify either -aa	or -ac option.

       -at, --alter=tape-marks
			   For archive creation	and merging, the  default  be-
			   havior  (since  release 2.4.0) is to	add escape se-
			   quences (aka	tape marks) followed by	inode informa-
			   tion	all along the archive. If -at  is  given,  dar
			   will	 not  add this information to the archive, re-
			   sulting in a	slightly smaller  archive  and	faster
			   backup. When	reading	an archive, the	default	behav-
			   ior	is to ignore these escape sequences and	rather
			   rely	on the catalogue located at  the  end  of  the
			   archive.  If	 instead --sequential-read is given on
			   command-line	(see below), dar will avoid using  the
			   catalogue  at  the end of the archive and will rely
			   on these escape sequences to	know the  contents  of
			   the	archive, which will lead to a sequential read-
			   ing of the archive, operation suitable for tape me-
			   dia.	Note that it is	not recommended	to disable es-
			   cape	sequences (aka tape marks) by using -at	option
			   except if you are more concerned by	the  resulting
			   size	and execution speed of your backup (in partic-
			   ular	 if you	have a lot of small files) than	by the
			   possibility to recover your data in	case  of  cor-
			   rupted  or  partially written archive.  Without es-
			   cape	 sequences,  dar  cannot  sequential  read  an
			   archive, which is the only way beside using an iso-
			   lated  catalogue  to	use an archive that has	a cor-
			   rupted catalogue or has no catalogue	at all,	 thing
			   that	 happens if a system crash occurred during the
			   archive creation or due to lack of  disk  space  to
			   complete the	archive.

       -0, --sequential-read
			   Change  dar's  behavior when	reading	an archive. By
			   default, the	traditional way	is used, which	relies
			   on  the table of contents (aka "the catalogue") lo-
			   cated at the	end of the archive. With the --sequen-
			   tial-read option instead, dar will rely  on	escape
			   sequences  that  are	inserted all along the archive
			   with	each file's inode information. This will  lead
			   to  a  sequential reading of	the archive, operation
			   suitable for	tape medium. However, this feature  is
			   only	available for archive format starting revision
			   "08"	 (i.e.:	since release 2.4.0) and if -at	option
			   has no been used during archive creation  or	 merg-
			   ing.	 This  option is available for archive testing
			   (-t), comparison (-d),  restoration	(-x),  listing
			   (-l)	 and  to read the archive of reference (-A op-
			   tion) for isolation (-C) and	archive	creation (-c).
			   The sequential reading of an	archive	is always much
			   slower than the usual reading method, so you	should
			   not use this	option unless you really need it.

       -9, --min-digits	<num>[,<num ref>[,<num aux>]]
			   By default slice number contained  in  filename  do
			   not	have  any  padded zeros, which,	when sorting a
			   directory contents alphabetically leads to read all
			   the slices starting by '1', then by '2'. for	 exam-
			   ple,	 slice	1,  10,	11, 12,	13, ...	2, 20, 21, 23,
			   ... etc. While dar is absolutely not	 perturbed  by
			   this	 display problem, some user shall like to have
			   the slices sorted by	order. For  that  reason,  the
			   --min-digits	 option	 lets  you  ask	dar to prepend
			   enough zeros	in the slice number for	it be as  wide
			   as  the  argument passed to --min-digits. For exam-
			   ple,	if you provide 3 for  that  number,  dar  will
			   store  the  slice number as 001, 002, 003, ... 999.
			   Well, next slice will be 1000, thus it  will	 break
			   again  the alphabetical sorting order. You are thus
			   advised to use a number large enough	to convert the
			   number of slice you expect to use.  Before  release
			   2.7.0,  when	 reading an archive, you were also re-
			   quested to provide this same	argument else dar  was
			   unable  finding the slice. Since 2.7.0 dar auto-de-
			   tects the mi-digits value to	use, unless there is a
			   mix of archive of the same basename with  different
			   min-digits.	In  such conflicting context, you must
			   bypass the min-digits auto-detection	mechanism  and
			   specify  which  min-digits value to retain in order
			   to read the archive,	eventually followed by a comma
			   and the number of digits to use to read the archive
			   of reference	(given to -A option), eventually  fol-
			   lowed  by  a	 comma and the number of digits	to use
			   for the auxiliary archive of	reference (given to -@
			   option).

       --pipe-fd <num>	   will	read further arguments from the	 file-descrip-
			   tor <num>. The arguments read through this file-de-
			   scriptor must follow	a TLV (Type/Length/Value) list
			   format.  This option	is not intended	for human use,
			   but for other programs launching dar	like  dar_man-
			   ager.  This	feature	has been added to overcome the
			   command line	length limit.

       -al, --alter=lax	   When	reading	an archive, dar	will try to workaround
			   data	corruption of slice header, archive header and
			   catalogue. This option is to	be used	as last	resort
			   solution when facing	media corruption. It is	rather
			   and still strongly encourage	to test	 archives  be-
			   fore	 relying  on them as well as using Parchive to
			   do parity data of each slice	to be able to  recover
			   data	corruption in a	much more effective manner and
			   with	 much more chance of success. Dar also has the
			   possibility to backup a catalogue using an isolated
			   catalogue, but this does not	face slice header cor-
			   ruption or even saved file's	data  corruption  (dar
			   will	detect but will	not correct such event).

       -G, --multi-thread { <num> | <crypto>,<compression> }
			   When	libdar is compiled against libthreadar,	it can
			   make	use of several threads.	If the argument	is two
			   numbers  separated by a comma the first defines the
			   number of worker threads  to	 cipher/decipher,  the
			   second  the	number	of  threads to compress/decom-
			   press. If the argument is a single number (-G  <n>)
			   it  is equivalent to	giving this number as the num-
			   ber of compression threads and giving 2 for the ci-
			   phering threads  (-G	 2,<n>).  The  use  of	multi-
			   threading at	archive	creation time leads to rely on
			   per	 block	compression  rather  than  the	legacy
			   streaming compression and if	the block-size is  not
			   specified  (see  -z option for details) it defaults
			   to 240 KiB. Not providing any -G option, is equiva-
			   lent	to providing -G	2,1 when libthreadar is	avail-
			   able	else -G	1,1. Note that if an archive has  been
			   created  with streaming compression,	the decompres-
			   sion	cannot use multi-threads, the deciphering  can
			   always use multiple threads.

       -j, --network-retry-delay <seconds>
			   When	a temporary network error occurs (lack of con-
			   nectivity, server unavailable, and so on), dar does
			   not	give  up,  it waits some time then retries the
			   failed  operation.  This  option  is	 available  to
			   change  the	default	retry time which is 3 seconds.
			   If set to zero, libdar will not wait	but rather ask
			   the user whether to retry or	abort in case of  net-
			   work	error.

       -afile-auth, --alter=file-authentication
			   With	 this  option,	When  reading  or  writing  an
			   archive to a	remote repository when no password  is
			   provided,  instead  of  interactively  asking for a
			   password dar	will first check the ~/.netrc file for
			   credentials when relying on FTP protocol  and  also
			   for	SFTP  protocol	(libcurl allows	that, which is
			   unusual but somehow useful).	If no  password	 could
			   be  found  in ~/.netrc, in second time and for SFTP
			   only, dar will try to connect using public key  au-
			   thentication.  Public  key  authentication is tried
			   without this	option,	but it is useful here to avoid
			   having password requested interactively.

       -ab, --alter=blind-to-signatures
			   do not check	whether	an encrypted archive with pub-
			   lic key that	has also been signed have correct sig-
			   natures.

       SAVING, ISOLATION, MERGING AND REPAIRING	SPECIFIC OPTIONS (to use  with
       -c, -C, -+ or -y)

       -z, --compression={ [algo] | level | algo:level | algo:level:block-size
       }
	    add	compression within slices. If -z is not	specified, no compres-
	    sion  is  performed, but if	-z is specified	without	algorithm gzip
	    will be assumed.

	    algo:
		 the following values are available  "gzip",  "bzip2",	"lzo",
		 "xz", "zstd" or "lz4".

	    level:
		 The compression level (an integer from	1 to 9 except for zstd
		 which	ranges from 1 to 22) is	optional, and is 9 by default.
		 Be careful when using xz algorithm better specify a  compres-
		 sion  ratio less than or equal	to 6 to	avoid important	memory
		 requirements. A ratio of 1 means less compression and	faster
		 processing, while at the opposite a ratio of 9	gives the best
		 compression but longest processing time.

	    block-size:
		 if  set  to  zero (which is also the default value), you will
		 get the legacy	(and performant) "streaming compression"  mode
		 that  was the only available up to release 2.7.0. Since then,
		 the "block compression" mode gives the	 ability  to  leverage
		 multi-threading  (see -G option) by compressing per block and
		 giving	different blocks to different threads. The larger  the
		 block	is, the	better the compression ratio will be (it tends
		 to be as good as the one of the streaming  compression	 mode,
		 when  block  size  increases),	but files smaller than a block
		 size can only be processed by a single	thread.	The memory re-
		 quirement also	increases by the product  of  the  block  size
		 times	the  number  of	 threads. Last,	a too small block-size
		 will cost more	CPU  cycles  (the  multi-threading  management
		 overhead will become important	compared to the	effective com-
		 pression  processing)	and  independently, short blocks gives
		 poor compression rates. It is thus advised to use  values  at
		 least	greater	 than  50 ~ 100	KiB (you can use the k,M,G,...
		 suffixes described for	the -s option).	If the	block-size  is
		 not  specified	 and given -G option leads to a	number of com-
		 pression threads greater or equal to 2, a block-size  of  240
		 KiB is	used. If you want the legacy streaming compression, do
		 not  use  -G  option (or use it specifying only 1 compression
		 thread) and do	not set	the compression	block size (or set  it
		 to zero).

	    Valid  usage  of -z	option is for example: -z, -z9,	-zlzo, -zgzip,
	    -zbzip2,  -zlzo:6,	 -zbzip2:2,   -zgzip:1,	  -zxz:6,   -zlz4::10k
	    -z::12000  -zbzip2:8:10k  and  so on. Usage	for long option	is the
	    same: --compression,  --compression=9,  --compression=lzo,	--com-
	    pression=gzip,  --compression=bzip2,  --compression=lzo:6,	--com-
	    pression=bzip2:2, --compression=gzip:1 --compression=xz:9  and  so
	    on.

	    About lzo compression, the compression levels of dar and lzop pro-
	    gram  do not match.	If you want to get the behavior	of compression
	    level 1 of lzop, use the lzop-1 algorithm in  place	 of  lzo  with
	    dar/libdar.	 If  you  want to get the behavior of lzop compression
	    level 3, use the lzop-3 algorithm in place of the  lzo  algorithm.
	    Lzop  compression  levels  2,  4, 5	and 6 are the same as level 3.
	    last, there	is no difference about compression level 7,  8	and  9
	    between dar	and lzop. The lzop-1 and lzop-3	algorithms do not make
	    use	 of  any  compression level (compression level is ignored with
	    these algorithms).

       -s, --slice <number>
			   Size	of the slices in bytes.	If the number  is  ap-
			   pended by k (or K), M, G, T,	P, E, Z, Y, R or Q the
			   size	 is  in	 kilobytes, megabytes, gigabytes, ter-
			   abytes,  petabytes,	exabytes,   zettabytes,	  yot-
			   tabytes,  ronnabytes	 or  quettabytes respectively.
			   Example: "20M" means	20 megabytes, by  default,  it
			   is  the  same  as  giving 20971520 as argument (see
			   also	-aSI and  -abinary  options).  If  -s  is  not
			   present  the	 backup	 will  be  written to a	single
			   slice whatever the size of the backup may  be  (as-
			   suming  your	operating system can support arbitrar-
			   ily large files).

       -S, --first-slice <number>
			   -S gives the	size of	the first slice	which  may  be
			   chosen  independently  of  the  size	 of  following
			   slices (either  bigger  or  smaller).  This	option
			   needs  -s  option  and by default of	-S option, the
			   size	of the first slice is the same as the  one  of
			   the following slices.

       -p [<integer>], --pause[=<integer>]
			   pauses before writing to a new slice	(this requires
			   -s).	 By  default there is no pause,	all slices are
			   written in the same directory, up to	the end	of the
			   backup or until the filesystem  is  full.  In  this
			   later  case,	 the  user  is informed	of the lack of
			   disk	space and dar stops for	user action.  As  soon
			   as  some disk space is available, the user can con-
			   tinue the backup. The optional  integer  that  this
			   option  can	receive	 tells dar to only pause every
			   'n' slice. Giving 3 for 'n'	will  make  dar	 pause
			   only	 after slices 3, 6, 9 and so on. If this inte-
			   ger is not specified, the behavior is as if '1' was
			   given as argument which makes dar pause after  each
			   slice.

       -D, --empty-dir	   At backup time only,	when excluding directories ei-
			   ther	 explicitly using -P or	-] options, or implic-
			   itly	by giving a -g or -[ options (a	 directory  is
			   excluded  if	 it  does not match mask given with -g
			   options or -[ options) dar does not store  anything
			   about these.	But with -D option, dar	stores them as
			   empty directories. This can be useful, if excluding
			   a mount point (like /proc or	/dev/pts). At restora-
			   tion	time, dar will then recreate these directories
			   (if	necessary). This option	has no meaning with -C
			   and is ignored in that case.	Independently of that,
			   -D can also be used at restoration time, but	it ac-
			   tivates a slightly different	feature	(see  RESTORA-
			   TION	SPECIFIC OPTIONS below).

       -Z, --exclude-compression <mask>
			   Filenames  covered by this mask are not compressed.
			   It is only useful in	conjunction with -z option. By
			   default, all	files are compressed  (if  compression
			   is used). This option can be	used several times, in
			   that	 case  a  file that matches one	of the -Z mask
			   will	not be compressed. Argument given to  -Z  must
			   not be include any path, just the filename (eventu-
			   ally/probably  using	 wildcards).  This option used
			   while merging or repairing allow one	to change  the
			   compression of files.

       -Y, --include-compression <mask>
			   Filenames  covered  by  this	 mask (and not covered
			   masks given to -Z option(s))	are  the  only	to  be
			   compressed. It is only available with -z option. By
			   default  all	 files are compressed. This option can
			   be used several times, in that case all files  that
			   match  one of the -Y	will be	compressed, if they do
			   not also match on of	 the  -Z  masks.  The  ordered
			   method  here	 applies  too when activated (with -am
			   option), it works exactly the same as -I and	-X op-
			   tions, but apply to file compression, not file  se-
			   lection. In other word, it matches only on the file
			   name,  not  on  the path of files. This option used
			   while merging or repairing allow one	to change  the
			   compression of files.

       -m, --mincompr <number>
			   files  which	 size  is below	this value will	not be
			   compressed. If -m is	not specified it is equivalent
			   to giving -m	100 as argument. If you	want  to  com-
			   press  all  files  whatever	their size is you thus
			   need	to type	-m 0 on	the  command  line.  The  size
			   unit	is the byte (octet) and	the same number	exten-
			   sions  as  those  used  with	-s or -S are available
			   here, if you	want to	specify	the size in  kilobyte,
			   megabyte, gigabyte etc.

       -1, --sparse-file-min-size <number>
			   Define  the	minimum	 length	of zeroed bytes	to re-
			   place by "holes". By	default, this feature is acti-
			   vated with a	value of 15 bytes. To completely  dis-
			   able	 it, set the size to zero. Disabling this fea-
			   ture	will bring some	noticeable  speed  improvement
			   but	will probably make the archive slightly	bigger
			   (depending on the nature of the data). Sparse files
			   are files  that  contain  so	 called	 holes.	 On  a
			   filesystem,	the  portion  of  zeroed  bytes	is not
			   stored on disk, thus	an arbitrary large  file  with
			   huge	 portion of zeros may only require a few bytes
			   of disk storage. While dar cannot detect how	is al-
			   located a given file	because	it makes a  filesystem
			   abstraction (it does	not know the implementation of
			   any particular filesystem, where from its portabil-
			   ity),  when	it  finds  a  sequence of zeroed bytes
			   larger than the given threshold it can assume  that
			   it  is in presence of a hole. Doing so, it does not
			   store the given zeroed bytes	into the archive,  but
			   place  a  tag  beside  the saved data to record the
			   size	of the hole and	thus where to place  the  next
			   non zeroed bytes. This makes	dar archive disk space
			   requirement	much  smaller  when  a sparse files is
			   met.	At restoration time, dar  will	restore	 holes
			   writing  normal  data  and seeking over the hole to
			   write down the normal data after each hole. If  the
			   underlying  file system supports sparse files, this
			   will	restore	the holes. Note	that there is no  dif-
			   ference  for	 applications whether a	file is	sparse
			   or not, thus	dar may	well  transform	 normal	 files
			   into	sparse files and vice-versa, only the disk re-
			   quirement  will  change. Last point,	if dar can re-
			   duce	disk requirement for  archive  with  holes  as
			   small  as  15  bytes	 (smaller  value works but the
			   overhead cost more than what	is required  to	 store
			   the	zeroed bytes normally),	it may not be the same
			   at restoration, because filesystem allocation  unit
			   is  usually several kilobytes (a page), however re-
			   stored file will never be larger than it  could  be
			   without holes. The only drawback of this feature is
			   the additional CPU cycle it requires.

       -ak, --alter=keep-compressed
			   During  merging and repairing operation, keep files
			   compressed, this has	several	restrictions : -z, -Z,
			   -Y, -m are ignored, if  two	archives  have	to  be
			   merged,  both  must	use the	same compression algo-
			   rithm or one	of them	must not  use  compression  at
			   all	(this last restriction will probably disappear
			   in a	next version). The advantage of	this option is
			   a greater speed of execution	(compression  is  usu-
			   ally	CPU intensive).

       -ah, --alter=holes-recheck
			   For	merging	 and repairing,	the sparse file	detec-
			   tion	mechanism is disabled by default.  However  if
			   you	want  to activate it (assuming you have	an old
			   archive you want to	convert	 the  current  archive
			   format  taking  care	 of sparse files), you need to
			   use -ah option to reactivate	the sparse file	detec-
			   tion	mechanism.  Then  for  merging	and  repairing
			   --sparse-file-min-size  can	be  used  as described
			   above for archive creation. In  addition,  you  can
			   have	 files stored as sparse	file in	the archive of
			   reference be	stored as normal files in  the	merged
			   archive using -ah and passing to --sparse-file-min-
			   size	an value larger	than all file sizes, for exam-
			   ple as of today in year 2018, passing -ah --sparse-
			   file-min-size  1E  (1E  for	one exabyte) should be
			   large enough.

       --nodump		   do not save files which have	the 'd'	flag set  (see
			   chattr(1) lsattr(1) ext2 commands). This option may
			   not	be  available  if the system dar has been com-
			   piled on did	not provide support  for  ext2	flags.
			   Note	 that  this option does	nothing	with -+	option
			   (merging) as	no filesystem is used for that	opera-
			   tion.

       -5, --exclude-by-ea[=<extended attribute	name>]
			   exclude  inodes from	backup that have been set with
			   the EA given	in argument. If	not argument is	 given
			   to that option the default EA used to exclude files
			   from	backup is "user.libdar_no_backup". To set this
			   attribute  to  a given file,	use the	following com-
			   mand:  "setfattr  -n	 user.libdar_no_backup	<file-
			   name>",   to	 remove	 it:  "setfattr	 -x  user.lib-
			   dar_no_backup <filename>". Last, to check the pres-
			   ence	this EA: "getfattr <filename>"

       -M, --mount-points={ I:<path to fs> | X:<path to	fs> }
			   If the argument is of the I:<path to	fs> form,  the
			   filesystem  to which	this path points to is consid-
			   ered	for the	backup operation, that's to say, other
			   file	filtering mechanism will be applied  and  some
			   or  all  files of that filesystem will be saved for
			   backup. While with the X:<path to fs> form, no file
			   in that filesystem  will  even  be  considered  for
			   backup.  both X: and	I: forms must be provided with
			   an absolute path. -M	option	can  be	 used  several
			   times  on  the  command-line.  If only I: forms are
			   used, the filesystem	based filtering	mechanism  be-
			   haves  as a white list (only	those listed paths are
			   included). If only X: form is used, the  filesystem
			   based  filtering  mechanism behaves as a black list
			   (everything	is  considered	except	those	listed
			   paths).  Last,  while  a mix	of I: and X: forms are
			   used, filsystems that will be considered for	backup
			   will	be those given with an I: form	and  not  also
			   given with an X: form. Note that this is filesystem
			   based  filtering,  not path based: If for example a
			   filesystem is mounted under /var directory and  you
			   specify I:/var/log all /var filesystem will be con-
			   sidered for backup. If you rather want to only save
			   what	 is  in	/var/log use the -P/-g/-X/-I/-[/-] op-
			   tions that realise the file filtering by  name  and
			   path+name.  You cannot exclude the filesystem which
			   contains the	path given to -R option. The use of -M
			   option with argument	erases any previous configura-
			   tion	done with -M option without argument (see  be-
			   low),  and  vice  versa.  By	 default (no -M	option
			   specified), no filtering  based  on	filesystem  is
			   performed, in other worlds all files	are considered
			   for	other  file filtering mechanism	(in particular
			   -P/-g/-X/-I/-[/-] options)  and  eventually	backed
			   up.

			   example of use:
			   -MI:/var -MX:/var/spool
			   --mount-points=I:/var --mount-point=X:/var/spool

       -M, --no-mount-points
			   This	 is  the  legacy  form of the option described
			   just	above, that existed before release 2.7.0. When
			   -M option is	provided without argument, only	 files
			   located  on	the  filesystem	pointed	to by the path
			   given to -R option will be considered  for  backup.
			   Subdirectory	 that  are  mounting  points for other
			   filesystems will not	be saved (or saved empty if -D
			   option is used). This option	is useless and ignored
			   for merging operation. The use of -M	without	option
			   lead	dar to ignore any previous -M I:<path> and  -M
			   X:<path> options that could have been given on com-
			   mand-line or	-B included file so far.

       -, ,  --cache-directory-tagging
			   don't  save	contents  of  directories that use the
			   Cache    Directory	 Tagging     Standard.	   See
			   http://www.brynosaurus.com/cachedir/spec.html   for
			   details. (this option is useless with -+ option)

       -/ , --overwriting-policy <policy>
			   This	option let the user define when	 or  how  file
			   overwriting	can  occur  at	restoration or archive
			   merging time. It does no apply to slice overwriting
			   which are driven by the -n option, it does  instead
			   apply  to  file  during extraction and files	inside
			   archives when merging two of	them. When considering
			   overwriting,	a file is said to be 'in place'	 while
			   an  other  is  known	 as 'new' or 'to be added'. At
			   restoration time, the 'in place' is the one that is
			   present in filesystem while the 'to	be  added'  is
			   the	one from the archive. At merging time, the 'in
			   place' is the one of	the '-A' archive of  reference
			   while  the 'to be added' is the one from the	auxil-
			   iary	'-@' archive or	reference.  This  option  does
			   not apply to	archive	repairing.

			   As  soon  as	you use	-/ option -n only applies only
			   to slice overwriting	and the	-r, -k and -ae options
			   are ignored (restoration specific options).

			   The given <policy> argument is composed of  actions
			   and	eventually of conditional expressions. Actions
			   do define how to solve overwriting  conflict	 about
			   file's  data	on one side and	file's Attributes (Ex-
			   tended and Filesystem Specific) on the other	 side.
			   An  action  is thus a couple	of action for Data and
			   for EA+FSA. Actions for Data	are represented	by up-
			   percase letters, while action for  EA+FSA  are  de-
			   fined  by lowercase letters.	Both actions are inde-
			   pendent of each other:

			   P	means 'Preserve'. When merging	two  archives,
				the  data  of  the  resulting  archive will be
				taken from the 'in place' file.	While when ex-
				tracting, the data of the inode	in  filesystem
				will  be  preserved  (thus no overwriting will
				occur for the data).

			   O	means 'Overwrite'. When	merging	two  archives,
				the  data  of  the  resulting  archive will be
				taken from the 'to be added' file. While  when
				extracting,  the data of the inode in filesys-
				tem will  be  overwritten  by  data  from  the
				archive.

			   S	means  'mark Saved and preserve'. When merging
				two  archives,	the  data  of  the   resulting
				archive	will be	marked as already saved	in the
				archive	 of reference (making thus a differen-
				tial archive, even if  none  of	 the  original
				archive	 were differential archives). All data
				will be	dropped	in the resulting archive,  but
				the  last  modification	date [aka mtime] (used
				to detect change in file's data) will be taken
				from the 'in place' file. This action does not
				apply when extracting files, it	is  thus  con-
				sidered	equal to "Preserve" (P)	in that	situa-
				tion.

			   T	means 'mark Saved and overwrite'. When merging
				two   archives,	 the  data  of	the  resulting
				archive	will be	marked as already saved	 (same
				as  'S'	 action):  all data will be dropped in
				the resulting archive, however the last	 modi-
				fication  date	[aka  mtime]  (used  to	detect
				changes	in a file's data) will be  taken  from
				the  'to  be added' file. This action does not
				apply when extracting files, it	is  thus  con-
				sidered	equal to "Overwrite" (O) in that situ-
				ation.

			   R	means 'Remove'.	When merging two archives, the
				resulting  archive  will not contain any entry
				corresponding to the file that	were  in  con-
				flict.	This  also  implies that no EA will be
				stored for that	particular entry as the	 entry
				will  no  more	exist in the resulting archive
				(as if it had never  yet  existed).  When  ex-
				tracting  files, this will lead	to file's sup-
				pression.

			   p	means 'Preserve', same as 'P'  (but  lowercase
				letter)	 preserve  the	whole  EA set and FSA.
				When merging two archives, the Attributes  set
				of  the	resulting file will be the ones	of the
				'in place' file	(whatever is  the  overwriting
				action	taken  for  its	 data).	While when ex-
				tracting files to filesystem,  the  Attributes
				of  the	file in	filesystem will	not be changed
				(whatever is the overwriting action taken  for
				its data, unless the file is removed using the
				'R'  policy,  which would remove the inode and
				thus also any Attributes it had).

			   o	means 'Overwrite', same	as 'O' (but  lowercase
				letter)	 overwrite  the	 whole EA set and FSA.
				When merging two archives, the Attributes  set
				of  the	 resulting file	will be	taken from the
				'to be	added'	file.  While  when  extracting
				files,	the  Attributes	set of the file	in the
				filesystem will	have its Attributes erased and
				replaced by those of the file in  the  archive
				(still	independent of what overwriting	action
				is taken for file's data).

			   s	means 'mark Saved and preserve', same  as  'S'
				(but  lowercase	letter)	for EA and FSA instead
				of data. When merging two archives, the	EA and
				FSA of the resulting file are  marked  as  al-
				ready  saved in	the archive of reference, thus
				they are dropped but the date  of  last	 inode
				change	[aka ctime] (used to detect changes in
				file's EA and FSA) will	be taken from the  'in
				place'	file.  This action does	not apply when
				extracting files, it is	thus considered	equiv-
				alent to "Preserve" (p)	in that	situation.

			   t	means 'mark Saved and overwrite', same as  'T'
				(but  lowercase	letter)	for EA and FSA instead
				of data. When merging two archives, the	EA and
				FSA of the resulting file are  marked  as  al-
				ready  saved in	the archive of reference, thus
				they are dropped but the date  of  last	 inode
				change	[aka  ctime]  (use to track changes in
				EA) will be taken from the 'to be added' file.
				This action does  not  apply  when  extracting
				files,	it is thus considered an equivalent to
				"Overwrite" (o)	in that	situation.

			   m	means 'merge Attributes	and preserve'. The re-
				sulting	file in	the merged archive  will  have
				Attribute entries from both the	'in place' and
				the 'to	be added' files. If both files share a
				same  Attribute	 entry (same FSA or for	EA the
				same key for a given association) the  one  of
				the  'in  place'  file is kept (where from the
				'preserve' notion). When  extracting  a	 file,
				the  file  in  the filesystem will have	its EA
				and FSA	set enriched by	the ones of  the  file
				in  the	 archive that do not exist on filesys-
				tem, but its already existing Attributes  will
				stay untouched.

			   n	means  'merge  Attributes  and overwrite'. The
				resulting file in the merged archive will have
				Attribute entries from both the	'in place' and
				the 'to	be added' files. If both files share a
				same Attribute entry (same FSA or for  EA  the
				same  key  for a given association) the	one of
				the 'to	be added' file	will  be  kept	(where
				from  the 'overwrite' notion). When extracting
				file, the file in the filesystem will have its
				Attributes set enriched	by ones	of the file in
				the archive with some of  them	possibly  been
				overwritten.

			   r	means  'remove',  same	as 'R' but for the At-
				tribute	set (thus all EA and FSA entries) of a
				given file ('r'	is lowercase letter here). The
				file of	the resulting archive  during  merging
				operation  will	 not  own  any EA nor any FSA,
				even if	the  'in  place'  and/or  the  'to  be
				added'	files  did have	some. For file extrac-
				tion, this means that the file in the filesys-
				tem will loose all its EA set. The FSA	cannot
				be 'removed' from a filesystem and may not al-
				ways  have  a  default value, thus this	action
				does not modify	FSA at all in case of  archive
				extraction. But	in case	of merging the FSA are
				removed	 as  previously	 described. As for all
				the previous tests, this  Attribute  operation
				is  independent	 of  the  operation chosen for
				file's data (uppercase letters).

			   d	means 'delete'.	When a same EA or FSA entry is
				found both in the 'in place' and 'to be	added'
				files, such entry will be absent  in  the  re-
				sulting	archive. In other words, when merging,
				the  EA	 set  and FSA will only	contain	EA and
				FSA entries specific to	 the  'in  place'  and
				those  specific	to the 'to be added' file. En-
				tries in common	will not be present. When  ex-
				tracting  a  file from an archive, the file on
				filesystem will	have its EA  set  enriched  by
				entries	of the 'to be added' file that are new
				to  the	 'in place' file. The other EA entries
				(which are thus	present	in  both  archive  and
				filesystem)  will  be  removed	from  the set,
				which the other	FSA will stay  untouched  (FSA
				cannot	be  "removed"  from  a filesystem, nor
				they always have a default value).

			   *	is valid for both EA and data. It  tells  that
				the  action is not yet defined at this step of
				the evaluation and that	further	evaluation  is
				required (see the 'chain' operator below).

			   A	means  'Ask for	user decision'.	This uppercase
				letter concerns	Data overwriting. An  applica-
				tion  interaction  let the user	define the ac-
				tion for each file  in	conflict.  Note,  that
				this action if used alone may become very bor-
				ing  or	painful. The idea is to	use it in con-
				ditional statements (which are	described  be-
				low)  to  have	dar  ask  for only non obvious
				cases.

			   a	means 'Ask for user decision'. This  lowercase
				letter is the equivalent for EA	and FSA	of the
				'A'  action.  It is intended to	be used	in the
				same conditional statements described below.

			   An action is	thus a couple of  letters,  the	 first
			   being  uppercase (for file's	data) the second being
			   lowercase (for file's EA and	FSA). When  -/	option
			   is  not given, the action is	equivalent to '-/ Pp',
			   making dar proceed to file, EA  and	FSA  preserva-
			   tion. Before	release	2.4.0 (June 2011), only	-n and
			   -w options were available to	define the overwriting
			   policy  and	the  default  behavior was to warn and
			   wait	for confirmation before	overwriting, which be-
			   havior can be set by	the '-/	Oo' policy.  It	 seems
			   the	default	 behavior  changed  to '-/ Pp' at that
			   time	and nobody complained or noticed  the  differ-
			   ence	 until 2023, so	this default behavior will not
			   be reverted,	as nobody complained for more than  12
			   years about that. Here follows some examples	of ac-
			   tions,  all	these  are done	for any	entry found in
			   conflict during archive merging or archive  extrac-
			   tion, we will see further how to define conditional
			   actions.

			   -/ Rr
				will lead dar to remove	any file from filesys-
				tem that ought to be restored(!). Note the ac-
				tion  for  EA/FSA  is  useless,	the EA and FSA
				will always be erased as well  as  data	 using
				'R'.  Thus  '-/	Rp' would lead to the same re-
				sult.

			   -/ Po
				will keep data of the 'in place' file  and  EA
				and FSA	set from the 'to be added' file.

			   -/ Ss
				Using this option when merging an archive with
				itself	(used both as archive of reference (-A
				option)	and auxiliary archive of reference (-@
				option)	) will provide the same	action	as  an
				archive	isolation of the archive of reference,
				but using twice	more memory (so	keep using the
				isolation  operation  as  before! Here this is
				just an	illustration of	the possibility)

			   As seem previously -u and -U	options	can be used to
			   filter which	EA entry to consider and which to  ig-
			   nore. The question here is to explain how this fil-
			   tering mechanism interacts with the different poli-
			   cies	 we  just  presented above. For	files that are
			   not in conflict (found only as 'in place' or	as 'to
			   be added'), only the	EA  entries  matching  the  EA
			   filter  are	kept. For files	in conflict, the over-
			   writing policy is evaluated first, then the filter-
			   ing mechanism is applied *after* it.	Thus for exam-
			   ple,	using the following [ -/ "Po"  -u  "*test"  ],
			   when	 merging  two  archives,  only	EA ending with
			   "test" will be retained, and	when a conflict	 takes
			   place,  this	 "*test"  ending EA will be taken from
			   the 'to be added' file if it	has some  EA  of  that
			   type, its other EA entry will be ignored as well as
			   any EA entry	of the 'in place' file even those end-
			   ing by "test". At restoration in using the same op-
			   tions,  file	without	conflict will get restored but
			   only	EA entry ending	with "test" will be  restored,
			   and	for  file  with	 conflict  (already present in
			   filesystem),	EA set of file in filesystem  will  be
			   removed  and	replaced the EA	entries	of the file in
			   archive that	ends by	"test",	if some	exist.

			   the situation is similar with FSA family scope  and
			   overwriting policy. Only FSA	of a family present in
			   the	scope will be retained,	the overwriting	policy
			   acts	first then the FSA scope is applied. Note how-
			   ever	that any FSA present  on  filesystem  and  ex-
			   cluded from the FSA scope are not touched.

			   Well,  now let's see	how to bring some more fun us-
			   ing conditional statements in  all  these  actions.
			   The structure to use	is the following:

			   {<condition>}[<action if condition is true>]
				This  syntax  let  you place an	action (as the
				ones we	saw just above)	 inside	 the  brackets
				'['  and ']' (for example [Pp])	that will take
				effect only if the evaluation of  the  <condi-
				tion>  is  true.  Stated that a	such statement
				is a new type of action, you may have  guessed
				that  you  may	use  it	 recursively: {<condi-
				tion1>}[{<condition2>}[<action>]).

			   Well	so far it seems	useless. But  instead  of  the
			   "if	<condition> then <action> else <action>" para-
			   digm	common to programming languages,  due  to  the
			   command  line context it has	been chosen to instead
			   use and implicit  "OR"  operator  between  actions.
			   Thus	 you  can  "stack" conditional statements this
			   way:	{<condition1>}[<action1>]  {<condition2>}[<ac-
			   tion2>] <action3>. In this example, if <condition1>
			   is  true then <action1> will	be used, ELSE if <con-
			   dition2> is true then <action2> will	be  used  ELSE
			   <action3>  will  be	used.	This leads to the same
			   possibilities as what is available with programming
			   languages, but with a slightly more simple  syntax.
			   Seen	 this,	the recursion of conditional syntax is
			   more	interesting.  For readability, you are allowed
			   to add any space or tab in the overwriting  policy,
			   but	the resulting overwriting policy must be given
			   as a	single argument	to dar,	thus the use of	quotes
			   (either simple 'arg'	or double "arg") is necessary.

			   The last operator we	will see is the	'chain'	opera-
			   tor.	Once an	expression is evaluated, the resulting
			   couple of action may	contain	an '*' (undefined  ac-
			   tion	 for  EA  or data). Further evaluation must be
			   done. The chain operator which is represented by  a
			   semicolon  ';' let one to separate several indepen-
			   dent	expressions that will be evaluated in turn  up
			   to  the time	the couple of action is	fully defined.
			   Once	an action (for EA or for Data) is defined,  it
			   can	be redefined by	a subsequent evaluation	in the
			   chain, however if the action	is defined  it	cannot
			   be set back to undefined, thus '*' will never over-
			   write a previously defined action. If at the	end of
			   the	policy	the  couple of action is not fully de-
			   fined, the 'preserve' action	is used	 ('P'  or  'p'
			   depending  on  which	 of  EA	 or Data is left unde-
			   fined). Here	follow a example of syntax:

			   -/ "{<condition1>}[P*] O* ; {<condition2>[*p] *o} ;
			   Rr"
				The first expression will evaluate  to	either
				P*  or	O*. At this step, as the action	is not
				completely defined, the	 second	 part  of  the
				chain is evaluated, It will end	with either *p
				or  *o.	In any case, we	have after this	second
				statement of the chain a fully defined	action
				for  both  data	 and  EA (either Pp, Po, Op or
				Oo). Thus the evaluation stops	here  and  the
				"Rr" policy will never be evaluated.

			   We  now  have  one last thing to see: the available
			   conditions (what to place between  braces  '{'  and
			   '}').  Conditions  are  defined  each  by a letter,
			   eventually followed by an argument  between	paren-
			   thesis.  The	usual logical operators	are available:
			   negation  (!),  conjunction	(&)  disjunction  (|).
			   These  characters  must be escaped or quoted	to not
			   be interpreted by the shell when used  on  command-
			   line.  In  particular the '!' under most shell must
			   be quoted and escaped (-/ '{\!R}[..]..', The	escape
			   character '\' is not	 necessary  inside  DCF	 files
			   (those  given  to -B	option)	as no shell is used to
			   interpret these files. To these usual operators has
			   been	added a	new  one:  the	"inversion"  operator,
			   noted '~'. Like the negation, it is an unary	opera-
			   tor	but unlike the negation, it inverses the roles
			   of 'in place' and 'to be added' for the evaluation,
			   which is slightly different from taking  the	 nega-
			   tion	of the result of the evaluation. All these op-
			   erators  follow  the	usual precedence: unary	opera-
			   tors	('!' and '~') are evaluated  first,  then  the
			   conjunction	'&' then the disjunction '|'. To over-
			   ride	this, you can use parenthesis '(' and ')'  in-
			   side	 the  condition. Over these logical operators,
			   the conditions are based on	atomic	operator  that
			   compare  the	 'in  place' file to the 'to be	added'
			   file. Here they follow:

			   I	true only if the 'in place' entry is an	inode.
				This condition does not	have any consideration
				toward the to be added object.	Note  that  ~I
				can  be	used to	check the nature of the	'to be
				added' object. A 'detruit' entry, which	record
				the fact that a	file has  been	removed	 since
				the  archive of	reference, is not an inode for
				example, and the only type of  entry  that  is
				not  an	inode is a 'detruit'. Thus you can de-
				fine an	action on 'detruit' objects using  the
				"!I"  expression  for the 'in place' entry and
				"!~I" for the 'to be added' entry.

			   D	true only if the 'in place' entry is a	direc-
				tory.  To  know	whether	the 'to	be added' is a
				directory or not, one would  use  the  "inver-
				sion" operator:	~D

			   F	true  only  if the 'in place' entry is a plain
				file (true also	if this	plain file is a	 'hard
				link',	that's	it if its inode	is linked sev-
				eral times to the directory tree)

			   H	true only if the 'in place' entry is an	 inode
				linked	several	times to the directory tree (=
				hard link) it may be  a	 plain	file,  a  Unix
				socket,	 a  pipe,  char	device,	a block	device
				for example.

			   A	same as	H but the current 'in place' entry  is
				the  first  link we meet pointing to that hard
				linked inode.

			   R	true if	the 'in	place' entry  is  more	recent
				than  or of same date as the 'to be added' en-
				try. The last modification date	[aka mtime] is
				used for this comparison. If the 'to be	added'
				entry is not an	inode (and thus	has no mtime),
				the 'in	place' is considered to	be more	recent
				than the 'to be	added' entry.  Same  thing  if
				the  'in place'	entry is not an	inode (and has
				no mtime available for comparison), it is here
				too assumed to be more recent.

			   R(<date>)
				true if	the 'in	place' entry  is  more	recent
				than  or  of the same date as the fixed	<date>
				given in argument. No  consideration  is  done
				toward	the  'to be added' element. The	<date>
				format is the same as the one  used  with  -af
				option.	If an entry has	no mtime (it is	not an
				inode  for  example)  it is assumed an virtual
				mtime of zero.

			   B	true only if both 'in place' and 'to be	added'
				are plain file (hard linked or not) and	if the
				'in place' file's data is larger or  equal  to
				the  'to be added' file's data.	If one or both
				entry are not plain files  (or	hard  link  to
				plain  file) and thus the file size comparison
				is not possible, the 'in place'	entry  is  as-
				sumed  to  be  'bigger'	than the 'to be	added'
				entry.

			   S	true only if the 'in place' data is  saved  in
				the  archive  (not  marked  as	unchanged  nor
				marked as only inode metadata  changed,	 since
				the archive of reference). Note	that while ex-
				tracting files from an archive,	the 'in	place'
				file  is  the one in the filesystem, which al-
				ways has its data 'saved' (from	 libdar	 point
				of view). The 'inversion' of this atomic oper-
				ator  ~S  may still be interesting in the con-
				text of	restoration.

			   Y	true only if the 'in place' data is saved  but
				dirty  (plain  file having its data changed at
				the time it was	read for backup).  Note,  that
				restoring  in  sequential read mode, it	is not
				possible to known whether a file is dirty  (it
				is  possible  to  know it once having read its
				data, but sequential reading does  not	allows
				then to	skip forward to	get the	dirty state of
				the  file  and skip backward to	eventually re-
				store that file, depending on the  overwriting
				policy result).

			   X	true  only  if the 'in place' data is a	sparse
				file

			   T	true only if the 'in place' and	'to be	added'
				entries	 are  of  same	type (plain file, Unix
				socket,	named pipe, block device, char device,
				symlink, directory,  'detruit'	(which	stands
				for  file  deleted since the archive of	refer-
				ence was done),	and so on). Note that the num-
				ber of links to	inode (i.e. whether this is  a
				hard links or not) is not taken	into account.

			   L	true  only  if	the 'in	place' entry has delta
				signature associated with it.

			   E	true only if 'in place'	and 'to	be added'  are
				of  the	same type and have the same inode data
				information: uid, gid,	permission,  modifica-
				tion  date  are	 taken into account, atime and
				ctime are ignored in this comparison. If  both
				are  plain  files,  the	file sizes must	be the
				same for this condition	to succeed.  For  char
				and  block  devices, both major	and minor num-
				bers must match. Last, for symlink, the	target
				(the file path they  point  to)	 must  be  the
				same.

			   e	true  if the 'in place'	entry has EA (may they
				be saved or just recorded as existing).

			   r	true if	the 'in	place' entry has  more	recent
				or  equal dated	EA to the 'to be added'	entry.
				If 'to be added' has no	EA or is even  not  an
				inode,	true is	returned. If 'in place'	has no
				EA or is even not an inode, true  is  returned
				unless 'to be added' has some EA. The compari-
				son is done on ctime dates.

			   r(<date>)
				true  if  the 'in place' entry has more	recent
				or equal dated EA to the fixed <date> given in
				argument. No consideration is done toward  the
				'to  be	 added'	 element. The <date> format is
				the same as the	one used with -af  option.  If
				an  entry has no date (ctime date) (when it is
				not an inode for example)  it  is  assumed  an
				virtual	ctime of value zero.

			   m	true only if 'in place'	has more or equal num-
				ber  of	 EA entry in its set of	EA than	'to be
				added' has. If an entry	has not	EA or  is  not
				even  an  inode, it is assumed it has zero en-
				try. The comparison is done  on	 this  number.
				Note  that  the	 number	of EA entry is not the
				size used to store these entries. For example,
				the EA entry "user.test" counts	for  1,	 what-
				ever  is the length of the value associated to
				it.

			   b	true if	the 'in	place' entry has bigger	EA set
				or equal size EA set than the  'to  be	added'
				entry. If an entry has no EA or	is even	not an
				inode,	it  is assumed that it has a zero byte
				length EA set. The comparison is done on  this
				number	in that	case. Note that	the comparison
				is done	on the bytes used to store  the	 whole
				EA set associated to a given file.

			   s	true if	the 'in	place' entry is	an inode (or a
				hard linked inode) and has its EA saved	in the
				archive	 of reference, not only	marked present
				but unchanged since  last  backup.  This  test
				does not take the 'to be added'	entry into ac-
				count.

			   Well,  you've  seen	that uppercase letter are kept
			   when	comparison is based on the inode or data while
			   lowercase letter is used for	atomics	based  on  EA.
			   Now that we have completed our tour of this feature
			   let's see some examples:

			   -/ Pp
				as seen	previously this	is what	does -n	option
				for  files  when  no overwriting policy	is de-
				fined, which avoids any	overwriting  for  Data
				as well	as for EA.

			   -/ "{!T}[Pp]	{R}[{r}[Pp]Po] {r}[Op] Oo"
				Space  and  tabs are allowed to	ease readabil-
				ity. Here the policy stands for: If  files  in
				conflicts  are	not of the same	type then keep
				Data and EA of the entry 'in place'.  Else  if
				'in  place' has	a more recent data then	if 'in
				place' has more	recent EA then keep  both  its
				Data and EA, else keep only its	Data and over-
				write  its EA. Else (if	'in place' has not the
				more recent data), if it has the  more	recent
				EA  then  overwrite  the data but keep its EA,
				else overwrite both its	 data  and  EA.	  This
				policy	tends to preserve the most recent data
				or EA, but it does not take into  account  the
				fact that EA or	Data is	effectively saved into
				the  archive of	just marked as unchanged since
				the archive of reference.

			   -/ "{!T}[{~D}[Oo] Pp]"
				If entries are not of the same	type,  if  the
				'to  be	 added'	 entry	is a directory then we
				keep it	and overwrite the  'in	place'	entry,
				else  we  keep	the 'in	place' entry. If entry
				are of same type, the policy does not  provide
				any  action,  thus the default action is used:
				"Pp". You can change this default action  eas-
				ily using a chain operator:

			   -/ "{!T}[{~D}[Oo] Pp] ; Aa"
				In this	case instead, if entry are of the same
				type, the user will be asked what to.

			   -/ "{!T|!I}[{R}[Pp] Oo] {I&~I}[{S}[{~S}[{R}[P*] O*]
			   P*] {~S}[O*]	{R}[P*]	O* ; {s}[{~s}[{r}[*p] *o] *p]
			   {~s}[*o] ] {r}[*p] *o"
				Well this may seems a bit too complex but just
				see  it	as an illustration of what is possible
				to do: If both 'in place' and  'to  be	added'
				are  not  of the same type we keep data	and EA
				of the most  recent  file  (last  modification
				date).	Else,  both  are  of the same type. If
				both are inode we evaluate a  two  expressions
				chain  (expressions  are  separated by a semi-
				colon ';') we will see in detail further. Else
				if they	are of same type but are not inode  we
				take  the EA and data of the most recent entry
				(this is the last 10  chars  of	 the  string).
				Well,  now  let's  see	the case of inode: The
				first expression in the	chain sets the	action
				for data and keep the action for EA undefined.
				While the seconds, is the exact	equivalent but
				instead	 it  leaves  the action	for data unde-
				fined '*' and set the action for EA. These two
				expressions follow the same principle: If both
				entries	are saved (by opposition to be	marked
				as  unchanged  since the archive of reference)
				in the archives, the most  recent  EA/Data  is
				kept, else, the	one of the inode that is saved
				is  kept,  but if none is saved	in the archive
				the most recent	entry (mtime/ctime) is kept.

       -^, --slice-mode	perm[:user[:group]]
			   defines the permission and  ownership  to  use  for
			   created slices. By default, dar creates slices with
			   read	 and  write  available	for anyone letting the
			   umask variable disable some privileges according to
			   user's preferences.	If  you	 need  some  more  re-
			   stricted  permissions,  you can provide the permis-
			   sion	as an octal value (thus	beginning by a	zero),
			   like	 0600  to  only	grant read and write access to
			   the user. Be	careful	not to avoid  dar  writing  to
			   its	own slices, if for example you provide permis-
			   sion	such as	0400. Note also	that the umask is  al-
			   ways	applied	thus specifying	-^ 0777	will not grant
			   word	 wide  read-write  access unless your umask is
			   0000.

       -_, --retry-on-change count[:max-byte]
			   When	a file has changed at the time it was read for
			   backup, you can ask dar to retry saving  it	again.
			   By  default	a  file	 can be	re-saved up to 3 times
			   (this is the	'count'	field),	you can	set it to zero
			   to disable this feature. In option the overall max-
			   imum	amount of byte allowed to  be  wasted  due  to
			   retry  changing  file's backup can be given after a
			   colon character (:),	this is	the 'max-byte'	field.
			   By  default (no --retry-on-change option specified)
			   a limit of 1	wasted byte is allowed	which  is  the
			   mininum.  Specifying	zero for max-byte set no limit
			   on the amount of wasted bytes (same as if no	 'max-
			   byte'  was  specified),  each changing file is then
			   saved up to 'count' times if	necessary.

			   A file is considered	as changed when	the last modi-
			   fication time has changed between the time the file
			   has been opened for backup and the time it has been
			   completely read. In some situation it is not	possi-
			   ble to replace the already saved data  for  a  file
			   (writing  archive  to  a pipe for example), in that
			   situation only, a second copy of the	file is	 added
			   just	 after the first previous try which leads that
			   previous try	to becomes  inaccessible,  however  it
			   holds  some	place  in  the archive,	where from the
			   designation of "wasted bytes". You can  remove  all
			   wasted bytes	from an	archive	using the merging/fil-
			   tering feature: dar -+ new_arch -A old_arch -ak.

			   Note:  since	 release 2.5.0,	in normal condition no
			   byte	is wasted when a file changed at the  time  it
			   was	read for backup, except	when doing a backup to
			   pipe	(using '-c -' option), except if the beginning
			   of the modified file	is located in a	previous slice
			   and except if slice hashing or strong encryption is
			   used.

       -ad, --alter=decremental
			   This	flag is	to  be	used  only  when  merging  two
			   archives.  Instead  of the usual merging where each
			   files of both archives are added to	the  resulting
			   archive with	eventually a tie using the overwriting
			   policy  (see	-/ option), here the merging builds an
			   archive which corresponds to	the decremental	backup
			   done	based on two full backups. the	-A  backup  is
			   expected  to	receive	the older archive while	the -@
			   is expected to point	to the	more  recent  one.  If
			   this	 option	 is  used,  the	eventually overwriting
			   policy is ignored and  replaced  internally	by  -/
			   "{E&R&~R&(A|!H)}[S*]		     P*		     ;
			   {(e&~e&r&~r)|(!e&!~e)}[*s] *p". Additionally, files
			   found in the	newer archive that do not  existed  in
			   the	older are replaced by a	'detruit' entry, which
			   marks them to be remove at  restoration  time.  For
			   more	information about decremental backups read the
			   usage_notes.html  file  in  the documentation. Note
			   that	decremental  backup  is	 not  compatible  with
			   delta binary.

       -asecu, --alter=secu
			   This	option disable the ctime check done by default
			   during  an  differential backup: If the ctime of an
			   plain file has changed since	the archive of	refer-
			   ence	was done while all other values	stay unchanged
			   (inode  type, ownership, permission,	last modifica-
			   tion	date), dar issues  a  "SECURITY	 WARNING",  as
			   this	 may be	the sign of the	presence of a rootkit.
			   You should use the -asecu option  to	 disable  this
			   type	 of  warning globally, if you are doing	a dif-
			   ferential backup of a just restored data (a differ-
			   ential backup with the archive used for restoration
			   taken as reference).	Effectively in that situation,
			   as it is not	possible to  restore  ctime,  the  re-
			   stored  data's  ctime will have changed while other
			   parameters  will  be	 unchanged  for	 all  restored
			   files,  leading  dar	to issue a warning for all re-
			   stored files. This security check is	disabled  (im-
			   plicitly) if	dar is run with	-ac option. Last, if a
			   file	 has  only its EA changed since	the archive of
			   reference was done (new EA,	removed	 EA,  modified
			   EA),	 the  security	warning	will show (false posi-
			   tive).

       -., --user-comment "<message>"
			   This	option let the user add	an  arbitrary  message
			   into	 the  archive header. Warning! this message is
			   always stored in clear text,	even if	the archive is
			   encrypted. You can see the message inserted	in  an
			   archive  displaying	the  archive  summary  (dar -l
			   <archive> -q). Some macro can be  used  inside  the
			   <message>:

			   %c	is  replaced  by  the  command line used. Note
				that  for  security,  any  option  related  to
				archive	encryption is removed (-K, -J, -$, -#,
				-*,  -%). The command included from a DCF file
				(see -B	option)	are never added	by this	macro.
				As a consequence, if you do not	 want  to  see
				--user-comment stored in user comments you can
				add  the  --user-comment  definition in	an in-
				cluded file like ~/.darrc for example.

			   %d	this is	the current date and time

			   %u	this is	the uid	under which dar	has been run

			   %g	this is	the gid	under which dar	has been run

			   %h	the hostname on	which  the  archive  has  been
				created

			   %%	the % character.

       -3, --hash <algo>   With	 this  option  set,  when creating, isolating,
			   merging or repairing	an archive, beside each	gener-
			   ated	slices an on-fly hash file  of	the  slice  is
			   created  using  the	specified algorithm. Available
			   algorithm are "md5",	"sha1" and  "sha512".  By  de-
			   fault no hash file is generated. The	hash file gen-
			   erated is named based on the	name of	the slice with
			   the .md5, .sha1 or .sha512 extension	added to it at
			   the	end.  These  hash  files  can  be processes by
			   md5sum,  sha1sum  and  sha512sum   usual   commands
			   (md5sum  -c	<hash  file>) to verify	that the slice
			   has not been	corrupted. Note	 that  the  result  is
			   different  than  generating	the  hash  file	 using
			   md5sum or sha1sum once the  slice  is  created,  in
			   particular  if  the media is	faulty:	calling	md5sum
			   or sha1sum on the written slice will	make you  com-
			   pute	 the  hash  result  on a possibly already cor-
			   rupted file,	thus the corruption will not  be  seen
			   when	 testing  the file against the hash at a later
			   time. Note also that	the creation of	a hash file is
			   not available when producing	the archive on a  pipe
			   ("dar -c -").

       -7, --sign email[,email[,...email]]
			   When	 creating,  isolating, merging or repairing an
			   archive with	public key encryption (read -K option)
			   it is also possible to sign it with one or more  of
			   your	 private key(s). At the	difference of the hash
			   feature above, only the randomly generated key used
			   to cipher the archive, key that is dropped  at  the
			   beginning and at the	end of the archive, is signed.
			   If the archive is modified at some place, that part
			   will	 not  be  possible  to decipher, but signature
			   verification	will stay quick	and valid, unless  the
			   part	 that  has been	tempered is the	key inside the
			   archive in which case signature check will report a
			   failure and archive will not	be readable at all. If
			   the signature is valid and the archive could	be ex-
			   tracted without error, the whole archive  could  be
			   assumed  to	be signed by the gnupg key owners, but
			   read	below the security note. See also GNUPGHOME in
			   the ENVIRONMENT section at the end  of  this	 docu-
			   ment.

			   A  summary information about	the signature informa-
			   tion	is displayed while listing an archive in  sum-
			   mary	 mode "dar -l <archive>	-q". For any operation
			   involving a signed archive, a  short	 message  only
			   shows  if the archive is signed an one or more sig-
			   nature check	failed,	no  message  is	 displayed  in
			   case	 of  successful	 signature check. This warning
			   may be disabled using  the  --alter=blind-to-signa-
			   tures command.

       -<, --backup-hook-include <mask>
			   The	mask is	applied	to path+filename during	backup
			   operation only. If a	given file matches the mask, a
			   user	command	(see -=	option below) will be run just
			   before proceeding to	the backup of that file	and  a
			   second  time	right after it has completed. See also
			   -> option below. IMPORTANT: if using	the short  op-
			   tion,  you  need to enclose it between quotes: '-<'
			   for the shell not to	interpret the <	as a  redirec-
			   tion. This option can be used several times on com-
			   mand-line.

       -> --backup-hook-exclude	<mask>
			   The	mask is	applied	to path+filename during	backup
			   operation only. If a	given file matches  the	 mask,
			   even	if it matches a	mask given after -< option, no
			   user	 command will be executed before and after its
			   backup. The -< and -> options act like  -g  and  -P
			   options (but	for a different	purpose), they can re-
			   ceive  wildcard expression and thus have their com-
			   portment driven  by	the  --alter=globe  and	 --al-
			   ter=regex  expressions  seen	 above,	as well	as the
			   --alter=mask	 option.  Last	the  --alter=case  and
			   --alter=no-case  modify also	the way	case sensitiv-
			   ity is considered for these masks. By  default,  no
			   ->  or  -<  option, no file get selected for	backup
			   hook. IMPORTANT: if using  the  short  option,  you
			   need	 to  enclose  it  between quotes: '->' for the
			   shell not to	interpret the >	as a redirection. This
			   option can be used several times on command-line.

       -=, --backup-hook-execute <string>
			   for files covered by	the mask  provided  thanks  to
			   the -< and -> options, the given string is executed
			   just	 before	 the  backup  of  that file starts and
			   right after it has completed. Pay  attention:  when
			   the	action applies to a directory, it does not ap-
			   ply to any file  and	 subdirectory  located	inside
			   this	directory. Several macros can be used that are
			   substituted at run time:

			   %%	     will be replaced by a literal %

			   %p	     will  be  replaced	by the full path under
				     backup

			   %f	     will be replaced by the filename (without
				     the path)

			   %u	     will be replaced by the UID of the	file

			   %g	     will be replaced by the GID of the	file

			   %t	     will be replaced by a letter  correspond-
				     ing  to  the type of inode: 'f' for plain
				     file, 'l' for symlink, 'd'	for directory,
				     'c' for char devices, 'b' for  block  de-
				     vices,  's'  for  sockets,	'p' for	pipes,
				     'o' for doors.

			   %c	     and most interesting, %c (c for context),
				     will be replaced by "start" or  by	 "end"
				     when  the	command	 is executed before or
				     after the backup respectively.

			   For example,	this feature let one dump  a  database
			   just	 before	 its  backup  starts,  and  remove the
			   dumped file(s) once the backup  of  that  part  has
			   completed.

			   Note:  when	a  directory is	selected for this fea-
			   ture, the user command is run  before  starting  to
			   backup  any file located in that directory and sub-
			   directories,	 with  the  context  "start"  (see  %c
			   above).  It	is  also  run,	as expected, after all
			   files in that  directory  and  subdirectories  have
			   been	 saved,	with this time the context "end". But,
			   between these two executions, even  if  a  file  do
			   match the backup-hook masks (thus, this file	is lo-
			   cated  inside  this	directory), no command will be
			   executed for	it! It is assumed that when  a	direc-
			   tory	 has  been  asked for a	backup-hook to be exe-
			   cuted, this hook (or	user command) is preparing all
			   data	located	in that	directory.

			   For performance reasons due to the  creation	 of  a
			   shell process to intepret the user command-line and
			   subsequently	 the execution of the user command it-
			   self	(and this once before and once after a file to
			   backup), it not advise to use this  feature	for  a
			   large  number  of files under backup	(or worth, all
			   of them). The purpose of this feature is to prepare
			   the backup of some particular structures that  need
			   coherence  between files in order to	be saved prop-
			   erly. If all	data under backup is concerned by such
			   coherent structure, better  act  before  and	 after
			   running  the	 dar command itself (for example stop-
			   ping/suspending and	restarting/resuming  the  con-
			   cerned service/process). If many of such structures
			   are under backup or are nested in each others, sav-
			   ing	 them  independently  (eventually  using  this
			   backup-hook feature for some	or all	of  them)  and
			   merging  the	 resulting  dar	 backups  afterward or
			   feeding a dar_manager database with them, are  also
			   options to consider.

			   The	environment variable DAR_DUC_PATH also applies
			   to these user commands (see -E above, or the	 ENVI-
			   RONMENT paragraph below).

       -ai, --alter=ignore-unknown-inode-type
			   When	 dar meets an inode type it is not aware about
			   (some times ago, it was the case for	Door inode  on
			   Solaris for example,	Door inodes are	handled	by dar
			   since release 2.4.0), it issues a warning about its
			   inability to	handle such inode. This	warning	occurs
			   even	 if  that entry	is filtered out	by mean	of -X,
			   -I, -P, -g, -[ or -]	options, as soon as some other
			   entry in that same directory	has to	be  considered
			   for backup, leading dar to read that	directory con-
			   tents  and failing on that unknown inode type (fil-
			   tering is done based	on  the	 result	 of  directory
			   listing).  This option is to	avoid dar issuing such
			   warning in that situation.

       -8, --delta sig	   This	option can be used for archive backup,	isola-
			   tion	 and  merging.	Important:  read also the best
			   practice paragraph below

			   Called during a backup operation it	leads  dar  to
			   create  delta  signature for	each file: If the file
			   is new or has changed, a signature is computed  and
			   stored  beside the file's data, which increases the
			   archive size. If the	file is	not new	 and  has  not
			   changed  (differential  backup context) if an delta
			   signature is	found in the archive of	reference  (or
			   isolated  catalogue),  this	signature is copied to
			   the resulting archive, but not the file's data.  If
			   the	reference  archive  does not hold delta	signa-
			   ture, a new delta signature is  computed  based  on
			   the	current	data found on filesystem for that file
			   and then stored in the resulting archive.   But  in
			   any case, without --delta sig the resulting archive
			   will	 hold no delta signature. Note that delta sig-
			   nature transfer is not possible when	the archive of
			   reference is	read in	sequential  mode  (still  here
			   for backup operation), thus delta signature is dis-
			   abled  when the archive of reference	is read	in se-
			   quential mode.

			   For isolation and merging operations, the  behavior
			   is  slightly	 different: --delta sig	option let dar
			   transfer existing delta signatures from the	origi-
			   nal archive to the isolated/merged one but does not
			   lead	dar to compute delta signatures	for files that
			   do not have one, unless one of the --include-delta-
			   sig	or --exclude-delta-sig option is specified; in
			   that	 case  the   delta   signatures	  are	trans-
			   fered/dropped and if	not present calculated accord-
			   ingly  to  these mask options. However note that it
			   is not possible to calculate	 delta	signature  for
			   unsaved  files in the archive of reference (because
			   the archive of reference does not hold their	 data)
			   as  well  as	 for fully saved files when merging is
			   performed keeping files  compressed	(see  -ak  op-
			   tion).  Another restriction while merging concernes
			   sparse files, it is not possible to	calculate  bi-
			   nary	signature for file stored as sparse files, but
			   if  sparse file detection mechanism is activated at
			   merging time, delta signature can be	calculated for
			   sparse files	too even if it is missing in the  ref-
			   erence archive. In short: if	you want recalculation
			   of  delta signature while merging, do not keep file
			   compressed (do not use -ak option) and if you  want
			   to  avoid  having  sparse  files  excluded from the
			   delta signature recalcutation, activate sparse file
			   detection (use -ah option). Delta signature	trans-
			   fer	is not possible	for on-fly isolation, you need
			   to do normal	archive	isolation to  obtain  an  iso-
			   lated catalogue with	delta signatures.

       -8, --delta sig:<function>:<multiplier>[:<divisor>[:<min>[:<max>]]]
			   this	 variant of '--delta sig' option let you spec-
			   ify the block length	used  to  build	 delta	signa-
			   tures.  Larger  values  reduce CPU load required to
			   build delta signature, but also lead	to less	 accu-
			   racy	 when  computing  delta	 binary,  which	 means
			   larger delta	patch and more data saved when a  file
			   has	changed. The block len is calculated following
			   the formula:	block_len =  function(filesize)*multi-
			   plier/divisor  If  this  calculated	value is lower
			   than	"min", it is set to  min.  If  the  calculated
			   value is greater than "max" it is set to max	unless
			   max	is set to zero in which	case the value is kept
			   as is. Of course  "divisor"	cannot	be  null.  The
			   available functions are:

			   fixed
				always	returns	 1,  in	other terms, the block
				size is	independent  from  the	file  size  to
				build delta signature for

			   linear
				returns	 the  filesize.	here, you will most of
				the time use 1 for multiplier and increase di-
				visor to at least 10 for it makes sense

			   log2	returns	the upper rounded power	of  2  closest
				to the file size (base 2 logarithm).

			   square2
				returns	 the  approximated value of the	square
				root of	the file size. Note  that  for	better
				performance  and  as accuracy is not important
				here,  this   function	 is   implemented   as
				exp2(log2(filesize)/2) where exp2 and log2 are
				based  on the integer left and right bit shift
				operations.

			   square3
				returns	the approximated  value	 of  the  cube
				root	 of	filesize,    implemented    as
				exp2(log2(filesize)/3)

	      All numerical fields can receive multiplier suffix (k,  M,  ...)
	      for  more	 details  about	these suffixes,	see -s option descrip-
	      tion. If not specified, "max" defaults to	zero (no maximum value
	      defined).	 If   not   specified	"min"	defaults   to	RS_DE-
	      FAULT_BLOCK_LEN  (see  below for details on this symbol).	If not
	      specified	"divisor" defaults to 1. Using "--delta	 sig"  without
	      additional    fields    is    equivalent	  to   using   --delta
	      sig:fixed:RS_DEFAULT_BLOCK_LEN up	to dar/libdar version  2.7.10.
	      Starting	release	 2.7.11,  the  default	is  equivalent	to use
	      --delta  sig:square2:1:1:RS_DEFAULT_BLOCK_LEN:128k  ,  which  is
	      _almost_	what  is  used	by  rsync command line tool (rsync use
	      rather  700  bytes  as  minimum  block  size),   where   "RS_DE-
	      FAULT_BLOCK_LEN"	is  taken  from	librsync and is	today equal to
	      2048 bytes (which	may well change	in the future by  the  way  if
	      librsync maintainers decide to do	so).

       -{, --include-delta-sig <mask>
			   By default when --delta sig is provided, delta sig-
			   natures  are	computed for all files enrolled	in the
			   backup operation (see also --delta-sig-min-size op-
			   tion). This option  and  --exclude-delta-sig	 allow
			   restricting	the  files  for	 which delta signature
			   have	to be calculated in that situation.  The  mask
			   applies  to	the  whole path, the same way as -P/-g
			   options do.

			   For merging or isolation operations,	 when  --delta
			   sig is used no delta	signature is computed only ex-
			   isting  ones	are transferred	as is without restric-
			   tion. To change that	behavior and thus either  drop
			   or  add  delta signature to files that did not have
			   one in the archive of reference, specify an	combi-
			   nation  of  --include-delta-sig or --exclude-delta-
			   sig with --delta sig.  This option as well as --ex-
			   clude-delta-sig can be used several times  on  com-
			   mand-line  but  are useless/ignored without --delta
			   sig.	See also -am, -ag and -ar options.

       -}, --exclude-delta-sig <mask>
			   Files matching the given mask will never have their
			   delta signatures calculated,	may --delta sig	option
			   be specified	or not.	See  also  --include-delta-sig
			   option above	and --delta-sig-min-size below.

       -6, --delta-sig-min-size	<number>
			   For	archive	 merging, isolation and	creation, when
			   dar has to (re-)calculate  delta  signatures,  this
			   option  modifies  the  minimum file size (in	bytes)
			   below which dar never calculates delta  signatures.
			   This	 option	 acts  independently  from  --include-
			   delta-sig and --exclude-delta-sig , however it can-
			   not re-activate delta  signature  recalculation  by
			   itself  while  merging/isolating an archive,	it re-
			   quires  either  --exclude-delta-sig	or  --include-
			   delta-sig  option  to  be active in that situation.
			   For archive backup instead,	it  does  not  require
			   --exclude-delta-sig nor --include-delta-sig to act,
			   but	only need --delta sig option to	be set.	By de-
			   fault, this minimum size is 10 kio. The same	option
			   suffixes (k for kilo, M for mega, G	for  giga,  T,
			   ...)	 as the	ones available with --slice option can
			   be used here	too. Using zero	as argument gives  the
			   same	 result	 as  not specifying this option	at all
			   (default size).

       -8, --delta no-patch
			   In the context of differential backup, this	option
			   leads  dar to never consider	files for delta	binary
			   even	if delta signatures are	 present.  By  default
			   delta  binary  (rsync-like)	operation is performed
			   when	a file has changed since the archive of	refer-
			   ence	was made *and* if a delta signature  could  be
			   found in the	archive	of reference for that file (or
			   in the isolated catalogue used as reference for the
			   incremental/differential  backup). If no delta sig-
			   nature could	be found or  if	 --delta  no-patch  is
			   used, the normal behavior is	done, which consist of
			   saving that whole file in the archive. Note that if
			   the	archive	 of  reference	is  read in sequential
			   mode, the --delta no	patch is  required,  dar  will
			   refuse  to  execute	the operation: sequential read
			   and binary delta are	not compatible,	because	 read-
			   ing	in  sequential	mode  an  archive does not let
			   skipping backward to	fetch the delta	signature nec-
			   essary to setup a delta patch.

       Binary delta options usage and best practices:
	      First it must be understood that	binary	delta  has  advantages
	      (less  storage requirement) and drawbacks: data corruption has a
	      wider impact on the ability to restore a given file, restoration
	      of incrementally backed up file  may  ask	 much  more  than  one
	      archive  to  be used. To limit the impact	of the first drawback,
	      dar binary delta is done per file, not  globally	on  the	 total
	      amount  of  saved	data. You are also strongly encouraged to pro-
	      tect your	backups	with parity data using par2  (see  dar_par.dcf
	      file  in the examples section of the documentation). Adding par2
	      data will	increase storage requirement by	a little, but  usually
	      much  less than the amount gained	using binary delta. Last draw-
	      back, binary delta relies	on checksum (contained	in  the	 delta
	      signature)  and  not on the real data to build the binary	delta.
	      There is chances that  two  different  files  provide  the  same
	      checksum,	 even  if the chances are very low, probability	is not
	      null. The	consequence is that using binary delta the risk	exists
	      that the restored	data do	not match the original data  and  this
	      will  not	be noticed by the librsync library on which libdar re-
	      lies for that feature. Dar adds a	second level of	 checksum,  to
	      detect  data corruption inside the archive and to	check that the
	      file the delta patch is about to be applied is the expected base
	      file, this reduces the risk of "collision" but does  not	remove
	      it  completely.  After  these  warnings,	let's now see the best
	      practices	about binary delta:

	      Once a full backup has been done using --delta sig, any  differ-
	      ential  backup  made  based on this archive will use binary diff
	      for file having a	delta signature	present	in the full backup. If
	      you always make differential (not	incremental) backups based  on
	      such  full backup	you have nothing more specific to do in	regard
	      to binary	delta, dar will	handle it transparently. In particular
	      you do not need to invoke	--delta	sig at subsequent backup, this
	      saves space in differential archives as well as CPU cycles.

	      However, When doing incremental (not differential) backups  this
	      time,  if	you want to have dar using binary delta	at each	subse-
	      quent incremental	backup,	delta signatures must  be  present  in
	      the  successive  incremental  backups.  This  is	done  by using
	      --delta sig option for each new incremental backup created.

	      If you were used to use isolated catalogues before release 2.6.0
	      you can add --delta sig option while isolating a catalogue  from
	      an  archive containing delta signatures. Such isolated catalogue
	      will be much larger than what it can be without this option  but
	      it  can  be used as reference for	a new differential/incremental
	      backup letting dar relying on binary delta.  Isolated  catalogue
	      generated	without	--delta	sig do not contain delta signature and
	      cannot lead to binary delta operation when used as reference for
	      an incremental or	decremental backup.

	      Another  way  of	doing  differential backup is to make a	normal
	      full backup without --delta sig option, and only add delta  sig-
	      natures  at  archive isolation time using	--delta	sig --include-
	      delta-sig	"*" options. Binary delta signature will then be  cal-
	      culated based on the saved files.	Then, using the	resulting iso-
	      lated  catalogue as reference dar	will be	able to	proceed	to bi-
	      nary delta for the differential backup.  If  this	 works	pretty
	      well  for	 differential backup (or the first incremental backup)
	      which is based on	a full backup, for incremental backup this  is
	      less adapted as a	file that has not changed since	the archive of
	      reference	 was  made  does not hold any data and calculating the
	      delta signature is not possible. The first method	explained  two
	      paragraphs above is better as the	incremental backup fetches the
	      already calculated delta signature from the reference to keep it
	      in  the  resulting incremental backup, so	even without data, bi-
	      nary delta is still possible.

	      Isolated catalogue using the --delta sig option,	can  still  be
	      used as backup of	the internal catalogue they have been isolated
	      from.  However,  as  they	 hold their own	delta signatures, such
	      isolated catalogue can only have access to its own ones, not  to
	      those of the archive of reference. In particular when testing an
	      archive  (-t  option), using -A option to	rescue the archive in-
	      ternal catalogue using an	isolated  catalogue  containing	 delta
	      signatures,  dar will not	be able	to check that there is no cor-
	      ruption in the delta signatures  fields  of  the	archive	 under
	      test. For	that type of testing either use	the internal catalogue
	      of  the  archive	or rescue it using an isolated catalogue built
	      without --delta sig option.

       -az, --alter=zeroing-negative-dates
			   dar/libdar saves dates as a number of seconds since
			   the beginning of year 1970, the  well  known	 "Unix
			   time"  (plus	 a  positive  fraction	for sub-second
			   time-stamping). Some	systems	may return a  negative
			   number as the Unix time of a	given file (files hav-
			   ing	dates  before  1970), in that situation	by de-
			   fault and since release 2.5.12 dar pauses and  asks
			   the	user whether to	assume the date	as being zero.
			   But with -az	option,	dar/libdar  automatically  as-
			   sumes such negative dates to	be zero	and just issue
			   a warning about the problem met.

       -\, --ignored-as-symlink	<absolute path>[:<absolute path>[:...]]
			   When	 dar  reaches  an  inode which is part of this
			   provided colon-separated list, if this inode	is not
			   a symlink this option has no	effect,	but if it is a
			   symlinks dar	saves the file the symlink  points  to
			   and	not the	symlink	itself as dar does by default.
			   In particular, if the pointed to inode is a	direc-
			   tory	 dar  recurses in that directory. You can also
			   pass	 this  list  as	 argument   to	 the   DAR_IG-
			   NORED_AS_SYMLINK environment	instead	of using --ig-
			   nored-as-symlink  (which  takes precedence over the
			   environment variable).

       -'\'', --modified-data-detection=any-inode-change, --modified-data-de-
       tection=mtime-and-size
			   Before release 2.6.0, during	a  differential/incre-
			   mental  backup  if any part of a file's inode meta-
			   data	changed	(ownership, permission,	...)  even  if
			   the	mtime  (last  modification time) and file size
			   stood the same, dar had no choice than resaving the
			   whole  file	for  backup  to	 record	 the  metadata
			   changes.  This  lead	 to a waste of backup time and
			   space if in fact and	for example only the ownership
			   had been modified. You can still keep this histori-
			   cal behavior	by invoking the	--modified-data-detec-
			   tion=any-inode-change option.  Since	release	 2.6.0
			   a  new  entry status	("inode-only") has been	added.
			   Dar can now re-save only metadata  when  the	 inode
			   change  does	 not concern the data. To know whether
			   the data has	changed	or not,	by default (no --modi-
			   fied-data-detection	option	given)	dar  looks  at
			   mtime  and  at file's size only. Specifying --modi-
			   fied-data-detection=mtime-and-size  (which  is  the
			   default  behavior) can be used to revert the	action
			   of  --modified-data-detection=any-inode-change  for
			   example  when  playing  with	 included  files  (DCF
			   files): the latest met takes	precedence.

       -T, --kdf-param <integer>[:<hash	algo>]
			   At the difference of	the listing context  (see  be-
			   low),  in the context of archive creation, merging,
			   isolation and repair, -T option let you define  the
			   iteration count used	to derive the archive key from
			   the	passphrase  you	 provided  (archive encryption
			   context) and	the hash algorithm used	for  that  de-
			   rivation.  -T  has another older meaning when doing
			   archive listing, but	due to the lack	of free	 char-
			   acter  to  create  a	 new  CLI option, there	was no
			   other choice	than recycling an existing option  not
			   used	 in  the  context  of  archive	creation/merg-
			   ing/isolation. The consequence is that the  -T  op-
			   tion	 must appear after the -+/-c/-C/-y options for
			   the operational context to be known at the time the
			   -T option is	met and	its --kdf-param	meaning	to  be
			   taken  into	account. As --kdf-param	is an alias to
			   -T, this long form of  this	option	must  also  be
			   found after the use of either -c, -C	or -+ option.

	      Without --kdf-param the KDF fonction uses	200,000	iterations for
	      md5, sha1	and sha512 (PBKDF2 from	PKCS#5 v2) but only 10,000 for
	      argon2.  If libargon2 is present,	this is	the default hash algo-
	      rithm, else sha1 is  used	 with  PBKDF2.	Valid  parameters  are
	      "sha1", "sha512",	"md5" and "argon2" for the hash	algorithms and
	      a	 value	greater	 than 1	for the	iteration count. However it is
	      advise to	use a value equal or greater  to  the  default	values
	      mentionned  previously. The suffixes described for -s option are
	      also available here (k, M, G, T, P, ...) however	pay  attention
	      to the -aSI/-abinary mode	which default to binary, in which case
	      "-T  1k" is equivalent to	"-T 1024". Example of use: --kdf-param
	      20k:argon2

       RESTORATION SPECIFIC OPTIONS (to	use with -x)

       -k[{ignored|only}], --deleted[={ignore|only}]
			   Without argument or	with  the  "ignore"  argument,
			   this	 option	 leads	dar at restoration time	to not
			   delete files	 that  have  been  deleted  since  the
			   backup of reference (file overwriting can still oc-
			   cur).  By  default,	files that have	been destroyed
			   since the backup of reference  are  deleted	during
			   restoration,	 but  a	 warning is issued before pro-
			   ceeding, except if -w is used. If -n	 is  used,  no
			   file	 will be deleted (nor overwritten), thus -k is
			   useless when	using -n. If -/	option is  used,  this
			   option without argument is ignored! With the	"only"
			   argument, this option only consider files marked as
			   to  be  removed  in the archive to restore, no file
			   are restored	but some file are removed. When	-konly
			   (or --deleted=only) is used,	the -/ option  is  ig-
			   nored  (at the opposition of	the "--deleted=ignore"
			   option which	is ignored when	the -/	is  used).  Of
			   course  "--deleted=ignore" and "--deleted=only" are
			   mutually exclusive, because if both	of  them  were
			   available  at the same time dar would do nothing at
			   all.

       -r, --recent	   only	restore	files that are absent or  more	recent
			   than	 those	present	in filesystem. If -/ option is
			   used, this option is	ignored!

       -f, --flat	   do not restore directory structure. All files  will
			   be  restored	 in  the directory given to -R,	if two
			   files of the	same name have	to  be	restored,  the
			   usual  scheme for warning (-w option) and overwrit-
			   ing (-n  option)  is	 used.	No  rename  scheme  is
			   planned actually. When this option is set, dar does
			   not	remove	files that have	been stored as deleted
			   since last backup. (-f implicitly implies -k).

       -ae, --alter=erase_ea
			   [DEPRECATED use -/ instead] Drop all	existing EA of
			   files present in filesystem that will  have	to  be
			   restored.  This  way,  the restored files will have
			   the exact set of EA they had	at  the	 time  of  the
			   backup.  If this option is not given, a file	to re-
			   store will have its EA overwritten by those present
			   in the backup and if	some  extra  EAs  are  present
			   they	will remain untouched. See the Note concerning
			   Extended  Attributes	 (EA) above for	a detailed ex-
			   planation about this	 behavior.  If	-/  option  is
			   used, this option is	ignored!

       -D, --empty-dir	   At  restoration  time,  if -D is not	specified (de-
			   fault) any file and directory is restored in	regard
			   to the filtering mechanism specified	(see  -I,  -X,
			   -P,	-g,  -[	 and  -] options). But if -D option is
			   provided the	restoration skips directory trees that
			   do not contain saved	files.	This  avoid  having  a
			   huge	 empty	tree  with  a few restored files espe-
			   cially when restoring a differential	archive	in  an
			   empty  place.  Note:	 This feature cannot work when
			   --sequential-read is	used, as it is not possible to
			   know	whether	a directory contains or	not some saved
			   files at the	time the directory inode is read  from
			   the archive in sequential reading mode.

       -2, --dirty-behavior { ignore | no-warn }
			   At  restoration  time,  if a	file in	the archive is
			   flagged as "dirty" (meaning that it had changed  at
			   the time it was saved), user	is asked for confirma-
			   tion	 before	restoring it. Specifying "ignore" will
			   skip	those dirty files, while  "no-warn"  will  re-
			   store  them without user confirmation. This feature
			   is incompatible with	sequential  reading  mode,  in
			   this	 mode  dar cannot know whether a file is dirty
			   before having  restored  it.	 In  consequences,  in
			   --sequential-read,  once  a file has	been restored,
			   if it is found to be	dirty it will be  removed  un-
			   less	dirty-behavior is set to "no-warn".

       -/, --overwriting-policy	<policy>
			   Overwriting policy can be used for archive restora-
			   tion	 to  define  when and how file overwriting can
			   occur. See above the	description of this option.

       -A, --ref [[<URL>]<path>]/<basename>
			   The --ref option can	be used	with an	isolated cata-
			   logue to rescue an archive that has a corruption in
			   the catalogue part, see GENERAL OPTIONS  above  for
			   more	details.

       -au, --alter=unix-sockets
			   Do  not restore unix-sockets. By default saved unix
			   sockets are recreated at restoration	time.

       -ap, --alter=place  Since version 2.7.1 libdar  stores  the  filesystem
			   root	 path  (given  -R option) used when creating a
			   backup, this	is the known as	the  'in-place'	 path.
			   At  restoration  time by default, dar uses the pro-
			   vided -R option or if not specified uses  the  cur-
			   rent	 directory  as root directory for the restora-
			   tion	operation. Using -ap option lead dar  to  read
			   the	in-place  path from the	backup and restore the
			   data	using this path	instead. This option  is  thus
			   exclusive with -R option and	may lead dar to	report
			   an error if the archive has not stored any in-place
			   path	 (older	 archive format	or backup resulting of
			   the merging of two  backups	having	different  in-
			   place path).

       TESTING AND DIFFERENCE SPECIFIC OPTIONS (to use with -t or -d)

       -ado-not-compare-symlink-mtime, --alter=do-not-compare-symlink-mtime
			   With	 this option set, when comparing a symlink, no
			   message shows when symlink in archive  and  symlink
			   on  filesystem  do  only differ by their mtime. See
			   also	-O option.

       -ap, --alter=place  is also  available  as  described  just  above  for
			   restoration options.

       No  other specific option, but all general options are available	except
       for example -w which is useless,	as testing  and	 comparing  only  read
       data.  -A option	is available as	described in GENERAL OPTIONS to	backup
       of internal catalogue of	the archive (assuming you  have	 a  previously
       isolated	catalogue available).

       Doing  a	difference in sequential read mode is possible but hard	linked
       inodes can only be compared to the filesystem the first time  they  are
       met, next hard links to this same inode cannot obtain the corresponding
       data because skipping backward in sequential read mode is forbidden. In
       that  situation,	 the  hard links are reported as skipped, meaning that
       data comparison could not be performed.

       LISTING OPTIONS (to use with -l)

       -T, --list-format=<normal | tree	| xml |	slicing>
			   By default, listing provides	a tar-like output (the
			   'normal' output). You can however get  a  tree-like
			   output,  an	XML structured output or an output fo-
			   cusing on slice(s) where each file's	data,  EA  and
			   FSA	is  located in.	The option --tree-format is an
			   alias to --list-format=tree	(backward  compatibil-
			   ity). Note that the files doc/dar-catalog-*.dtd de-
			   fine	 the  format  of  the XML output listing (This
			   file	is also	installed under	$PREFIX/share/doc)

			   the -Tslicing option	can also be used with isolated
			   catalogue generated with dar	 2.5.0	or  above,  as
			   isolated catalogues now contain a copy of the slic-
			   ing layout of the archive of	reference. However, if
			   the	archive	of reference has been re-sliced	(using
			   dar_xform) after the	isolated  catalogue  has  been
			   built,  the	slicing	 information would not be cor-
			   rect. For that corner case, you can use the -s  and
			   -S  options	with -Tslicing to specify what are the
			   new slice sizes of the archive of reference.	 Last,
			   -Tslicing  and  --sequential-read  options  are not
			   compatible except for isolated catalogues.

       -as, --alter=saved  list	only saved files

       -alist-ea, --alter=list-ea
			   list	Extended Attributes name for  each  file  that
			   has some.

       -ay, --alter=byte, --alter=bytes
			   by  default	files  size is displayed to occupy the
			   shortest number of characters by using the  largest
			   unit	possible (KiB, MiB, GiB, and so	on). With this
			   option  instead, the	size is	displayed with maximum
			   precision using the exact number of bytes used  for
			   each	file.

       -I, -X, -P, -g, -[, -]
			   can	be  used  to filter file to list base on their
			   name	or path.

       -aheader		   displays  the  header  (when	 --sequential-read  is
			   used) or the	trailer	of the archive and then	stops.
			   This	archive	header/trailer is always in clear text
			   even	 when  the archive is ciphered.	This option is
			   here	to let you access to these fields without pro-
			   viding the encryption key.

       From the	general	options	it seems only -vm and  -b  stay	 useful	 here.
       Note  that  -vm	displays an archive summary first, where a detailed of
       information about the archive can be obtained. If you want  to  display
       only this summary use -q	with -l	option.

       displayed fields

		 [Data]	   possible  values  are [     ] or [Saved] or [InRef]
			   or [DIRTY] or [Inode] or  [Delta].  [      ]	 means
			   that	 the  data has not been	saved because there is
			   no change since backup of reference.	[Saved]	 means
			   that	 the  data has been saved completely, and thus
			   this	archive	is able	to restore  the	 file  without
			   other  help.	 [InRef] was used in archive generated
			   by dar version 2.3.x	and before  when  isolating  a
			   catalogue  from an archive, and means that the file
			   was saved in	the reference archive.	[DIRTY]	 means
			   that	 data  is saved	(like [Saved]) but has changed
			   at the time dar was reading it for backup,  leading
			   dar	to possibly store the file in a	state it never
			   had.	[Inode]	means only  permission	ownership  and
			   ctime  data	changed	since the archive of reference
			   was done is recorded	in the archive,	the  data  did
			   not changed according to the	--comparison-field set
			   or  not  set. Last [Delta] means the	file's data is
			   saved as a binary delta (or delta patch), which  is
			   much	 shorter  than	the  full data as what is done
			   with	[Saved]. It also means that you	can  only  re-
			   store  the  file  if	it exists on filesystem	in the
			   state it had	when  the  archive  of	reference  was
			   done,  for the patch	to be possible to apply	on it.
			   This	is the case for	example	if you	just  restored
			   this	file from the archive of reference.

		 [D]	   possible values are [-], [ ]	or [D].	[D] means that
			   delta signature associate with this file is present
			   in  the archive. [ ]	means that the file has	no as-
			   sociated delta signature and	thus binary diff  will
			   not	be  possible for it. [-] is used for non plain
			   files inodes	for which delta	signature is  not  ap-
			   plicable.

		 [EA]	   possible  values  are " " (empty string) or [     ]
			   or [InRef], [Saved] or [Suppr].  It	Shows  whether
			   Extended   Attributes   are	 present   and	 saved
			   ([Saved]), are present  but	not  saved  ([	    ])
			   which means there is	no change since	backup of ref-
			   erence,  if	there  is  no  EA  saved for this file
			   (empty string) or if	some EA	were  present  in  the
			   archive  of	reference but none is currently	avail-
			   able	([Suppr]). [InRef] was used when  isolating  a
			   catalogue   (release	 2.3.x	and  before)  from  an
			   archive and means that the file was	saved  in  the
			   reference archive.

		 [FSA]	   Each	character represent a FSA Family:

			   "L"	is  the	 first	character (L/l/-) representing
				ext2/3/4 FSA family

			   "H"	is the second character	 (H/h/-)  representing
				HFS+ FSA family

			   "-"	the third character is reserved	for future FSA
				family and is always a dash for	now.

			   Uppercase  means  the  FSA  set is saved, lowercase
			   means the FSA is present in the archive  of	refer-
			   ence	 and  has  not changed since that time.	Last a
			   dash	(-) means no FSA of that family	has been saved
			   for that file.

		 [compr]   possible values are [....%] or [-----] or  [	     ]
			   or  [worse].	 Shows if the file has been compressed
			   ([...%]) and	the compression	ratio reached "(uncom-
			   pressed-compressed)/uncompressed",  for  example  [
			   33%]	 means	that the compressed data uses only 66%
			   of the space	required to  store  uncompressed  data
			   (33%	 of  space saved thanks	to compression), or if
			   the file is stored without compression ([	]  see
			   -m,	-Y  and	-Z options) or if the file is not sub-
			   ject	to compression because it is not a saved regu-
			   lar file ([----]), or if the	file takes more	 space
			   compressed than its original	size ([worse]),	due to
			   compression	overhead. Note that 1% compression ra-
			   tio brings quite no data reduction, while obviously
			   98% is a very  performant  compression  (compressed
			   file	 takes only 2% of the size required by the un-
			   compressed date).

		 [S]	   possible values are [ ] or [X]. [X] only applies to
			   saved plain files,  and  tells  that	 the  file  is
			   stored  using  sparse  file data structure: not all
			   data	is stored, long	sequence of zeros are skipped.
			   This	also means that	at restoration	time,  if  the
			   filesystem  supports	it, holes will be restored. To
			   store hole information libdar uses escape  sequence
			   (special  sequence of byte),	but to avoid real data
			   to be considered as such escape sequence, a special
			   escape sequence is used when	data looks like	an es-
			   cape	sequence. So if	a data contains	a such	escape
			   sequence,  it  must be read as if it	contains holes
			   to be able to restore back the data in its original
			   form. For that reason, in some  rare	 circumstances
			   (saving an dar archive inside a dar archive without
			   compression	or  encryption,	 for  example)	a file
			   without hole	may be marked [X] as if	it  had	 holes
			   and	will  be  longer  by on	byte for each data se-
			   quence looking like an escape sequence.

		 permission
			   see ls man page. Note that a	star (*) is  prepended
			   to the permission string if the corresponding inode
			   is  linked several times to the directory structure
			   (hard link).

		 user	   owner of the	file

		 group	   group owner of the file

		 size	   size	in byte	of the file  (if  compression  is  en-
			   abled, the real size	in the archive is "compression
			   rate" time smaller).

		 date	   the	last  modification  date of the	file. The last
			   access time is also saved  and  restored,  but  not
			   displayed.

		 filename  The name of the file.

		 Extended Attributes
			   When	using -alist-ea	option,	for hard linked	inode,
			   the	filename  is  followed	by  an integer between
			   braces: Entries with	the same number	do  point  the
			   the same inode.

		 Slice(s)  In  -Tslice	mode,  each file is given the range of
			   slices it is	located	in. If slice  size  is	chosen
			   particularly	 small,	 some  slices  may  contain no
			   file, EA, FSA data but only tape marks or  the  in-
			   ternal  catalogue,  leading	the aggregation	of re-
			   ported slices not to	cover all available slices  of
			   the archive.

EXPLICIT OPTIONAL ARGUMENTS
       When dar	has not	been compiled with GNU getopt, which is	not present by
       default	on  some systems like FreeBSD, you may lack the	optional argu-
       ments syntax. For example "-z" will create a parse  error  on  command-
       line,  or in -B configuration files. The	solution is to explicitly give
       the argument. Here follows a list of explicit argument to use in	 place
       of optional ones:

       -z		   must	be replaced by -z 9

       -w		   must	be replaced by -w d or -w default

       -H		   must	be replaced by -H 1

       -0		   must	be replaced by -0 ref

       -5		   must	be replaced by -5 ""

       -p		   must	be replaced by -p 1

       -v		   must	be replaced by -v all

       -k		   must	be replaced by -k ignore

       -5		   must	be replaced by -5 user.libdar_no_backup

       -M		   must	be replaced by -M I:/

       important  !  When using	GNU getopt(), optional arguments are available
       by sticking the argument	to the	short  option:	"-z"  for  example  is
       available  as  well  as	"-z9". But "-z 9" is wrong, it will be read as
       "-z" option and "9", a command line argument (not an argument to	the -z
       option).	In the other side, when	using a	non GNU	getopt this time, "-z"
       becomes an option that always requires an argument, and thus "-z	9"  is
       read  as	"-z" option with "9" as	argument, while	"-z9" will be rejected
       as a unknown option, and	"-z" alone will	generate an error as no	 argu-
       ment  is	provided. In consequences, you need a space between the	option
       (like "-z") and its argument (like "9"),	when dar does not  rely	 on  a
       GNU  getopt() call, which also imply you	to explicitly use arguments to
       options listed just above.

EXIT CODES
       dar exits with the following code:

       0	 Operation successful.

       1	 Syntax	error on command-line or DCF included file

       2	 Error due to a	hardware problem or a lack of memory.

       3	 Detection of a	condition that should never happen, and	 which
		 is considered as a bug	of the application.

       4	 Code issued when the user has aborted the program answering a
		 question from dar. This also happens when dar is not run from
		 a  terminal (for example launched from	crontab) and dar has a
		 question to the user. In that case, dar aborts	the  same  way
		 as if the user	pressed	the escape key at the question prompt.

       5	 is  returned  when  an	 error concerning the treated data has
		 been detected.	While saving, this is the  case	 when  a  file
		 could	not be opened or read. While restoring,	it is the case
		 when a	file could not be created or replaced.	While  compar-
		 ing, it is the	case when a file in the	archive	does not match
		 the one in the	filesystem. While testing, it is the case when
		 a file	is corrupted in	the archive.

       6	 an error occurred while executing user	command	(given with -E
		 or  -F	 option). Mainly because the creation of a new process
		 is not	possible (process table	is full) or the	 user  command
		 returned an error code	(exit status different from zero).

       7	 an  error  has	 occurred  when	calling	a libdar routine. This
		 means the caller (dar program), did not respect the  specifi-
		 cation	of the API (and	this can be considered as a particular
		 case of bug).

       8	 the  version  of  dar used is based on	finite length integers
		 (it has been compiled	with  the  option  --enable-mode=...).
		 This  code is returned	when an	integer	overflow occurred. use
		 the full version (based in the	so called "infinint" class) to
		 avoid this error.

       9	 this code indicates an	unknown	error. The  exception  caching
		 code to take care of new exceptions has probably been forgot-
		 ten  to  be update ...	this is	a minor	bug you	are welcome to
		 report.

       10	 you have tried	to use a feature that  has  been  disabled  at
		 compilation time.

       11	 some  saved  files  have  changed while dar was reading them,
		 this may lead the data	saved for this file not	correspond  to
		 a  valid  state  for this file. For example, if the beginning
		 and the end of	the file have been modified at the  same  time
		 (while	dar is reading it), only the change at the end will be
		 saved	(the  beginning	 has already been read), the resulting
		 state of the file as recorded by dar has  never  existed  and
		 may  cause problem to the application using it. This is known
		 as a "dirty" file in the archive.

SIGNALS
       If dar receives a signal	(see kill(2) man page) it will	take  the  de-
       fault  behavior which most of the time will abruptly abort the program,
       except for the following	signals:

       SIGINT	 This signal is	generated by the terminal when hitting	CTRL-C
		 (with the terminal's default settings), it can	also be	gener-
		 ated with the kill command

       SIGTERM	 This  signal is generated by the system when changing of run-
		 level in particular when doing	a shutdown,  it	 can  also  be
		 generated with	the kill command

       SIGHUP	 Depending  on	the system, this signal	may be sent before the
		 SIGTERM signal	at shutdown time, it  can  also	 be  generated
		 with the kill command

       SIGQUIT	 This  signal is generated by the terminal when	hitting	CTRL-\
		 (with the terminal's default settings), it can	also be	gener-
		 ated with the kill command

       SIGUSR1	 This signal can be generated by the kill command

       SIGUSR2	 This signal can be generated by the kill command

       For those previous signals, two	behavior  exit.	 For  SIGHUP,  SIGINT,
       SIGQUIT,	SIGTERM	and SIGUSR1, a delayed termination is done: the	backup
       or  isolation  operation	 is  stopped, the catalogue is appended	to the
       archive and the archive is properly completed with the correct termina-
       tor string, this	way the	generated archive is usable, and can  be  used
       as reference for	a differential backup at a later time. Note that if an
       on-fly  isolation  had  been  asked, it will *not* be performed,	and no
       user command will be launched even if dar has been configured  for  (-E
       option).	 For  SIGUSR2  instead	a fast termination is done: in case of
       backup or isolation, the	archive	is not completed at all,  only	memory
       and mutex are released properly.

       For both	type of	termination and	other operations than backup or	isola-
       tion,  dar's behavior is	the same: For restoration, all opened directo-
       ries are	closed and permissions are set back to their  original	values
       (if  they  had to be changed for	restoration). For listing, comparison,
       testing,	the program aborts immediately.

       Another point, when using one of	the previous signals, dar will	return
       with  the  exist	 status	4 meaning that the user	has aborted the	opera-
       tion. Note that answering "no" to a question from dar may also lead dar
       to exit this way. last, If before the end of the	program	the same  sig-
       nal is received a second	time, dar will abort immediately.

FILES
       $HOME/.darrc  and  /etc/darrc if	present	are read for configuration op-
       tion. They share	the same  syntax  as  file  given  to  -B  option.  If
       $HOME/.darrc  is	 not present and only in that case, /etc/darrc is con-
       sulted. You can still launch /etc/darrc from .darrc using  a  statement
       like -B /etc/darrc.  None of these file need to be present, but if they
       are  they are parsed AFTER any option on	the command line and AFTER in-
       cluded files from the command line (files  given	 to  the  -B  option).
       NOTE:  if  $HOME	is not defined $HOME/.darrc default to /.darrc (at the
       root of the filesystem).

       Else you	can see	conditional syntax below, and  -N  option  above  that
       leads dar to ignore the /etc/darrc and $HOME/.darrc files.

CONDITIONAL SYNTAX
       configuration  files  (-B  option, $HOME/.darrc and /etc/darrc) usually
       contain a simple	list of	command-line arguments,	split or not over sev-
       eral lines, and eventually mixed	 with  comments	 (see  -B  option  for
       more).  But, you	can also use make-like targets to ask for a particular
       set of commands to be used in certain conditions.

       A condition takes the form of reserved word immediately followed	 by  a
       colon  ':'.  This word +	colon must stand alone on its line, eventually
       with spaces or tabs beside it. The available conditions are:

       extract:		   all options listed after this condition get used if
			   previously on command line or file the  -x  command
			   has been used

       create:		   all options listed after this condition get used if
			   previously  on command line or file (-B option) the
			   -c command has been used

       list: (or listing:) if -l command has been used

       test:		   if -t command has been used

       diff:		   if -d command has been used

       isolate:		   if -C command has been used

       merge:		   if -+ command has been used

       repair:		   if -y command has been used

       reference:	   if -A option	has been used (except when -A is  used
			   for	the  snapshot  feature	or in conjunction with
			   -af)

       auxiliary:	   if -@ option	has been used

       all:		   in any case

       default:		   if no -c, -d, -x, -t, -C, -l	 or -+ option has been
			   used	at this	point of the parsing.

       The condition stops when	the next condition starts, or at End of	 File.
       The  commands inserted before any condition are equivalent to those in-
       serted after the	"all:" condition. Remark : -c -d -x -t -C and  -l  are
       mutual exclusive, only one of them can be used while calling dar.

       Here is an example of conditional syntax

	      create:
		# upon creation	exclude	the
		# following files from compression
	      -Z "*.mp3" -Z "*.mpg"

	      all:
	      -b
	      -p

	      default:
	      #	this will get read if not
	      #	command	has been set yet
	      -V
	      #	thus by	default	dar shows its version

	      all:
	      -v
	      #	for any	command	we also	ask to be verbose
	      #	this is	added to the previous all: condition

       Last  point, you	may have several time the same condition (several all:
       ) for example. They will	be concatenated	together.

USER TARGETS
       User targets are	arbitrary words	found on command  line,	 that  do  not
       start  by a dash	('-'). On most system they should be placed after com-
       mand and	options. They are  collected  from  command-line  first,  then
       comes  the  parsing  of command and optional arguments. Their use is to
       extend conditional syntax described just	above by having	a set  of  op-
       tions  activated	by the user just adding	a single word on command-line.
       Of course user targets must not be equal	to one of the  reserved	 words
       of  the conditional syntax (extract, create, ...	all, default). A valid
       target is a word	(thus without space) composed of lowercase  or	upper-
       case  letters (case is sensitive) with eventually digits, dashes	'-' or
       underscores '_' characters.

       Let's see an example of use:

       first a DCF file	named 'example.dcf' that  will	be  given  on  command
       line:

	      #	normal set of files considered for backup

	      create:
		-R /
		-P proc
		-P sys
		-P mnt
		-D

	      #	 if the	"home" user target is applied on command line the fol-
	      lowing command get added

	      home:
		 -g home

	      #	if the "verbose" user target is	used, we will have  some  more
	      verbosity	...

	      verbose:
		-v
		-vs

       Then we could run dar in	the following ways:

       dar -c test -B example.dcf
			   in that case	only the command in the	"create:" sec-
			   tion	of example.dcf would be	used.

       dar -c test -B example.dcf verbose
			   here	 over  the "create:" target the	commands under
			   the "verbose:" target (-v and -vs)  would  be  also
			   used

       dar -c test -B example.dcf verbose home
			   last	we use two user	targets	"verbose:" and "home:"
			   in  addition	 the the "create:" target of the usual
			   conditional syntax.

       Note that if the	last option *may* receive an argument, the first  user
       target  that  follows it	will be	assumed	an argument to that option. To
       avoid this, either change the order of options on command line for  the
       last  option  been an option that never or always uses an argument (for
       example -b never	has an argument	while -s always	has one). Or  separate
       the options from	the user targets by the	-- word. And of	course you can
       also  use  the  explicit	 argument of the last option (see EXPLICIT OP-
       TIONAL ARGUMENT section,	above).

       Second point: It	is allowed to have user	targets	 inside	 a  DCF	 file.
       Note  however  that targets are collected in a first phase, which leads
       some part of the	file to	be hidden (because  the	 corresponding	condi-
       tional  syntax or user target is	not present). Then, the	remaining part
       of the file is then parsed and actions for each option found is	taken.
       At that time, new user targets found are	just recorded, but they	do not
       modify  the  current DCF	file layout, in	particular, hidden part	of the
       file stay hidden	even if	the corresponding user target is read in  this
       same  file. Next	DCF parsing (which may be triggered by a second	-B op-
       tion on the command line, or by a -B option inside the  current	parsed
       DCF  file)  will	thus be	done with the additional targets found in that
       first DCF file, so in a way you may have	 user  targets	that  activate
       other  user targets, but	they will be activated in starting the next -B
       file. Here follows an examples of two DCF  files,  first.dcf  and  sec-
       ond.dcf:

	      #	cat first.dcf
		target3:
		  -K toto

		target1:
		  target2
		  -B second.dcf
		  target3

		target2:
		  #never reached
		  -s 10k

	      #	cat second.dcf
		target2:
		  -v
		target3:
		  -b

       In that example,	target1	activates both target2 and target3, but	at the
       time  of	the parsing of first.dcf, neither target2 nor target3 were yet
       activated thus '-K toto'	and '-s	10k' will never	be given to  dar  (un-
       less  activated	beside	target1	 before	first.dcf get parsed), however
       when comes the time to parse second.dcf,	target2	*and* target3 are  ac-
       tivated,	 thus  both '-v' and '-b' will be passed to dar, even if 'tar-
       get3' is	located	after '-B second.dcf' in the file first.dcf

ENVIRONMENT
       DAR_DCF_PATH
		 if set, dar looks for Dar Configuration File (DCF files,  see
		 -B  option)  that  do not have	an fully qualified path	in the
		 directories listed in DAR_DCF_PATH environment	variable. This
		 variable receives a colon (:) separated  list	of  paths  and
		 look  in each of them in turn,	up to the first	file found un-
		 der the requested name.

       DAR_DUC_PATH
		 if set, dar looks for Dar User	Command	(DUC  files,  see  -E,
		 -F,  -~,  -= options) that do not have	a fully	qualified path
		 in the	directories listed in DAR_DUC_PATH. This variable  re-
		 ceives	 a colon (:) separated list of paths and looks in each
		 of them in turn, up to	the first file	found  under  the  re-
		 quested name.

       DAR_SFTP_KNOWNHOSTS_FILE
		 if  set,  dar will not	use the	$HOME/.ssh/known_hosts file to
		 check sftp remote server authenticity but the file  given  as
		 value	for  this environment variable.	Note that setting this
		 variable to an	empty string completely	disable	 host  valida-
		 tion,	which is not recommended. Dar, the command line	inter-
		 face program for disk archive relies on  libdar  for  archive
		 format	 management which relies on libcurl for	network	trans-
		 fer which in turn relies on libssh2  for  all	that  concerns
		 ssh/sftp  protocol. In	the known_hosts	file, libssh2 does not
		 support recent	lines like those with "ecdsa-sha2-nistp256" in
		 second	argument before	its release 1.9.0 (you will also  need
		 curl/libcurl  7.69.1  or  more	recent), in these old versions
		 you only have support for "ssh-rsa" lines. Check libssh2  and
		 libcurl  documentations and literature	for more details about
		 that limitation. The workaround, if you have not yet  libssh2
		 1.9.0 or more recent, is to disable known hosts validation or
		 set up	a restricted known hosts file without any "ecdsa*" en-
		 try and have DAR_SFTP_KNOWNHOSTS_FILE pointing	to it.

       DAR_SFTP_PUBLIC_KEYFILE
		 by   default	dar   will   fetch  the	 public	 key  file  in
		 $HOME/.ssh/id_rsa.pub file. If	you use	the former  id_dsa.pub
		 or  more  recent  key	types you need to set this environment
		 variable to point to the appropriated filename

       DAR_SFTP_PRIVATE_KEYFILE
		 by  default  dar  will	 fetch	the   public   key   file   in
		 $HOME/.ssh/id_rsa  file.  If you use the former id_dsa.pub or
		 more recent key types you need	to set this environment	 vari-
		 able to point to the appropriated filename

       DAR_IGNORED_AS_SYMLINK
		 receive  a  colon  separated list of absolute paths, which if
		 they are symlinks are not saved as symlink but	as  the	 inode
		 they  point to. For more details see the --ignored-as-symlink
		 option	above.

       GNUPGHOME for asymmetric	encryption and signature, the keyring used  is
		 $HOME/.gnupg  by default. You can change this default by set-
		 ting GNUPGHOME	to the directory containing the	 keyring.  For
		 example,  if you are running dar as root and want to use your
		 unprivileged account keyring use the following:

		 export	GNUPGHOME=~myaccount/.gnupg

		 dar -K	gnupg:...@...,...@... --sign:...@... etc.

CAPABILITIES
       dar fully supports the cap_chown	capability, but	by  design,  dar  only
       uses  this capability to	restore	files at their original	ownership. Dar
       will thus not use this capability to access files and  directories  the
       caller  would normally not have access to. In other words, it should be
       ok to set the  cap_chown	 capability  to	 the  dar  executable  (setcap
       cap_chown+p  dar).  Calling  dar	from a process having the cap_chown in
       the inheritable set would lead the system to grant this	capability  to
       the  dar	process	while other users would	not be granted this capability
       and would not be	able to	modify ownership of files at restoration time.
       This can	be used	for the	system account that has	the role of  restoring
       data upon user requests,	without	giving root privilege to this restora-
       tion process.

EXAMPLES
       You  can	 find  some  more examples of use in the tutorial, mini-howto,
       sample scripts, and other related documentation.	All these  are	avail-
       able  in	dar's source package, and are also installed beside dar	in the
       <--prefix>/share/dar directory. This documentation  is  also  available
       on-line at http://dar.linux.free.fr/doc/index.html

SEE ALSO
       dar_xform(1),  dar_slave(1),  dar_manager(1),  dar_cp(1), dar_split(1),
       TUTORIAL	and NOTES included in the source package and also available at
       http://dar.linux.free.fr/doc/index.html

KNOWN LIMITATIONS
       dar saves and restores atime, mtime, birthtime but cannot restore ctime
       (last inode change), there does not seems to be a standard call	to  do
       that  under  UNIX.  An  up  to  date  list  of  known  limitation is at
       http://dar.linux.free.fr/doc/Limitations.html

KNOWN BUGS
       http://sourceforge.net/p/dar/bugs/

AUTHOR
       http://dar.linux.free.fr/
       Denis Corbin
       France
       Europe

3rd Berkeley Distribution      March 22nd, 2025				DAR(1)

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

home | help