1DAR_SPLIT(1) General Commands Manual DAR_SPLIT(1)
2
3
4
6 dar_split - dar helper to split an archive over several tapes
7
9 dar_split [-b <bytes>] [-r <rate>] { [-c <count>] split_input | [-s]
10 split_output } <filename>
11
12 dar_split -v
13
14 dar_split -h
15
17 dar_split is to be used with dar to read or write a large archive from
18 or to several tapes.
19
20
22 dar_split has two modes of operation: split_input and split_output
23
24 split_input in this mode, dar_split copies <filename> to its
25 standard output. <filename> may be a special device
26 like /dev/tape or any other inode that has the
27 ability to access removable volumes. When dar_split
28 reaches the end of <filename> it suspends and waits
29 for the user to press the return key in order to
30 continue. In the meanwhile the user can rewind and
31 change the tape. When dar_split is awaken again, it
32 reopens <filename> and sends its content to its
33 standard output as if it was the continuation of
34 what was read so far before reaching the end of
35 file.
36
37 split_output in this mode dar_split copies its standard input to
38 <filename>. However if <filename> is full,
39 dar_split suspends and waits for the user to press
40 the return key in order to continue. In the mean‐
41 while, the user can rewind and change the tape.
42 When dar_split is awaken again, it reopens <file‐
43 name> and continues to copy to <filename> what was
44 not yet written previously. Pay attention to the
45 fact that if you don't change the destination me‐
46 dia, the continuation of data copy may erase what
47 was written so far depending on the type of media.
48
49
51 -s this option is only available in split_output mode
52 an leads dar_split to perform sync writes in place
53 of normal writes. This has the drawback to drasti‐
54 cally reduce performances but may be necessary un‐
55 der certain circumstances where the operating sys‐
56 tem cache reports a write operation as successful
57 while the cache underlying medium is already full.
58
59
60 -b <bytes> this option makes read and write system call not
61 exceeding the given amount of bytes instead of by
62 default using the maximum amount the system per‐
63 mits. This may reduce performances as it will re‐
64 quire dar_split to make more system call to achieve
65 the same operation, but can cope this way with some
66 devices that accept only limited buffer size per
67 system call.
68
69
70 -r <rate> this option limits the transfer rate to the given
71 value in bytes per second.
72
73
74 -c <count> this option limit the number of tape dar_split will
75 read data from. If you know by advance this number,
76 this avoid you having to stop by hand dar_split
77 once the archive has been fully read. It will stop
78 once the end of file of the <count> last file will
79 be reached. This option is of course only available
80 in split_input mode.
81
82
84 creating an archive over several tapes
85
86 dar -c - ...possibily other dar options... | dar_split
87 split_output /dev/tape
88
89 Here dar generates the archive to its standard output which is read by
90 dar_split and copied to /dev/tape. When the tape reaches its send,
91 dar_split asks for the user to hit return to continue.
92
93 reading an archive splitted over several tapes
94
95 dar_split split_input /dev/tape | dar -t - --sequential-read
96 ...possibily other dar options...
97
98 Here dar_split reads /dev/tape and sends its content to dar which
99 *must* be used in --senquential-read mode in order to read an archive
100 from its standard input without the help of dar_slave. When the tape
101 reaches its end, dar_split asks for the user to hit return to continue.
102
103 Note that dar_split can also be used with tar for the same purpose as
104 with dar:
105
106 tar -cz ... | dar_split split_output /dev/tape
107
108 without -f option nor TAPE environment variable, tar sends the tar ar‐
109 chive to stdout, which get fet to dar_split for slicing
110
111 dar_split split_input /dev/tape | tar -tz
112
113 without -f option nor TAPE environement variable, tar read the tar ar‐
114 chive from stdin, however you must specify the correct option corre‐
115 sponding to the compression used at archive creation time.
116
117 The advantage here is to be able to save a huge dar or tar archive on
118 several tapes that could be either partially filled or having different
119 sizes, without having to calculate in advance the size of slices to
120 specify. The drawback is that this implies sequential reading for dar
121 (for tar also, but tar cannot do else).
122
123
125 You can use dar_split with floppies, zip/jazz disks or usb key too, but
126 it has many disadvantages compared to the normal way of using this me‐
127 dia: doing that way avoids you relying on a filesystem, thus you cannot
128 have direct access to file contents, which dar knows how to take advan‐
129 tage of, and you are instead stuck with sequential read access which is
130 long as it requires reading the whole archive (same way as tar does).
131
132 When instead using dar alone in normal mode (non sequential reading
133 mode using filenames instead of standard input/output), you have the
134 opportunity to create redundancy data beside dar slices thanks to par2,
135 which is not possible without a filesystem. At restoration time, thanks
136 to dar archive's catalog, dar can directly seek to the file's data you
137 want to restore, which is very quick compared to reading/uncipher‐
138 ing/uncompressing the whole archive...
139
140 Note that copying tape contents generated by dar_split to different
141 files which name would correspond to dar slices, does not make a valid
142 multi-sliced archive because the slice header is missing in slices (ex‐
143 cept in the first). You can however concatenate all the pieces of data
144 generated by dar_split and have a valid single sliced dar archive that
145 you can use in direct access mode. However attention must be paied not
146 to add any extra data after data generated by dar through dar_split (in
147 particular if the last tape was not full), in that case you can only
148 read the archive with --sequential-read mode.
149
150
152 dar_split exists with the following codes:
153
154 0 upon normal execution
155
156 1 syntax error on command-line
157
158 2 could not open source or destination files
159
160
162 Any signal sent to dar_split except SIG_PIPE will abort the program im‐
163 mediately
164
165
167 dar(1), dar_xform(1), dar_manager(1), dar_slave(1), dar_cp(1)
168
169
171 http://sourceforge.net/p/dar/bugs/
172
173
175 http://dar.linux.free.fr/
176 Denis Corbin
177 France
178 Europe
179
180
181
1823rd Berkeley Distribution April 24th, 2021 DAR_SPLIT(1)