Tim Kientzle kientzle at
Sat Jul 17 10:38:00 PDT 2004

By default, /usr/bin/tar is now a symlink pointing
to /usr/bin/bsdtar.

How will this affect you?

Most people should not notice the change.  bsdtar
accepts the most popular gtar command-line options, reads
gtar files, and generally does what most people
expect from a modern tar implementation.

However, bsdtar is not a clone of gtar.  If you rely
on specific gtar features, then you should be using gtar.

What are the differences?

  * Command line:  bsdtar implements the -l and -o
    options according to the Single Unix Standard,
    gtar's -l and -o options directly contradict SUS.
    bsdtar warns about most mis-uses of these options,
    but there is a potential for silent changes to the
    behavior of existing scripts.

  * File format: bsdtar can read gtar files, including
    long file names, long link names, and sparse files.
    bsdtar can also read many other formats that gtar
    does not support.

    bsdtar writes POSIX-standard ustar archives by default.
    gtar can read ustar archives with no problem.

    bsdtar uses POSIX "pax extended attributes" for long file
    names, long link names, ACLs, file flags, and other
    additional information.  gtar does not understand pax
    extended attributes and will warn about them.  (Joerg
    Schilling's "star" does support pax extended attributes
    as do POSIX-compliant pax implementations on many commercial
    Unix platforms.)

  * Error reporting:  bsdtar is more critical than gtar about
    certain kinds of errors.  In particular, it will exit with
    an error if you provide nonsensical command-line options or
    if you attempt to read an unrecognized archive.  gtar does
    not warn about many such problems.

  * Ease of use:  When reading archives, bsdtar automatically
    determines compression and file format.  The -j, -y, -z, and -Z
    options are ignored when reading archives.

    bsdtar can "interpolate" entries from existing archives when
    creating new archives (see the "@archive" extension).

  * Advanced tape drive support:  gtar has a variety of options
    for managing tape drives, including rmt support.  bsdtar currently
    lacks these features.

  * Portability:  gtar is portable to many different Unix and non-Unix
    systems.  bsdtar supports standard file formats that are widely
    supported by other implementations.  There are efforts to port
    bsdtar to other platforms.

If you have any questions or concerns, feel free to address them
to me at: kientzle at

Tim Kientzle

More information about the freebsd-ports mailing list