dump/tar/star/etc (was Re: Interesting speed benchmarks)

Tim Kientzle kientzle at freebsd.org
Sat Jan 27 23:49:25 UTC 2007


Brian Reichert wrote:

>On Sat, Jan 27, 2007 at 09:43:52AM +1100, Peter Jeremy wrote:
>  
>
>> ... dump/restore is the only tool ... tar, cpio and pax also have ... restrictions.
>>    
>>
>
>I thought 'star' handled sparse files and all the extra magic?  Not
>that this is germaine to the topic at hand...
>  
>
The full picture is a little complicated.   No one tool gets everything 
exactly right:

For sparse file support:
   * dump fully handles them.
   * gnutar and star use some guesswork to archive them into "gnutar 
format" archives; neither can guarantee that the final block layout 
matches the original
   * gnutar, star, and bsdtar can all restore sparse files from "gnutar 
format" archives

For ACLs and file flags:
   * I'm not sure about dump; I believe it handles file flags but not ACLs
   * star and bsdtar fully support both using "pax extended" tar archives
   * gtar, cpio, and pax do not support them

For long filenames and large files:
   * dump should fully support both up to the limits of the filesystem
   * star, bsdtar, and gnutar all support large files (64-bit lengths) 
using extended tar archives
   * star and gnutar support filenames up to 1k (longest name supported 
by kernel system calls)
   * bsdtar supports filenames up to 1meg, though with some limits 
(restoring dirs with names over 1k gets the permissions wrong sometimes)
   * cpio and pax are more limited

I eventually want to replace cpio and pax with versions built on top of
libarchive (as bsdtar is), which will alleviate some of these issues.
(Though some are particular to the archive formats; there is no standard
cpio extension for long filenames or large files.)

Tim Kientzle



More information about the freebsd-current mailing list