File: presentation.html

package info (click to toggle)
dar 2.6.13-2
  • links: PTS
  • area: main
  • in suites: bullseye
  • size: 10,364 kB
  • sloc: cpp: 77,385; sh: 6,192; ansic: 776; makefile: 435; python: 242; csh: 95; perl: 43; sed: 16
file content (293 lines) | stat: -rw-r--r-- 17,381 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"><title>Dar's Documentation - General Presentation</title></head><body style="background-color: rgb(221, 221, 221); color: rgb(0, 0, 170);" alink="#ff0000" link="#0000ff" vlink="#000055">
<center>
<div style="text-align: center;">
<table style="width: 90%; text-align: left; margin-left: auto; margin-right: auto;" border="0" cellpadding="2" cellspacing="2">
<tbody><tr><td style="vertical-align: top; width: 161px;"><a href="index.html"><img style="border: 0px solid ; width: 160px; height: 120px;" alt="Dar Documentation" src="dar_s_doc.jpg"></a><br>
      </td>
      <td style="vertical-align: top;">
      <h1 style="text-align: center;"><br>
      </h1>
      <h1 style="text-align: center;">PRESENTATION<br>
</h1>
      </td>
    </tr>
  </tbody>
</table>

<br>
<hr style="width: 100%; height: 2px;">


<h3 style="text-align: left;"><span style="text-decoration: underline;">1- General Presentation</span><br>
</h3>
<table style="text-align: left; width: 90%; margin-left: auto; margin-right: auto;" border="0" cellpadding="2" cellspacing="2">
  <tbody>
    <tr>
      <td style="vertical-align: top;">
      <div style="text-align: justify;">Dar is a command-line software aimed to backup and archiving large live filesystems. It is a <span style="font-weight: bold;">filesystem independent</span> and <span style="font-weight: bold;">cross platform</span> tool.
But, Dar is not a boot loader, nor it is an operating system.
It does not create nor format partitions, but it can restore a full
filesystem into a larger or a shorter partition, from one partition to
several ones, (or the opposite from several to one partition), from a filesystem type to another
filesystem
type (ext2/3/4 to reiserFS for example), it can save and restore
hard-linked inodes (hard linked plain files, sockets, char/block
devices or even hard linked symlinks (!)), Solaris's Door files, it takes care of Posix Extended Attributes (Linux,
MacOS, ...). It can also detect and restore sparse files, even when the
underlying filesystem does not support them: it can restore a normal
file with large portions of zeroed bytes as a sparse file on another
filesystem that supports it, leading
to a gain in space requirement for the restoration but also for the archive size.<br>

      <br>

From a filesystem, dar creates an archive, which may be split in a set of files (called slices) which size is user defined.
Dar archives are suitable to be stored on floppy, CD, DVD, usb key,
hard <span style="font-weight: bold;">disks</span>, and since release 2.4.0 to <span style="font-weight: bold;">tapes</span>
too. But no, dar itself cannot burn a DVD. Instead the user can give dar a
command to execute each time a slice is completed. Dar can perform <span style="font-weight: bold;">full backup</span><sup>1</sup>, <span style="font-weight: bold;">incremental backup</span><sup>2</sup>, <span style="font-weight: bold;">differential backup</span><sup>3</sup> and <span style="font-weight: bold;">decremental backup</span><sup>4</sup>.
It also records files that have been removed since the last backup
was
made, leading the restoration of a system to get the exact same state
it was at the time
of the differential/incremental/decremental backup (removing files that
ought to be removed, adding files that ought to be added and modifing files
as expected).<br>

      <br>

Dar is able to be run on a<span style="font-weight: bold;"> live filesystem</span>.
It can detect when a file has changed while it was reading it, in that
case it is possible to ask dar to proceed to several retries to save such a
file. File that could not be saved properly (because they
changed during the backup and there is no more retry left) are flagged as "dirty" and are signaled at
restoration time. <br>

      <br>

