The idea of a
dump
program itself goes back to V6 (Research) Unix, which introduced the first, rather basic
dump
program. At the time, Unix had neither
tar
nor
cpio
, so
dump
was your only option for backups. V7 Unix introduced
tar
, and I have the impression that as a result
dump
fell out of favour for backups.
My impression is that
dump
really got popular in 4.x BSD. When Berkeley revised the filesystem format to create FFS (the Fast FileSystem), with things like longer file names, they had to revise
dump
along with all of the other programs that read the raw filesystem, but I believe that they did not really revise the
tar
format, which had been designed in the days of shorter file names and so on. The net result was that
dump
became the best and perhaps only tool for backing up your 4.x BSD system.
(The Berkeley revision of the simpler V7
dump
arguments created the basic dump options and behavior that we can still recognize today, with all sorts of options for tape blocksizes and so on. Berkeley also gave us interactive
restore
.)
Then the Unix vendors showed up. Dump has two problems; it reads the raw filesystem, which means that it has to be modified if you tweak your filesystem format, and its output format was never created to be portable. The result was a series of mostly but not entirely compatible versions of
dump
in all of the various 4.x BSD derived Unixes, most importantly SunOS. In vendor Unixes derived from AT&T Unix, things were more confused; some vendors had no
dump
at all (the commercial Unix side of AT&T appears not to have liked either V7's
dump
or
tar
, because they went and invented
cpio
), while others decided that 4.x BSD
dump
was a good idea but they should call it by another name, such as SGI's
efsdump
(to match their EFS filesystem).
(At some point, Sun decided that renaming
dump
to
ufsdump
would be a good idea.)
When people started doing filesystems that were really not derived from FFS, many of them decided that a
dump
-style program was a good idea and that there was an obvious naming scheme for theirs. However, they often did not bother to make either the command usage or the output format look anything like traditional
dump
, and so we got a parade of programs like
xfsdump
(SGI XFS),
vxdump
(Veritas VxFS, available for various Unix flavours), and
vdump
( AdvFS ).
(This list is primarily researched from the Amanda source .)
When Linux ext2 was created, energetic people decided that it too should have a
dump
, so they wrote one (I am not sure if they started from scratch or used the 4.x BSD code as a base). Unlike previous versions of
dump
, they decided to try to make a portable suite: a
dump
that had relatively portable output, and a
restore
that could read and properly deal with pretty much any 4.x BSD derived
dump
format. This makes the Linux dump suite pretty much a universal receiver , which is periodically very handy.