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

FreeBSD Manual Pages


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

       dar_split - dar helper to split an archive over several tapes

       dar_split { split_input | [-s] split_output } <filename>

       dar_split -v

       dar_split -h

       dar_split  is to	be used	with dar to read or write a large archive from
       or to several tapes.

       dar_split has two modes of operation: split_input and split_output

       split_input	   in this mode	dar_split  copies  <filename>  to  its
			   standard output. <filename> may be a	special	device
			   like	/dev/tape or any  other	 inode	that  has  the
			   ability   to	  access   removeable	volumes.  When
			   dar_split reaches the end of	<filename> it suspends
			   and	waits  for the user to press the return	key in
			   order to continue. In the meanwhile	the  user  can
			   rewind  and	change	the  tape.  When  dar_split is
			   awaken again, it reopens <filename> and  sends  its
			   content  to	its  standard  output as if it was the
			   continuation	of what	was read so far	before	reach-
			   ing the end of file.

       split_output	   in this mode	dar_split copies its standard input to
			   <filename>.	However	  if   <filename>   is	 full,
			   dar_split  suspends and waits for the user to press
			   the return key in order to continue.	In  the	 mean-
			   while,  the	user  can  rewind and change the tape.
			   When	dar_split is awaken again, it  reopens	<file-
			   name>  and continues	to copy	to <filename> what was
			   not yet written previously.

       -s is only available for	split_output mode an leads dar_split  to  per-
       form  sync  writes  in place of normal writes. This has the drawback to
       drastically reduce performances but may be necessary under certain cir-
       cumstances  where  the operating	system cache reports a write operation
       as successful while the cache underlying	medium is already full.

       creating	an archive over	several	tapes

	      dar  -c  -  ...possibily	other  dar  options...	 |   dar_split
	      split_output /dev/tape

       Here  dar generates the archive to its standard output which is read by
       dar_split and copied to /dev/tape. When	the  tape  reaches  its	 send,
       dar_split asks for the user to hit return to continue.

       reading an archive splitted over	several	tapes

	      dar_split	 split_input  /dev/tape	 |  dar	-t - --sequential-read
	      ...possibily other dar options...

       Here dar_split reads /dev/tape and  sends  its  content	to  dar	 which
       *must*  be  used	in --senquential-read mode in order to read an archive
       from its	standard input without the help	of dar_slave.  When  the  tape
       reaches its end,	dar_split asks for the user to hit return to continue.

       Note  that  dar_split can also be used with tar for the same purpose as
       with dar:

	      tar -cz ... | dar_split split_output /dev/tape

       without -f option nor TAPE environment variable,	tar sends the tar  ar-
       chive to	stdout,	which get fet to dar_split for slicing

	      dar_split	split_input /dev/tape |	tar -tz

       without	-f option nor TAPE environement	variable, tar read the tar ar-
       chive from stdin, however you must specify the  correct	option	corre-
       sponding	to the compression used	at archive creation time.

       The  advantage  here is to be able to save a huge dar or	tar archive on
       several tapes that could	be either partially filled or having different
       sizes,  without	having	to  calculate in advance the size of slices to
       specify.	The drawback is	that this implies sequential reading  for  dar
       (for tar	also, but tar cannot do	else).

With or	without	filesystem
       You can use dar_split with floppies, zip/jazz disks or usb key too, but
       it has many disadvantages compared to the normal	way of using this  me-
       dia: doing that way avoids you relying on a filesystem, thus you	cannot
       have direct access to file contents, which dar knows how	to take	advan-
       tage of,	and you	are instead stuck with sequential read access which is
       long as it requires reading the whole archive (same way as tar does).

       When instead using dar alone in normal  mode  (non  sequential  reading
       mode  using  filenames  instead of standard input/output), you have the
       opportunity to create redundancy	data beside dar	slices thanks to par2,
       which  is  not  possible	 without  a  filesystem. At restorationt time,
       thanks to dar archive's catalog,	dar can	directly seek  to  the	file's
       data you	want to	restore, which is very quick compared to reading/unci-
       phering/uncompressing the whole archive...

       Note that copying tape contents generated  by  dar_split	 to  different
       files  which name would correspond to dar slices, does not make a valid
       multi-sliced archive because the	slice header is	missing	in slices (ex-
       cept  in	the first). You	can however concatenate	all the	pieces of data
       generated by dar_split and have a valid single sliced dar archive  that
       you  can	use in direct access mode. However attention must be paied not
       to add any extra	data after data	generated by dar through dar_split (in
       particular  if  the last	tape was not full), in that case you are stuck
       with --sequential-read mode.

       dar_split exists	with the following codes:

       0	 upon normal execution

       1	 syntax	error on command-line

       2	 could not open	source or destination files

       Any signal sent to dar_split except SIG_PIPE will abort the program im-

       dar(1), dar_xform(1), dar_manager(1), dar_slave(1), dar_cp(1)


       Denis Corbin

3rd Berkeley Distribution	Dec 20th, 2017			  DAR_SPLIT(1)


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

home | help