Current File : //usr/share/doc/spax-1.5.2/AN-1.4 |
Newsgroups: comp.unix.admin,comp.unix.misc,alt.os.linux,alt.sys.sun,bln.comp.sun,bln.comp.unix,comp.os.linux.development.apps,comp.os.linux.misc,comp.sys.hp.apps,comp.sys.hp.misc,comp.sys.sgi.admin,comp.sys.sgi.apps,comp.sys.sgi.misc,comp.sys.sun.admin,comp.sys.sun.apps,comp.sys.sun.misc,comp.unix.aix,comp.unix.bsd.freebsd.misc,comp.unix.bsd.netbsd.misc,comp.unix.solaris,de.comp.os.linux.misc,de.comp.os.unix,linux.dev.admin,linux.dev.apps,maus.os.linux,maus.os.linux68k,maus.os.unix,uk.comp.os.linux
Subject: Star-1.4 source has been released
***************
Please have a look at the German open Source Center BerliOS at www.berlios.de
BerliOS will continue to support free hosting of cryptography projects even
when US laws change and don't allow to host cryptography projects in the USA.
Also look at sourcewell.berlios.de, the first Open Source announcement service
that itself is implemented as Open Source project.
***************
Star is the fastest tar archiver for UNIX
Star has many improvements compared to other tar
implementations (including gnu tar). See below for a short description
of the highlight of star.
Star is located on:
ftp://ftp.fokus.gmd.de/pub/unix/star
Changes since star-1.3.1:
- Used lint on Solaris to clean up code.
GCC does not help that much....
- star now supports large files
Files up to 8 GB are supported in a 100% POSIX compliant
way. Files > 8 GB use a proprietary number format that I designed
some years ago but I negotiated this format with the current
GNU tar maintainer - GNU tar uses the same format.
- rmt now is large file aware too.
- rmt (both: this server and the client in star)
now also abstract from the lseek whence values.
SEEK_SET is mapped to 0 on the wire
SEEK_CUR is mapped to 1 on the wire
SEEK_END is mapped to 2 on the wire
- Changed POSIX USTAR limitation from 8 GB-2 to 8 GB-1.
(note that the proprietary star method allows full
64 bit filesize and will support up to 95 bits which
will _never_ be reached as long as you cannot place
storage space into a parallel universe ;-)
This is from the estimation that each atom may only store
approx 1 bit. With 95 bits you would need to use several
tons of active storage mass.
- Honor Volheader file size when extracting archives.
- Clear fraction of 512 bytes past the end of a file.
This was _no_ security problem as star never included any
junk that was not already part of the archive earlier.
It is done as it turns out that archives with lots of small
files (ad the FreeDB CD database) will compress more then
20 % more effective if this space is clreared.
- Automatic recognition and adoption to tar archives with
signed checkums. Signed checkums are needed to read tar archives
created with old SunOS-3.x and SunOS-4.x tar programs.
Note that the UNIX tar documentation always requested unsigned
checksums but the BSD based tar used to ignore this fact.
- Atomatic use of compression programs (if needed) if the archive
is a plain file and thus seekable.
- use non-interruptable write in remote tape handler.
This makes star .... interruped by ^\ work corectly on non BSD
systems. Note that interrupting star by ^\ causes star to
write an intermediate statistic printout.
- rmt now uses buffered readline code re-imported from rscsi.c
to speed up rmt transfers.
- increase the default FIFO from 1 MB to 8 MB for most OS.
- Try to lock FIFO into memory in case star is run by root.
This helps to make tape streaming more probable.
- -h Option as alias to the old star Option -L
- Make -F -FF ... behave more similar to BSD tar
- Remote tape client code now checks if the RMT server returns
more data with rmtread() or if rmtstatus() gets not the expected amount
of bytes for struct mtget.
- Call code to switch rmt server into the new abstract mode only of the
open was successful. This avoids to clear the valid error code
resulting in the unability to report open errors on previous versions.
- New remote.c client code gives improved unique remote file name parsing
To make a file local altough it looks "remote" prepend it
with "/", "./" or "../"
f=ntape@tapehost:/dev/rmt/0 is remote
f=/ntape@tapehost:/dev/rmt/0 is local
- Now star is again able to reject unsupported file types as it has been
up to 1994 when the USTAR & GNU based archive types have been
introduced.
The new method to check for unsupported file types is again table
driven and thus fully configurable.
- stat wrapper now fully classifies all file types
- new table to print the name for all known file types
- mt.c now uses the new remote file name parsing functions
- NOTE: the new remote tape client code is also used by sdd-1.31 and
newer. If you like to have a enhanced "dd" substitution, check:
ftp://ftp.fokus.gmd.de/pub/unix/sdd/
Now you can make any tar work remote (even GNU tar ;-) by calling e.g.:
sdd if=ntape@tapehost:/dev/rmt/0cbn bs=63k | tar tvbf 126 -
- Added a comment in star.h to clearify when/why GNUtar became
non-standard
- Fixed a bug with printing to stdout while the tar archive
itself is stdout.
- Faster zero'ing and copying of tar headers to speed up operation.
Used to compensate slow down from Extended POSIX.1-2001 headers.
- Fixed a integer overflow bug in tape length computation that made
it impossible to specify a tape length of e.g. 35 GB as needed
for the Quantum DLT-7000.
- append.c (used with -u/-r) now tries to use Nanoseconds from time
stamps
- list.c now tries to handle Nanoseconds with the -newest & -newest-file
options
- New archive format "pax" which is the extended "ustar" proposal
from POSIX.1-2001. This format is based on "ustar" and adds
extended headers that are infinite extensible. The headers are
added only when the old header would overflow otherwise.
- New archive format "exustar" which is the extended "xustar" format.
This format is based on "xustar" and always adds extended headers.
- New archive format "sunstar" which is an extended "ustar" format.
This format based on "ustar" always adds extended headers.
The extended headers are not 100% POSIX compliant:
- no atime/ctime
- typeflag is 'X' instead of 'x'
- First support for extended tar headers from POSIX.1-2001.
- Support for Caldera/SCO OpenUNIX has been added
- New sum statistics for chmod() utimes() errors.
- Fixed a bug that caused a FIFO (named pipe) to be created twice
in extract mode. This resulted in a warning "File exists...".
- Better support for True-64 aka. OFS-1
- First support for POSIX ACL's with help from
Andreas Gruenbacher <ag@bestbits.at>
First support for Solaris ACL's (converted into POSIX strings).
ACL support should work on Solaris, Linux, FreeBSD and True64.....
Solaris ACL's are smilar enough to POSIX ACL's so I convert them to
POSIX ACLs before archiving them. Unfortunately the function
aclfromtext() from the Solaris library libsec is not usable
(see **** Solaris BUG *** description below). This bug makes it
impossible to do ACL backup/restores on passwd-less file servers.
**** Solaris is unable to restore ACLs numerically (see description
**** below).
HP-UX ACLs are so different from POSIX.1e that it would take a
significant amount of time to code a translation module for star.
For this reason, HP-UX is not supported at the moment.
**** First tests on True64 show that the POSIX.1e function
**** acl_from_text() does not work as expected. I have no idea how to
**** work around this problem.
**** It may be that True64 does not support the ACL 'masks' entry.
**** This would force us to create syntetic 'mask' entries when in star
**** create mode and to compute the effective mode when in extract
**** mode. On True64 also the function acl_get_file() does not work
**** properly if a file does not have ACLs. Note that the standard
**** requests that in this case acl_get_file() should return a 3 entry
**** ACL, but on True64 it returns NULL with 'errno' unchanged.
**** Archiving and restoring ACLs from/to True64 will most likely work.
**** If you like to transfer TAR archives from/to other platforms you
**** will not be able to restore any ACL.
****
**** As a TAR archive with ACLs made on True64 is not usable on any
**** other system, ACL support on True64 could be called broken.
If you list a TAR archive that contains ACLs for certain files,
those files are marked with a '+' sign past the UNIX permissions
if you request a long listing:
0 -rw-r--r-- gruenbacher/assis Nov 4 04:43 2001 default/file
0 drwxrwxr-x+ gruenbacher/assis Nov 4 04:43 2001 default/dir2/
0 drwxr-xr-x+ gruenbacher/assis Nov 4 04:44 2001 default/dir3/
0 drwxrwxr-x+ gruenbacher/assis Nov 4 04:44 2001 default/
If you like ACL test tar archives, have a look at:
http://acl.bestbits.at/pre/
and fetch the files acl*.tar
If you are on Solaris, read the man pages: getfacl, setfacl, acl
If you are on Linux, note that by default Linux does not yet support
ACLs. You first need to install ACL support by installing a patch
from:
http://acl.bestbits.at/
This page also lists the man pages for the ACL support commands
for Linux.
If you are on FreeBSD current, you need to know that you need to
activate ACLs in the kernel _and_ in each filesystem that should
carry ACLs.
If you are on True64, note that you first need to activate extended
security features in order to use ACLs.
The administratice command names to list or set ACLs are 'getacl' and
'setacl'.
Note: The ACL support code in star is alpha! Do not expect it to be
stable in any part. I cannot even grant that the archive format
will not change. However, if it turns out to be the right solution, I
will mail the star ACL format to the POSIX.1e standard commitee.
All changes have been made in a way that does not affec the behaviour
of star in case no ACLs are present.
The format for ACLs in the extended headers used by star looks like:
SCHILY.acl.access=user::rwx,group::rwx,mask::rwx,other::rwx
SCHILY.acl.default=user::rwx,group::rwx,mask::rwx,other::rwx
This is a legal 'vendor unique' POSIX.1-2001 extension for extended
tar headers.
If the format gets accepted by the POSIX.1 and POSIX1e commitee, it
would look like:
security.acl...=user::rwx,group::rwx,mask::rwx,other::rwx
As the text format specified by POSIX.1e is not sufficient for TAR, we
added a numerical field for all names user and group fields.
POSIX.1e named user entry: 'user:joe:rwx,'
STAR named user entry: 'user:joe:rwx:1431,'
When star extracts the ACL string, it first checks if user 'joe' is
known if 'joe' is known, the numerical value is stripped off and a
standard POSIX.1e ACL entry is created. If 'joe' is not known, the
text 'joe' is replaced by the numerical value '1431' and a new
POSIX.1e entry that looks like 'user:1431:rwx,' is created.
**** Solaris BUG ***
As the function aclfromtext() on Solaris is unable to recognise a
numerical (all digit) user id, it is not possible to do ACL
backup/restore on a Solaris fileserver that has no access to the same
passwd data as it's NFS clients.
Even worse, aclfromtext() changed the UID for each unknown user to
NOBODY and the function aclfromtext() returns as if there was no error.
This is a serious security problem as because if this behavior the file
becomes (in addition to the other users in the ACL) accessible by
"nobody" which definitely is intended.
This is Sun bug 4426407 ;-)
**** Solaris BUG ***
To archive ACLs (star in create mode, you need to specify a TAR format
that supports extended POSIX.1-2001 headers _and_ uses them by default.
This may currently be achieved by calling "star -Hexustar ...".
To extract ACLs you need to call "star -p ..."
Note that the needed actions to archive ACLs or to extract ACLs may
change in the near future.
- For hints on the new Access Control List support read README.ACL
- When remote protocol error happen (e.g. because the remote server
proces dies) star now aborts faster and with better error message.
- Check for HAVE_FORK to allow compilation (without FIFO) on strange
platforms.
- star now supports 'G' as "multiplyer" in fs= bs= ... options.
- Support for MacOSX-10.1 (aka Darwin-1.4) now works smoothly
- Restructured Schily portability include files for easier and cleaner
portability
- Better Linux support for the program 'mt'. It now prints the
file number and record number when calling 'mt status'.
- Support for QNX Neutrino
- Now we hopefully have floating point support for _all_ platforms
even those without *cvt() and without __dtoa(). Thanks to a hint
from Thomas Langer <Langer.Thomas@gmx.net> we now use strtod.c
to gert a fallback __dtoa()
- Added an autoconf test for rcmd() so cdrtools now should compile
again on BeOS and AmigaOS where no rcmd() is present.
- New option -block-number
This option has been inspired by gnutar, but with gnutar it is
useless as it prints wrong numbers. With star -block-number is
expected to print correct numbers. However star has a higly complex
dataflow because of the FIFO. If you find that it prints wrong numbers
with star, please report so I may check for the reason.
- Do not try to "diff" Volume headers with star -diff.
This is a pseudo file with no representation in the file system!
- Better portability for QNX
- Try to support recent BeOS
- (has no settimeofday() and some strange network woes)
- Does not have utimes() but wrong utimes() prototype in
posix/sys/time.h
- add getpagesize() emulation for BeOS
- Workaround in libschily/comerr.c for the nonstandard
big negative errno values on BeOS
- Try to support AmigaOS
- Renamed a structure member from f_offset to f_contoffset to allow
compilation on SCO OpenServer which has a macro of the same
name in file.h.
- First support for filesystem flags (see below)
- New Option -nodump that implements support for the 'nodump' file
flag on BSD-4.4 derivates and Linux.
On *BSD this works without performance degradation, on Linux the
system time will increase by 10% if -nodump is used.
- New option -o as alias for -nochown to complete POSIX compatibility.
- New 'README' file STARvsGNUTAR that is intended to help people
(currently using GNU tar) to use star.
- Restructured the usage() functions to better deal with the fact that
the usage listing for star has become quite long.
Now every usage error will only result in a short info that gives
a hint what star options may print the needed help information.
- The option tsize=# now has an increased functionality.
In former times, the argument was the size of a medium in multiples
of TAR blocks. Now the syntax of the bs= option has been added.
tsize=100 means 100 tape blocks (51200 bytes)
tsize=100m means 100MBytes
tsize=10240. means 10240 Bytes
- The option maxsize=# now has an increased functionality.
In former times, the argument was the size of a file in kBytes.
Now the syntax of the bs= option has been added.
maxsize=100 means 100 kBytes
maxsize=100m means 100MBytes
maxsize=10240. means 10240 Bytes
- A lot of code and documentation has been changed as on Friday afternoon
(7.12.2001) the new ieee POSIX-1003.1-2001 standard has been approved
and star is the first TAR archiver that is POSIX-1003.1-2001 compliant
and supports the POSIX-1003.1-2001 extended TAR headers. Old versions
of star did refer the standard as POSIX-1003.1-200x as it was not
100% clear whether it would be approved in 2001 or 2002.
- Large File support for IRIX-6.2 (added autoconf test for -n32 cc
option)
- Large File support for IRIX-6.5 now everything works correctly if the
OS supports Large Files by default in 32 bit mode
(uses fseeko()/ftello() if present). This could only be done by
massively changing the autoconf code stolen from GNUtar.
- Support for SGI IRIX platform ip17-irix
- Make hardlinks have size == 0 in the archive. This is a bug that
has been present for a long time. It seems that it has been overseen
sor a long time and was eported a few months ago.
- New option -acl now needed to tell star to handle ACLs.
This option has been introduced because it turns out that it is
impossible to handle the extract case (when the filesystem does
not support ACLs) in a decent way. Without -acl star would either
be forced to suppress eror messages for ACL handling or people
would see hundreds of ACL warnings.
The intention for the -acl option was to make ACL handling easy
to understand.
Here is a description how -acl works:
- if -acl is not present in create mode, star does not
archive ACLs
- if -acl is present in create mode and the header type
is 'exustar' (selected by H=exustar), star will
add ACL information to the archive.
- if -acl is not present in extract mode, star does not
handle ACL information (i.e. if the FS does not handle
ACLs, no error messages will occur, if the FS handles
ACLs and there are default ACLs set up for the directory
where star puts the extracted files the extracted files
will have the inherited ACLs from the Default ACL od the
directory regardless of the ACL information in the archive).
- if -acl is present in extract mode, star handles ACLs.
If the tar archive does not include ACL information at all
or if the archiv does not include ACL information for a
specific file, star will clear the ACL for this file.
If the tar archive includes ACL information for the file,
star will set up the ACL to be the same as the ACL information
in the archive (i.e. if -acl is present in extract mode,
no ACL information will be inherited from the ACL information
that was present in the filesystem tree before the exrtact
operation took place).
If -acl is present in extract mode and the filesystem where
the files are extracted to does not support ACLs, star will
display an error message fo each file that is extracted.
- Added better compatibility to the POSIX-1003.1 standard and allow
star to handle the 'l' option as requested by the standard if
the last pacth name compoent of av[0] is either tar or ustar.
To get a version if star with this property, you need to compile
star with:
make COPTX=-DTAR_COMPAT
- Make the default FIFO size on Linix 8 MB as with other architectures
if the Linux version supports mmap() and thus is not tightly limited
in shared memory size.
- New supported architctures:
s390-linux-cc.rul parisc-linux-cc.rul parisc64-linux-cc.rul
- fixed a bug that could hang the FIFO at the end of a archive read
operation if the archive file is much bigger than the archive
seems to be from the logical EOF mark.
This is done by introducing a long planned FIFO shut down operation.
- fixed a bug with links names that are exactly 100 chars long.
The bug caused the link name to be concatenated with the
string 'ustar'.
- -p option in create mode now is -dirmode to make the meaning of
the flags easier to understand and to allow -acl to include -p
- -acl option now includes -p in extract mode
- When star is called as "tar" the default format is "xustar". This
avoids problems with the pax program which does not compute checksums
correctly and thus believes that the "xstar" format is not TAR.
- blocks= and b= option now allow to specify multiplication factors
different from 512 (as with the bs= option).
- Print the error statistics when star aborts due to a hard error.
- New flag -xfflags allows to archive and restore extended file flags
as found on *BSD and Linux. Archiving is done as extension to the
POSIX.1-2001 extended file headers. The flags:
sappnd root settable append only
schg root settable immutable
nodump no dump
are found on both *BSD and Linux and thus are mapped vice versa
- 3rd stage and last of revision the man page
OPTIONS section alphabetically ordered and revised
- Fixed a bug that appeared with uids/gids in the range between
65534 and 2097151. Star did mask uid/gid values with 0xFFFF
before (as needed with historic UNIX implementations).
Bigger values are not affected as they are handled by different
methods.
Now star correctly uses MAXOCTAL6 and MAXOCTAL7 as mask for the
POSIX.1-1988 compliant uig/gid/ values.
- New rule allows automatic fallback to GCC if the configured
default compiler could not be found.
- Fix for a bug that caused star to create broken archives when
archiving files with negative time stamp ( < 1970) on 64 bit
platforms using a 64 bit variant of star.
Star now checks for octal digit overflows that did cause
the time and the size field run together.
- Check whether the OS uses the same st_mode definitions as
the TAR archive format. If both definitions differ,
convert the modes.
- Introduced a loop around fsync() and code to check for
EINTR & EINVAL
- Support Win XP (NT-5.1 os-cygwin_nt-5.1.id)
- Significant speed up for scanning sparse files for the files's hole
list. star is now 3x faster than old star versions and 4x faster
than GNUtar
- Fix for a Linux ACL bug.
Extracting files with 4 ACL entries did not work,
The last entry has been repeated in the buffer.
Thanks to Andreas Gruenbacher <ag@bestbits.at>
Description:
/*--------------------------------------------------------------------------*/
$ getfacl e f
# file: e
# owner: root
# group: root
user::rw-
user:hofer:rw-
group::r--
mask::rw-
other::r--
# file: f
# owner: root
# group: root
user::rw-
group::---
mask::---
other::r--
$ star -c -acl H=exustar e f > ef.tar
star: 1 blocks + 0 bytes (total of 10240 bytes = 10.00k).
$ rm e f
$ star -x -acl < ef.tar
star: Invalid argument. Cannot convert ACL 'user::rw-,group::---,mask::---,other::r--,rw-,other::r--,r--' to internal format for 'f'.
[...]
/*--------------------------------------------------------------------------*/
- Fixed autoconf code to circumvent a bug in the Linux include files
with fseeko()/ftello() which causes problems on 64 bit systems.
- Allow file= and f= option to be used more than once (up to 100 times).
- New option new-volume-script=script to call script at end of each
tape in multi volume mode.
- Set devmajor/devminor to 0 for all file types where it does
not make sense. This make sure that on operating systems or file
systems that e.g. return -1 for the device number no extended
header is generated.
- Fixed a bug that caused star to print 'file changed size' with
some sparse files. The bug has been introduced in star-1.4a19
and caused broken sparse files if the warning is printed.
- -v option changed from BOOL to inc type to allow more verbose
create mode.
- change 'file changed size' message so that is now reports either
'file changed size (increased)' or 'file changed size (shrunk)'.
- First implementation that is able to recursively remove non-empty
directories.
- Added links for ia64-linux to the Make RULES to allow users of GNUmake
to compile cdrtools on IA64. Note that "smake" includes automake
features and will auto-create the missing links.
- New option -link-dirs tells star to look for hard linked directories.
This makes star the first TAR implementation that allows to
archive hard linked directories.
- New transient option -dump.
This option is to used to make testing of the new features for
incremental dumps easier.
It currently defaults to the 'exustar' archive format and activates
the creation of more extended header fields that are needed to
have more file metadata information on the archive.
- In -dump mode (a preparation for incremental dumps) star now archives:
"SCHILY.dev" The field stat.st_dev - the filesys indicator
"SCHILY.ino" The field stat.st_ino - the file ID #
"SCHILY.nlink" The field stat.st_nlink - the hard link count
"SCHILY.filetype" The real file type - this allows e.g.
socket/door
These fields will in future allow star to archive and extract all
information that is needed for incremental dumps.
Star now includes ALL file metadata that is available. This allows a
complete restauration of all file properties and a diff mode that
checks for diffs in all file properties.
- The new extended header field SCHILY.filetype now allows (again) to
archive sockets. Star's pre-posix format did allow this in 1985 but
the 'star' archive format is deprecated these days.
- With -dump, DOOR files are archived as DOOR and extracted as plain file
of size 0.
- statdefs.h extended to include support for the BSD 'whiteout' file
type.
- List real file type instead of 'H' (Hard link) if this information
is available.
- man page for sparse files extended to help to understand possible
problems.
- New option -silent to supress informational messages like
'xxx is sparse'.
- New option -meta to tell star to archive only file metadate (from the
inode) but no file content. This option is needed to allow future
versions of star to support true incremental backups.
If in extract mode, star will not attempt to create or overwrite
files/specials.
*********
WARNING: Do not try to extract a star archive that includes meta files.
Other tar implementations may clobber files on disk when reading such
archives.
Star tries to cause other tar implementations to abort when they read
archives that contain meta files, but when other tar implementations
start to support POSIX.1-2001 extended headers this will not work
anymore.
If I get support from other TAR/PAX implementors, there is a chance to
integrate the needed features into POSIX-1-2005. Please help he to
support this as meta files are needed to allow true incremental
backups.
*********
- Better code to check if a file is 'the archive' because MacOS X
has directories with ino # 0.
- Compare filetype of hard links not only if the archive is the old
1985 star format. The POSIX.1-2001 extended headers may also hold
the real file type.
- Better warning for the broken tar headers used by GNUtar when
it adds volume headers.
/*--------------------------------------------------------------------------*/
Hints for using extended POSIX.1-2001 headers:
See README.posix-2001
/*--------------------------------------------------------------------------*/
*** Fixed problems with files that are close to the maximum file size:
- better tarblock() macro that avoids off_t overflows
- Try to avoid problems while reading files when off+amt < 0
or off+amt > size.
- Try to avoid problems with the Solaris ioctl _FIOAI when off+amt < 0
or off+amt > size.
/*--------------------------------------------------------------------------*/
Late changes:
- Cast pointerdiffs to int for printf() %.*s format and/or include
workarounds for 64 bit problems in this area.
- Use generic __malloc()/__realloc() if no memory would result in abort
- Better autoconf test for not working mlock() on HP-UX-10.20
- Better autocheck code for available C-compilers on HP-UX
Now even a fallback from GCC to CC works.
- Some changes to make compilation on 64 bit systems more correct
- Added support for GNU Hurd to the Schily Makefilesystem
- rmt.c changed because GNU Hurd has no MAXHOSTNAMELEN
Revision history (short)
1982 First version on UNOS (extract only)
1985 Port to UNIX (fully functional version)
1985 Added pre Posix method of handling special files/devices
1986 First experiments with fifo as external process.
1993 Remote tape access
1993 diff option
1994 Fifo with shared memory integrated into star
1994 Very long filenames and sparse files
1994 Gnutar and Ustar(Posix.1-1988) handling added
1994 Xstar format (extended Posix.1-1988) defined and introduced
1995 Ported to many platforms
1999 Support for Win32 (Cygwin)
1999 base 256 support to overcome limitation with octal fields
2001 Large file support
2001 Support for POSIX.1-2001 extended headers
2001 Support for ACLs in POSIX.1-2001 extended headers
2002 Support for extended file flags in POSIX.1-2001 extended headers
2002 Support for extended inode meta data and meta files
Supported platforms:
Virtually any! Known to work:
SunOS 4.x, Solaris (SunOS 5.x), Linux,
HP-UX, DG/UX, IRIX, AIX, FreeBSD, NetBSD, OpenBSD,
OSF-1, True-64, QNX, BeOS, Apollo Domain/OS, Next-STep,
OS/2, SCO-openserver, SCO-unixware, Caldera OpenUnix,
Cygwin (Win32), Sony NewsOS, BSDi (BSD/OS), QNX,
Apple Rhapsody, MacOS X, AmigaOS, GNU Hurd
Joerg
-------------------------------------------------------------
Star is the fastest known implementation of a tar archiver.
Star is able to make backups with far more than 10MB/s if the
disk and tape drive support such a speed. This is more than
double the speed that ufsdump will get.
In 1996, Ampex got 13.5 MB/s with their DLT tape drive which is a
modified professional digital video tape drive and not related
to Quantum's DLT type drives.
Ufsdump got a maximum speed of about 6MB/s with the same hardware.
Star development started 1982, the first complete implementation has
been done in 1985. I never did my backups with other tools than star.
Its main advantages over other tar implementations are:
fifo - keeps the tape streaming.
This gives you faster backups than
you can achieve with ufsdump, if the
size of the filesystem is > 1 GByte.
remote tape support - a fast RMT implementation that has no
probems to saturate a 100 Mb/s network.
accurate sparse files - star is able to reproduce holes in sparse
files accurately if the OS includes
the needed support functions. This is
currently true for Solaris-2.3 to
Solaris-2.5.1
pattern matcher - for a convenient user interface
(see manual page for more details).
To archive/extract a subset of files.
sophisticated diff - user tailorable interface for comparing
tar archives against file trees
This is one of the most interesting parts
of the star implementation.
no namelen limitation - Pathnames up to 1024 Bytes may be archived.
(The same limitation applies to linknames)
This limit may be expanded in future
without changing the method to record
long names.
deals with all 3 times - stores/restores all 3 times of a file
(even creation time)
With POSIX.1-2001 the times are in nanosecond
granularity.
Star may reset access time after doing
backup. On Solaris this can be done without
changing the ctime.
does not clobber files - more recent copies on disk will not be
clobbered from tape
This may be the main advantage over other
tar implementations. This allows
automatically repairing of corruptions
after a crash & fsck (Check for differences
after doing this with the diff option).
automatic byte swap - star automatically detects swapped archives
and transparently reads them the right way
automatic format detect - star automatically detects several common
archive formats and adopts to them.
Supported archive types are:
Old tar, gnu tar, ansi tar, star,
POSIX.1-2001 PAX, Sun's Solaris tar.
automatic compression detect - star automatically detects whether the
archive is compressed. If it has been
compressed with a compression program that
is compatible to decompression with "gzip"
or "bzip2", star automatically activates
decompression.
fully ansi compatible - Star is fully ANSI/Posix 1003.1 compatible.
See README.otherbugs for a complete
description of bugs found in other tar
implementations. Star is the first tar
implementation that supports POSIX.1-2001.
support for ACLs and file flags - star supports Access Control Lists
and extened file flags (as found on FreeBSD
and Linux). Support to archive and restore
other file properties may easily added.
support for all inode metadata - star supports to put all inode
metadata on the archive. This allows future
versions of star to perform true
incremental dumps.
Have a look at the manual page, it is included in the distribution.
Author:
Joerg Schilling
Seestr. 110
D-13353 Berlin
Germany
Email: joerg@schily.isdn.cs.tu-berlin.de, js@cs.tu-berlin.de
schilling@fokus.gmd.de
Please mail bugs and suggestions to me.