Dar provides <span style="font-weight: bold;">several hooks</span>
for the user to perform certain actions when some event are met. One
first hook let the user launch a command when a slice is completed&nbsp;
(for burning the slice to DVD for example). A second hook is available
for a given set of files or directories under backup, that let the user do some action
before and after saving that file or directory (like <span style="font-weight: bold;">suspending
a database</span>, and resuming it afterward).<br>
      </div>

      <br>
      <div style="text-align: justify;">
Dar code has been split into two parts since its release 2.0.0, a command-line part and a library part called <span style="font-weight: bold;">libdar</span>. Dar is not a Graphical User Interface it is only a command-line tool, but thanks to the libdar library, many <a href="#external_tools">external tool</a> rely on libdar and can manipulate dar archives at a more abstracted level with other interfaces than the shell command-line.<br>

      <br>
libdar may be linked against libz, libz2, liblzo and libxz to provide
      <span style="font-weight: bold;">gzip</span>,
      <span style="font-weight: bold;">bzip2</span>, <span style="font-weight: bold;">lzo</span> and <span style="font-weight: bold;">xz/lzma</span> <span style="font-weight: bold;">compression</span>. It can also be linked against
libgcrypt to
provide symmetric <span style="font-weight: bold;">strong</span> <span style="font-weight: bold;">encryption</span> (<span style="font-weight: bold;">blowfish</span>, <span style="font-weight: bold;">twofish</span>, <span style="font-weight: bold;">aes256</span>,
      <span style="font-weight: bold;">serpent256</span>,
      <span style="font-weight: bold;">camellia256</span>). In addition it can be linked against libgpgme to provide
      <span style="font-weight: bold;">asymmetric</span> <span style="font-weight: bold;">encryption</span> (same as GPG) which, in other word, let you
cipher an archive with the public key of one or more recipients and in
option sign it with our own private key.<br>
      <br>
Dar can be <span style="font-weight: bold;">used through ssh</span> for remote backups. It may also make used of so called "<span style="font-weight: bold;">isolated</span> <span style="font-style: italic;">catalogue</span>"
which is a small file containing the table of contents (or catalog) of
a given archive. These can be used as base for a <span style="font-weight: bold;">differential</span> or
      <span style="font-weight: bold;">incremental</span> <span style="font-weight: bold;">backup</span>, and can also be used as backup of
the table of content of the original archive if that one gets corrupted.<br>

      <br>
While dar/libdar provide a lot of features we will not mention here,
you can use dar without having the knowledge of all of them. In its
most simple form, dar can be used only with few options, here follows
some example of use, that should not need additional explanations:<br>
      <br>
archive creation (backing up all /usr directory) :<br>
      <code>&nbsp;&nbsp; dar -c my_backup -R / -g usr<br>
&nbsp;&nbsp; <br>
</code>archive restoration (restoring /usr in a alternate directory):<code><br>
&nbsp;&nbsp;</code><code> dar -x my_backup -R /some/where/else<br>
      <br>
</code>archive testing:<code><br>
&nbsp;&nbsp; </code><code>dar -t my_backup<br>
      <br>
</code>archive comparison with an existing filesystem:<code><br>
      </code><code>&nbsp;&nbsp; dar -d my_backup -R /</code><br>
      <br>While
a big effort has been made on documentation, it must not lead you to
think that you have to read it all to be able to use dar: most needs
are covered by the <a href="Tutorial.html">tutorial</a> or <a href="mini-howto/index.html">mini-howto</a> and for direct explanation of common questions by the <a href="FAQ.html">FAQ</a>. Then, if you like or if you need, you can also look at the
detailed <a href="man/index.html">man pages</a>
for a particular feature (These documents are the reference for each
command-line tool you will get very detailed explanations). You may
also find some help
on the <a href="http://lists.sourceforge.net/lists/listinfo/dar-support">dar-support mailing-list</a> where a bit more than a hundred of
subscribed users can help you. <br>
      <br>
Dar's documentation is big because it also includes all that may
be useful to know how to use libdar, which is intended for developers of
external application relying on this library. For those even more
curious there is also the documentation about dar's internals: libdar's
structure, archive format, which can ease the understanding of the
magic that makes all this working and gives a better understanding of
dar/libdar code, which is written in C++. But, no, you do not need to
read all this to just use dar! ;-)<br>
      <br>Follow an <a href="Features.html">abstracted list of features</a> if you want to know more about dar/libdar.<br>
      </div>
      </td>
    </tr>
  </tbody>
</table>
<div style="text-align: center;"><br>
<div style="text-align: left;">
<h3><span style="font-weight: bold; text-decoration: underline;"><a name="external_tools"></a>2 - Known Projects relying
on dar or libdar</span></h3>
<h3><span style="font-weight: bold; text-decoration: underline;"></span></h3>
<span style="font-weight: bold; text-decoration: underline;">
<br>
</span></div>
</div>
<table style="text-align: left; width: 90%; margin-left: auto; margin-right: auto;" border="0" cellpadding="2" cellspacing="2">
  <tbody>
    <tr>
      <td style="vertical-align: top;">
      <span style="text-decoration: underline; font-weight: bold;"></span> In alphabetical order:<br>
<ul>
        <li style="text-align: justify;"><a href="http://www.boomerangsworld.de/cms/avfs/extfs?lang=en">AVFS</a> is virtual file system layer for transparently accessing the content
of archives and remote directories just like local files.</li>
        <li style="text-align: justify;"><a href="http://www.rgrjr.com/linux/backup.pl.html">backup.pl</a> script by Bob Rogers, creates and verifies a backup using dump/restore or using dar</li>
        <li style="text-align: justify;"><a href="http://sourceforge.net/projects/baras">Baras</a> by Aaron D.
Marasco it a rewriting in Perl of SaraB.</li>
        <li style="text-align: justify;"><a rel="colleague" href="http://danmbox.github.io/dar-incdec-repo/">Dar-incdec-repo</a> by Dan A. Muresan is a framework for doing periodic DAR backups with minimal fuss</li>
	<li stype="test-align: justify;">
	  <span style="font-weight: bold; color: red;">
	    new in 2020:
	  </span>
	  <a href="https://gitlab.com/notEvil/dar_fuse">dar_fuse</a> by !evil. <i>dar_fuse</i> provides a faster AVFS equivalent thanks to its direct use of libdar python API and fusepy module.
	</li>
        <li style="text-align: justify;"><a href="https://github.com/c4rlo/darbup">Darbup</a> by Carlo Teubner. One
of darbup key features is its ability to automatically delete old
archives when the total space taken up by existing archives exceeds
some configured maximum</li>
        <li style="text-align: justify;"><a href="https://github.com/jaredjennings/darbrrb">Darbrrd</a> by Jared Jennings, to back up a few
hundred gigabytes of data onto dozens of optical discs in a way that
it can be restored ten years later.</li>
        <li style="text-align: justify;"><a href="http://dargui.sourceforge.net/">DarGUI</a> by Malcolm Poole is a front-end to dar providing simple and graphical access to the main features of dar.</li>
        <li style="text-align: justify;"><a href="http://www.xsteve.at/prg/emacs/dar.html">Disk archive interface for Emacs</a> by <a href="http://www.xsteve.at/">Stefan Reichr</a></li>
        <li style="text-align: justify;"><span style="font-weight: bold;"><span style="color: red;"></span></span><a href="https://github.com/peckto/gdar">gdar</a> by Tobias Specht, a graphical user interface to browse and extract dar archives</li>

        <li style="text-align: justify;"><a href="https://wiki.ubuntu.com/HomeUserBackup">HUbackup</a> (Home User
backup) by SivanGreen</li>
        <li style="text-align: justify;"><a href="http://kdar.sourceforge.net/">kdar</a> is a KDE-3
Graphical User Interface to dar made by Johnathan Burchill </li>

<li style="text-align: justify;"><a href="http://lazybackup.sourceforge.net/">Lazy Backup</a> by Daniel
Johnson. Lazy Backup is intended to be so easy even lazy people will do
their backups </li>
        <li style="text-align: justify;">A Dar plugin has been made by
Guus Jansman for <a href="http://mail.gnome.org/archives/mc-devel/2006-April/msg00001.html">Midnight
commander</a> (mc)</li>
        <li style="text-align: justify;"><a href="http://sarab.sourceforge.net/">SaraB</a>:
Schedule
And
Rotate Automatic Backups - by Tristan Rhodes. SaraB works with DAR to
schedule and rotate backups. Supports the Towers of Hanoi,
Grandfather-Father-Son, or any custom backup rotation strategy.</li>





      </ul>
      <div style="text-align: justify;">
If a project you like is missing, you are welcome to contact dar's
author for it to be referred here (contact coordinates can be found in
the AUTHOR file of the source package).</div>
</td>
    </tr>
  </tbody>
</table>
<br>
<div style="text-align: left;">
<h3><a name="limitations"></a><span style="font-weight: bold; text-decoration: underline;">3 - Limitations</span></h3>
<table style="text-align: left; width: 90%; margin-left: auto; margin-right: auto;" border="0" cellpadding="2" cellspacing="2">
  <tbody>
    <tr>
      <td style="vertical-align: top;">Dar has some limitations which are detailed <a href="Limitations.html">here</a>.<br>
      </td>
    </tr>
  </tbody>
</table>
<br>
<h3><a name="dar_news"></a><span style="font-weight: bold; text-decoration: underline;">4 - </span><span style="text-decoration: underline;">Staying informed of dar/libdar's events</span></h3>
</div>

<table style="text-align: left; width: 90%; margin-left: auto; margin-right: auto;" border="0" cellpadding="2" cellspacing="2">
  <tbody>
    <tr>
      <td style="vertical-align: top;">
      <div style="text-align: justify;">To stay informed about new releases and security issues please
subscribe to the <a href="https://lists.sourceforge.net/lists/listinfo/dar-news">Dar-news</a> mailing-list. This is a read-only mailing-list with very low number of mail (usually less than ten a year).<br>
      <br>
      </div>
      </td>
    </tr>
  </tbody>
</table>

<hr style="width: 100%; height: 2px;"><br>
</div>
<table style="text-align: left; width: 90%; margin-left: auto; margin-right: auto;" border="0" cellpadding="2" cellspacing="2">
  <tbody>
    <tr>
      <td style="vertical-align: top;">
      <div style="text-align: justify;"><font size="-1"><sup>1</sup> <span style="text-decoration: underline;">Full backup:</span>
A full backup is a backup of a full filesystem or of a subset of files
where, for each file, the archive contains all the inode information
(ownership, permission, dates, etc.) file's data and eventually file's
Extended Attributes.<br>
      <sup>2</sup> <span style="text-decoration: underline;">Differential backup:</span>
A differential backup is based on a full backup. It contains only the
data and Extended Attributes of files that changed since the full
backup was made. It also contains the list of files that have been
removed since the full backup was made. For files that did not change,
it contains only the inode information. The advantage is that the
backup process is much faster, the space required is also much
lower.&nbsp;
The drawback is that you need to restore the full backup first, then
the differential backup to get the last saved state of your system. But
if you want the last version of a file that changed recently you only
need the last differential backup.<br>
      </font>
      <div style="text-align: justify;"><font size="-1"><sup>3</sup> <span style="text-decoration: underline;">Incremental backup:</span>
An incremental backup is essentially the same thing as a differential
backup. Some make a difference, I do not. The only point I see is that
the incremental backup is not based on a full backup but on a
differential backup or on another incremental one.<br>
      </font></div>
      </div>
      <div style="text-align: justify;"><font size="-1"><sup>4</sup> <span style="text-decoration: underline;">Decremental backup:</span>
A decremental backup is a backup method in which the most recent backup
is a full backup, while the oldest backup are a difference compared to
that full backup. The advantage of such type of backup is the you can
restore easily your system in the last state it had using only the last
backup. And, if you want to restore it in the state it had some time before, then you can
restore the last backup (full backup), then the previous archive
(a decremental backup) and so on. As you most usually want to restore the
system in its last available state, this makes restoration much more
easy compared to doing incremental backups. However, this suffer from a
important drawback, which is that you need to transform the last backup
into a decremental backup when comes the time to make another backup.
Then you have to remove the former full backup and replace it by its
decremental version.</font><br>
      </div>
      </td>
    </tr>
  </tbody>
</table>
<br>
</center>

</body></html>