Schily's USER COMMANDS                                    STAR(1)


NAME

     star - unique standard tape archiver


SYNOPSIS

     star  command [options] [-find] file1 ... filen [find_expr]
     ustar command [options] [-find] file1 ... filen [find_expr]
     star  command list=name [options] -find [find_expr]
     tar   command [options]         file1 ... filen
     star  -copy   [options] [-find] file1 ... [f_expr] directory
     star  -copy   [options] -C from_directory . to_directory
     star  cli=name   ...


DESCRIPTION

     Star is a very fast tar(1) like tape archiver with  improved
     functionality.   It supports unlimited path name lengths (up
     to 8 GB) in all cases that use suitable archive types.

     Star archives and extracts multiple files to and from a sin-
     gle  file  called a tarfile. A tarfile is usually a magnetic
     tape, but it can be any file.  In all cases, appearance of a
     directory  name  refers  to the files and (recursively) sub-
     directories of that directory.

     Star's actions are controlled by the mandatory command flags
     from  the  list below.  The way star acts may be modified by
     additional options.

     Note that unpacking tar archives  may  be  a  security  risk
     because  star  may  overwrite  existing files.  See SECURITY
     NOTES for more information.

     If the first argument is in the form cli=name,  the  command
     line  interface  is  selected  to  match  name.  See section
     CLI SELECTION below.


FEATURES

     Star includes the first free implementation of  POSIX.1-2001
     extended  tar headers. The POSIX.1-2001 extended tar headers
     define a new standard way for going beyond  the  limitations
     of  the  historic  tar format.  They allow (among others) to
     archive all UNIX time stamps in sub-second resolution, files
     of  arbitrary  size  and filenames without length limitation
     using UNICODE UTF-8 coding for best exchange compatibility.

     Star by default uses a fifo to optimize  data  flow  from/to
     tape.  This  results in a normally streaming tape during the
     whole backup.  See -fifo and fs= option to  get  information
     on how to find the best fifo size.

     Star includes a pattern matcher to control the list of files
     to  be  processed.  This  gives  a  convenient interface for
     archiving  and  restoring  complex  lists   of   files.   In

Joerg Schilling      Last change: 2020/09/04                    1


Schily's USER COMMANDS                                    STAR(1)

     conjunction  with  the  -w  flag  it  is easy to merge a tar
     archive into an existing file tree. See also -U option.   In
     create  mode use the pat= option to specify either select or
     exclude patterns (depending on the -V flag). In  extract  or
     list  mode all file type arguments are interpreted as select
     patterns while the patterns specified with the  pat=  option
     may  be used as select or exclude patterns (depending on the
     -V flag).  Have a look at the description of the  -C  option
     to  learn  how to fetch files from a list of directories (in
     create mode) or to distribute files to a list of directories
     (in  extract  mode).   A substitute option allows ed(1) like
     pattern substitution in file names.

     Star includes support for  incremental  backup  and  restore
     similar  to the BSD commands dump(1) and restore(1) that are
     known as ufsdump(1) and ufsrestore(1) on Solaris.

     Star includes an enhanced function that is  similar  to  the
     find(1)  command  (see  sfind(1)).   This function is imple-
     mented in libfind.  It allows to use find expressions,  even
     in  extract  or  list  mode,  directly  on the content on an
     archive.  The extensions to find(1) allow to modify the file
     metadata.

     Star includes a sophisticated diff command that is  able  to
     compare  file  content  and meta data.  Several diff options
     allow user tailorable functionality.  Star  won't  show  you
     differences  you are not interested in.  Check the diffopts=
     option for more details.

     Star has no limitation on  filename  length.  Pathnames  and
     linknames  up  to  PATH_MAX  (typically  1024 bytes)  may be
     archived  by  most  tar  implementrations.  Star  allows  to
     archive path names up to 8 GB on modern platforms.

     Star deals with all 3 times, available  for  files  on  UNIX
     systems if the archive format is either chosen from the star
     specific formats or  is  a  format  that  uses  POSIX.1-2001
     extended  headers.  This is either done in second resolution
     by using a star specific POSIX.1-1988  compatible  extension
     or  in  sub second resolution by using POSIX.1-2001 extended
     headers.  Star is able to store  and  restore  all  3  times
     (mtime,  atime  and even ctime). On Solaris 2.x systems - if
     run as root -, star is able to do backups  without  changing
     any of the 3 the times.

     If used with the H=ustar option, or if called  as  ustar  or
     tar  while the H=headertype option is not used, star is 100%
     POSIX compliant.

     Star's default format (if called as star) is xstar and is as
     posix  compliant  as  possible. Enhancements to the standard

Joerg Schilling      Last change: 2020/09/04                    2


Schily's USER COMMANDS                                    STAR(1)

     that prevent correct extraction of single files when using a
     different  tar implementation that is only POSIX.1-1988 com-
     pliant may occur, but they only affect single files  with  a
     pathname that is longer than 100+130 chars or when archiving
     sparse files with the -sparse option in effect.   All  other
     files  will  extract correctly.  See the description for the
     H=headertype option below for more  information  on  archive
     formats and possible archive interchange problems.

     Star makes it easy to repair corrupted filesystems. After  a
     fsck  -y  has  been  run  on the filesystem, star is able to
     restore only the missing files automatically. Use then  star
     -diff to check for differences (see EXAMPLES for more infor-
     mation).

     Star automatically recognizes the type of the archive.  Star
     therefore  is able to handle features and properties of dif-
     ferent archive types in their native mode, if it knows about
     the peculiarities of the archive type.  See the H=headertype
     option for more details.  To be able to do this,  star  adds
     hidden  fingerprints  to  the  archive header that allows to
     recognise all star specific archive  formats.  The  GNU  tar
     format  is  recognised by the way it deviates from the stan-
     dard.

     Star  automatically  recognizes  and  handles  byte  swapped
     archives.  There is no option to manually control byte swap-
     ping.

     Star  automatically  recognizes   and   handles   compressed
     archives inside plain files.

     Star is able to archive and restore Access Control Lists for
     files using POSIX.1-2001 extended headers.


CLI SELECTION

     If the first argument is in the form cli=name,  the  command
     line interface is selected to match one of the supported CLI
     variants.  The following interfaces are supported:

     star           The star interface selects the  command  line
                    interface described in this manual page.

     suntar         The suntar interface selects the command line
                    interface  of  the classical UNIX tar command
                    as described in suntar(1).

     tar            The classical tar interface selects the  com-
                    mand line interface of the classical UNIX tar
                    command. This is currently an alias to suntar
                    and  implements  extensions introduced by the
                    tar command found on Solaris.

Joerg Schilling      Last change: 2020/09/04                    3


Schily's USER COMMANDS                                    STAR(1)

     gnutar         The gnutar interface selects the command line
                    interface of the GNU tar command as described
                    in gnutar(1).  Star however does  not  imple-
                    ment   the   deviations   from  the  standard
                    behavior, that are caused by the  GNU  option
                    parser  that  is used by the original gtar(1)
                    command.

     pax            The pax interface selects  the  command  line
                    interface   of   the  POSIX  pax  command  as
                    described in spax(1).

     cpio           The cpio interface selects the  command  line
                    interface  of the classical UNIX cpio command
                    as described in scpio(1).


COMMAND

     In native mode, star is compatible to the command line  syn-
     tax  of  a typical POSIX command and for this reason expects
     commands and options to start with a  single  dash  (-).  In
     this case, commands and options may be specified separately,
     all boolean or  increment  type  options  may  be  specified
     either separately or combined.

     For compatibility with GNU programs, long options may alter-
     natively start with a double dash.

     In compatibility mode to POSIX tar,  star  expects  commands
     and  options  to  appear  as one single string that does not
     start with a dash.  In POSIX tar compatibility  mode,  addi-
     tional  non  POSIX  options may be specified but must appear
     after the POSIX options and their args  and  need  to  start
     with a dash.

     -c   Create a new tarfile and write  named  files  into  it.
          Writing  starts  at  the  beginning  of tarfile. See -v
          option for information on  how  to  increase  verbosity
          while the archive is written.

          The Option -c may be used together with -diff  and  -t.
          In  this case, the whole command line has to be similar
          to the command line for the -copy mode.

     -copy
          Copy named files to the target directory which  is  the
          last  file  type  argument.   The target directory must
          exist.  The shorthand  -cx  instead  of  -copy  is  not
          allowed because this could be a result of a typo.

          If the option -diff has  been  specified  in  addition,
          star performs a one pass directory tree compare instead
          of copying files.  The shorthand -c  -diff  instead  of

Joerg Schilling      Last change: 2020/09/04                    4


Schily's USER COMMANDS                                    STAR(1)

          -copy -diff is also allowed.

          On operating systems with slow file I/O (such as  Linux
          with  any  filesystem  or  platforms with Copy on Write
          filesystems like ZFS), it may help to use -no-fsync  in
          addition  (see  also  ENVIRONMENT  and FILES), but then
          star is unable to detect all error conditions;  so  use
          with care.

          If the option -t has been specified  in  addition,  the
          last  file  type argument is not a target directory and
          star is performing a one pass listing instead of  copy-
          ing  files.   This makes sense as the listing from star
          may be better readable than the  output  from  ls  -lR.
          The  shorthand -c -t or -ct instead of -copy -t is also
          allowed.

          The job is by default done in the  best  archive  mode.
          This implies that it defaults to H=exustar -dump.  When
          in -copy mode, star forks into two processes  and  data
          exchange  is  done via the shared memory from the FIFO.
          This gives  the  best  possible  performance.   Without
          FIFO, the -copy mode will not work.

          The list= option, patterns and substitutions apply only
          to the create side of the copy command.

     -diff
          Compare the content and the  attributes  of  the  files
          from  the  archive  in tarfile to the filesystem.  This
          may also be used to  compare  two  file  trees  in  the
          filesystem.   If  you  use  a set of diffopts that fits
          your needs, it will give - in many cases - a more read-
          able  output  than  diff  -r.   If  you use star's dump
          extensions for the tar archive, the -diff option allows
          to find even if the directory in the file tree contains
          more files than the archive. This way, it  is  possible
          to compare all properties of two file trees in one run.
          See diffopts for more details.  Adding one or  more  -v
          options  increases  the  verbosity. With -vv and above,
          the directory content is compared also if star is read-
          ing a tar archive that has been created in -dump mode.

     -n   No extraction. Show what star would do, in case the  -x
          command had been specified.

     -r   Replace files in a tarfile. The named files are written
          to  the  end  of  tarfile. This implies that later, the
          appropriate files will be found more than once  on  the
          tarfile.

     -t   Table of contents.  List the contents of  the  tarfile.

Joerg Schilling      Last change: 2020/09/04                    5


Schily's USER COMMANDS                                    STAR(1)

          If  the  -v flag is used, the listing is similar to the
          format of ls -l output.  With this  option,  the  flags
          -a,  -atime  and -ctime have a different meaning if the
          archive is in star, xstar, xustar, exustar, or pax/epax
          format.   The option -a or -atime lists the access time
          instead of the modification  time,  the  option  -ctime
          lists  the  file creation time instead of the modifica-
          tion time.  The option -tpath may be used  in  addition
          to  modify  the  output  so  it  may  be  used in shell
          scripts.

     -u   Update a tarfile. The named files are  written  to  the
          end  of tarfile if they are not already there or if the
          files are newer than the files of the same  name  found
          in the archive.  The -r and -u command only work if the
          tar archives is a regular file or if the tar archive is
          an unblocked tape that may backspace.

     -x   Extract  the  named  files  from  the  tarfile.  If  no
          filename  argument  or pattern is specified, the entire
          content of the tarfile is restored.  If the -U flag  is
          not used, star extracts no file which is older than the
          corresponding file on disk.

          On operating systems with slow file I/O (such as  Linux
          with  any  filesystem  or  platforms with Copy on Write
          filesystems like ZFS), it may help to use -no-fsync  in
          addition  (see  also  ENVIRONMENT  and FILES), but then
          star is unable to detect all error conditions;  so  use
          with care.

     Except for the shorthands documented above, exactly  one  of
     the commands above must be specified.

     If one or more patterns or substitution commands  have  been
     specified,  they  apply  to any of the command listed above.
     In copy mode, all patterns and substitute commands apply  to
     the create side.


OPTIONS

     -help
          Print a summary  of  the  most  important  options  for
          star(1).

     -xhelp
          Print a summary  of  the  less  important  options  for
          star(1).

     -/   Don't  strip  leading  slashes  from  file  names  when
          extracting  an  archive.  Tar archives containing abso-
          lute pathnames are usually a bad idea. With  other  tar

Joerg Schilling      Last change: 2020/09/04                    6


Schily's USER COMMANDS                                    STAR(1)

          implementations,  they  may possibly never be extracted
          without clobbering existing files. Star for  that  rea-
          son,  by  default strips leading slashes from filenames
          when in extract mode.   As  it  may  be  impossible  to
          create  an  archive  where  leading  slashes  have been
          stripped while retaining correct path names, star  does
          not strip leading slashes in create mode.

          See SECURITY NOTES for more information.

     -..  Don't skip files that contain /../  in  the  name.  Tar
          archives  containing  names  with /../ could be used to
          compromise the system. If they  are  unpacked  together
          with a lot of other files, this would in most cases not
          even be noticed. For this reason, star by default  does
          not extract files that contain /../ in the name if star
          is not in interactive mode (see -w option).

          See SECURITY NOTES for more information.

     -7z  run the input or output through  a  p7zip  pipe  -  see
          option -z below.

          Note that the p7zip program currently does not  operate
          on  a  pipe but on a /tmp file copy and thus limits the
          maximum archive size.

     -0

     -1

     -2

     -3

     -4

     -5

     -6

     -7   Select an archive entry  from  /etc/default/star.   The
          format  for the archive entries is the same as the for-
          mat in /etc/default/tar in Solaris.

     -acl Handle Access Control List (ACL) information in  create
          and  extract mode.  If -acl has been specified, star is
          in create mode and the header  type  is  exustar,  star
          will   add   ACL   information  to  the  archive  using
          POSIX.1-2001 extended headers.  If -acl has been speci-
          fied  and  star  is  in  extract mode, star will try to

Joerg Schilling      Last change: 2020/09/04                    7


Schily's USER COMMANDS                                    STAR(1)

          restore ACL information. If there is no ACL information
          for  one  or  all files in the archive, star will clear
          the ACL information for the specific file.   Note  that
          if  -acl  has  not been specified, star will not handle
          ACL information at all and files may inherit ACL infor-
          mation from the parent directories.  If the -acl option
          has been specified, star assumes that the -p option has
          been specified too.

          Star  currently  supports  ACLs  from   the   withdrawn
          POSIX.1e draft and NFSv4 ACLs.  To check which ACL fla-
          vors are supported on the current platform,  call  star
          -version.   Whether  ACLs  from  the withdrawn POSIX.1e
          draft can be converted into NFSv4 ACLs depends  on  the
          local ACL support library.

     artype=headertype
          Generate a tape archive in headertype format.  If  this
          option is used in extract/list mode this forces star to
          interpret the headers to be of type headertype. As star
          even  in case of a user selected extract archive format
          does format checking, it may be that you  will  not  be
          able  to  unpack  a  specific archive with all possible
          forced archive formats. Selecting the  old  tar  format
          for  extraction will always work though.  Valid parame-
          ter for headertype are:

          help      Print a help message  about  possible  header
                    types.

          v7tar     Old UNIX V7 tar format. This  archive  format
                    may  only  store  plain  files.  Pathnames or
                    linknames longer than 99  chars  may  not  be
                    archived.

                    If the v7tar format has been  selected,  star
                    will  not  use  enhancements  to the historic
                    UNIX V7 tar format.  File size is limited  to
                    2 GB - 2 bytes, uid/gid is limited to 262143.
                    Sparse files will be filled up with zeroes.

          tar       Old BSD UNIX tar format. This archive  format
                    may  only  store plain files, directories and
                    symbolic  links.   Pathnames   or   linknames
                    longer  than  99  chars  may not be archived.
                    See also the -d option as a note to some even
                    older tar implementations.

                    If the tar format  has  been  selected,  star
                    will not use enhancements to the historic tar
                    format.  File size is limited to  2  GB  -  2
                    bytes,  uid/gid is limited to 262143.  Sparse

Joerg Schilling      Last change: 2020/09/04                    8


Schily's USER COMMANDS                                    STAR(1)

                    files will be filled up with zeroes.

          star      Old  star  standard  format.   This   is   an
                    upward/downward compatible enhancement of the
                    old (pre Posix) UNIX tar format.  It has been
                    introduced in 1985 and therefore is not Posix
                    compliant.  The star format allows to archive
                    special  files  (even  sockets)  and  records
                    access time and  creation  time  besides  the
                    modification  time. Newer versions of the old
                    star  format  allow   very   long   filenames
                    (100+155 chars  and  above),  linknames > 100
                    chars and sparse files (if -sparse is  used).
                    This  format is able to copy the device nodes
                    on HP-UX that have 24 bits in the minor  dev-
                    ice  number,  which  is more then the 21 bits
                    that are possible with the  POSIX-1003.1-1988
                    archive format.

                    The nonstandard extensions are located in the
                    space  between  the  link  name and the POSIX
                    file name prefix.  As the  star  format  does
                    not  use a POSIX magic string, the extensions
                    do not interfere with the POSIX tar  formats.
                    The  last  4  bytes  of the tar header in the
                    star archive format contain a 'tar\0'  signa-
                    ture.

                    This archive format supports very  long  path
                    names.

          gnutar    This is a commonly  used,  but  unfortunately
                    not  Posix compliant (although designed after
                    1987) enhancement to the old tar format.  The
                    gnutar  format  has been defined between 1989
                    and 1994.  Do not use the gnutar archive for-
                    mat  unless you want to create an archive for
                    a target system that is known  to  have  only
                    the  gnutar  program  available.   The gnutar
                    archive format violates basic rules  for  any
                    (even  the  historic)  tar archive format, in
                    special when sparse files are archived  using
                    the -sparse option.

                    GNU tar is not able  to  extract  files  with
                    with  long  path names, but under some condi-
                    tions creates archives with long path  names.
                    We  therefore  do  not  limit the creation of
                    gnutar archives with long path names.

                    Using the gnutar archive format causes a high
                    risk  that  the resulting archive may only be

Joerg Schilling      Last change: 2020/09/04                    9


Schily's USER COMMANDS                                    STAR(1)

                    read by gnutar or by star.   The  implementa-
                    tion of the gnutar archive format within star
                    is not complete, but sufficient for most gnu-
                    tar  archives.   See  NOTES for more informa-
                    tion.

                    This archive format supports very  long  path
                    names.

          ustar     IEEE/Posix1003/IEC-9945-1-1988 Standard  Data
                    Interchange  format.   With  this  option  in
                    effect, star will generate 100%  POSIX.1-1988
                    compliant tar archives.  Files with pathnames
                    longer than 100+155 chars or linknames longer
                    than  100 chars may not be archived.  If star
                    is called as ustar the default archive format
                    is ustar.

                    If the ustar format has been  selected,  star
                    will not use enhancements to the POSIX.1-1988
                    tar format, the archive will be strictly con-
                    forming.   File  size  is  limited  to  8 GB,
                    uid/gid/major/minor is  limited  to  2097151.
                    Sparse files will be filled up with zeroes.

          pax       The IEEE/Posix1003/IEC-9945-1-1988  successor
                    is the POSIX-1003.1-2001 Standard Data Inter-
                    change format.  It is called the pax  archive
                    format.

                    If the pax format  has  been  selected,  star
                    will not use enhancements to the POSIX.1-2001
                    tar format, the archive will be strictly con-
                    forming.     File    size    is    unlimited,
                    uid/gid/uname/gidname      is      unlimited,
                    major/minor  is  limited  to 2097151.  Sparse
                    files will be filled up with zeroes.

                    This archive format supports very  long  path
                    names.

          epax      A format similar to the pax format  but  with
                    forced  POSIX.1-2001  extended headers.  This
                    enforces stimestamps with nanosecond  resolu-
                    tion in the archive.

                    This archive format supports very  long  path
                    names.

          xstar     The extended standard  tar  format  has  been
                    introduced  in 1994. Star uses the xstar for-
                    mat as default archive  format.  This  is  an

Joerg Schilling      Last change: 2020/09/04                   10


Schily's USER COMMANDS                                    STAR(1)

                    upward/downward compatible enhancement of the
                    IEEE/Posix1003/IEC-9945-1    Standard    Data
                    Interchange  format.   It allows among others
                    very long filenames (100+130 chars and above)
                    and  records  access  time and creation time.
                    Sparse files will be archived  correctly  (if
                    -sparse is used).

                    The access time and creation time are  stored
                    at  the  end  of  the  POSIX file name prefix
                    (this limits the prefix to 130 chars).  These
                    extensions  do  not  interfere with the POSIX
                    standard as the fields for  mtime  and  ctime
                    field  are  always  separated  from the POSIX
                    file name prefix by a null byte.  The last  4
                    bytes  of  the  tar  header contain a 'tar\0'
                    signature.

                    The xstar format is the default  format  when
                    star  is  neither called as tar nor called as
                    ustar.

                    This archive format supports very  long  path
                    names.

          xustar    A new format introduced 1998, that omits  the
                    'tar\0'  signature  at  the  end  of  the tar
                    header. It  is  otherwise  identical  to  the
                    xstar format.  As some tar implementations do
                    not follow the POSIX rules  and  compute  the
                    checksum  for  less than 512 bytes of the tar
                    header, this format may help to  avoid  prob-
                    lems  with  these broken tar implementations.
                    The main other difference to the xstar format
                    is  that  the xustar format uses POSIX.1-2001
                    extended headers to overcome  limitations  of
                    the  historic tar format while the xstar for-
                    mat uses proprietary extensions.  The  xustar
                    format  is  the  default  format when star is
                    called as tar.

                    File size is unlimited, uid/gid/uname/gidname
                    is   unlimited,   major/minor  is  unlimited.
                    Sparse files will be archived  correctly  (if
                    -sparse is used).

                    This archive format supports very  long  path
                    names.

          exustar   A format similar to  the  xustar  format  but
                    with  forced  POSIX.1-2001  extended headers.
                    If this format is used together with the -acl

Joerg Schilling      Last change: 2020/09/04                   11


Schily's USER COMMANDS                                    STAR(1)

                    option,  star  records  Access  Control Lists
                    (ACLs) in POSIX.1-2001 extended headers.

                    The exustar format allows to archive all file
                    types  but  it does not archive more than the
                    POSIX.1-1988 set by default.   If  the  -dump
                    option  is  used  or  if star is otherwise on
                    dump mode, star archives all file  types  and
                    in  addition  archives  more  meta  data then
                    usual.

                    File size is unlimited, uid/gid/uname/gidname
                    is   unlimited,   major/minor  is  unlimited.
                    Sparse files will be archived  correctly  (if
                    -sparse is used).

                    This archive format supports very  long  path
                    names.

          suntar    The extended header format found  on  Solaris
                    7/8/9. This format is similar to the pax for-
                    mat but does not handle atime and  ctime  and
                    in  addition uses 'X' as the typeflag for the
                    extended headers instead of the standard 'x'.

                    File size is unlimited, uid/gid/uname/gidname
                    is   unlimited,   major/minor  is  unlimited.
                    Sparse files will be filled up with zeroes.

          bin       The cpio UNIX V7 binary format.   This  is  a
                    format  with  big  interoperability problems.
                    Try to avoid this format.  It is only present
                    to make the scpio command SVr4 compliant.

          cpio      The POSIX.1-1988  cpio  format.  This  format
                    uses octal ascii headers. A similar format is
                    created by calling cpio -o -c on  pre  SYSVr4
                    systems  and  by  calling  cpio  -o  -Hodc on
                    SYSVr4 systems.  The POSIX.1-1988 cpio format
                    allows  a file name length up to 262142 char-
                    acters and allows to archive nearly any  file
                    type.    File   size  is  limited  to  8  GB,
                    uid/gid/st_dev is limited to 262143.  The way
                    major  and  minor  device  numbers are stored
                    inside the  st_dev  field  is  implementation
                    dependent.

                    Even though this archive format is covered by
                    the  POSIX.1-1988  standard,  it  has a lower
                    portability than the  ustar  format.  Try  to
                    avoid the cpio archive format.

Joerg Schilling      Last change: 2020/09/04                   12


Schily's USER COMMANDS                                    STAR(1)

          odc       This archive format is  similar  to  the  The
                    POSIX.1-1988  cpio  format  but the file name
                    length is limited to 255 characters  and  the
                    socket   file  type  is  not  allowed.   This
                    archive format has been introduced  to  allow
                    non  POSIX  cpio  implementations such as the
                    cpio program on SYSV to accept  the  archive.
                    Use  this format whenever you are not sure if
                    the target system offers a fully  POSIX  com-
                    pliant cpio program.

                    Even though this archive format is covered by
                    the  POSIX.1-1988  standard,  it  has a lower
                    portability than the  ustar  format.  Try  to
                    avoid the odc archive format.

          asc       Tell star to create a  cpio  archive  in  the
                    ascii  format that is created with cpio -o -c
                    on SYSVr4 systems.  It uses extended (32 bit)
                    numbers  for  uid's, gid's and device numbers
                    but limits the file size to 4 GB  -  2  bytes
                    although  the format has been specified after
                    the POSIX.1-1988 cpio format.  Try  to  avoid
                    the asc archive format because of its limited
                    portability.

          crc       This format is similar to the asc cpio format
                    but  in addition uses a simple byte based 32-
                    bit checksum.  Hence the  archive  type  name
                    CRC  as  used  by AT&T is misleading.  Try to
                    avoid the crc archive format because  of  its
                    limited portability.

          All tar archive formats  may  be  interchanged  if  the
          archive  contains  no files that may not be archived by
          using the old tar format. Archives in the xstar  format
          may be extracted by any 100% POSIX compliant tar imple-
          mentation if  they  contain  no  files  with  pathnames
          > 100+130 chars  and  if  they  contain no sparse files
          that have been archived by using the -sparse option.

     -ask_remove
          obsoleted by -ask-remove

     -ask-remove
          Ask to remove non writable  files  on  extraction.   By
          default,  star  will  not overwrite files that are read
          only.  If this option  is  in  effect,  star  will  ask
          whether  it  should  remove  these  files  to allow the
          extraction of a file in the following way:

Joerg Schilling      Last change: 2020/09/04                   13


Schily's USER COMMANDS                                    STAR(1)

               remove 'filename' ? Y(es)/N(o) :

     -atime, -a
          Reset access time of files after storing them  to  tar-
          file.  On  Solaris  2.x, (if invoked by root) star uses
          the _FIOSATIME ioctl to do this. This enables star  not
          to  trash  the  ctime  while resetting the atime of the
          files.  If the -atime option  is  used  in  conjunction
          with  the  list command, star lists access time instead
          of modification time. (This works only  in  conjunction
          with  the  star,  xstar,  xustar, exustar, and with the
          pax/epax format.)  Another option to retain the  access
          time for the the files that are going to be archives is
          to readonly mount a UFS snapshot and to  archive  files
          from the mount point of the UFS snapshot.

     -B   Force star to perform multiple reads (if necessary)  to
          fill a block.  This option exists so that star can work
          across the Ethernet, since  pipes  and  sockets  return
          partial  blocks even when more data is coming.  If star
          uses stdin as archive file, star behaves as if  it  has
          been  called  with the -B option.  For this reason, the
          option -B in practice is rarely needed.

     b=#  Set the block size for  tape  operations.   See  option
          blocks=#.

     -block-number
          Print the archive block number (archive offset  /  512)
          at  the  beginning  of  each line when in verbose mode.
          This allows to write backup scripts  that  archive  the
          offsets for files and that use

               mt fsr blockno

          to skip to the tape block number of interest in a  fast
          way if a single file needs to be restored.

          Since the numbers printed by the  -block-number  option
          are  based  on  a  block size of 512 bytes and the tape
          block size is usually larger, the tape block number for
          the  mt  fsr  command needs to be computed to honor the
          tape blocking factor.

     blocks=#, b=#
          Set the blocking  factor  of  the  tarfile  to  # times
          512 bytes (unless a different multiplication factor has
          been specified - see bs= option for possible  multipli-
          cation  factors).   Changing  the  blocking factor only
          makes sense when the archive is located on a real  tape
          device  or  when the archive is accessed via the remote
          tape protocol (see f= option below).  The default is to

Joerg Schilling      Last change: 2020/09/04                   14


Schily's USER COMMANDS                                    STAR(1)

          use a blocking factor of 20 i.e. 10 kBytes.  Increasing
          the blocksize will speed up the backup.  For  portabil-
          ity  with  very old tar implementations (pre BSD 4.2 or
          pre AT&T SVR4),  blocksize  should  not  be  more  than
          10 kBytes.   For  POSIX.1-1988 compatibility, blocksize
          should be no more  than  10 kBytes.   For  POSIX.1-2001
          compatibility,   blocksize   should  be  no  more  than
          32 kBytes.  Most systems also have a  hardware  limita-
          tion  for  the  blocksize,  32 kBytes and 63 kBytes are
          common limits on many systems.  The upper limit in  any
          case  is  the size of the buffer RAM in the tape drive.
          Make a test if you want to make sure  that  the  target
          system  will handle the intended blocksize.  If you use
          star for data exchange via tape, it is a good  idea  to
          use  a  blocksize of 10 kBytes unless you are sure that
          the reading system will handle a larger blocksize.   If
          you  use  star for backup purposes with recent hardware
          (e.g. DLT  tape  drives),  a  blocksize  of  256 kBytes
          results  in  sufficient  speed  and  seems to be a good
          choice.  Star allows block sizes up to 2 GByte  if  the
          system does not impose a smaller limit.  If you want to
          determine the blocking factor when reading  an  unknown
          tar  archive on tape, specify a blocking factor that is
          higher than the supposed blocking factor of  the  tape.
          Star then will determine the blocking factor by reading
          the first record of the tape and print a message:

               star: Blocksize = # records.

          Where # is the blocking  factor  in  multiples  of  512
          bytes.   The  blocks=  option  and  the  bs= option are
          equivalent methods to specify the tape block size.  The
          blocks=  option  is preferred by people who like to use
          an option that behaves similar to the interface of  the
          historic tar(1) implementations.

          The best method to set the blocksize is to use the bs=#
          option.

     bs=# Set output block size to  #.   You  may  use  the  same
          method as in dd(1) and sdd(1).  The number representing
          the size is taken in bytes unless otherwise  specified.
          If  a  number  is  followed directly by the letter `.',
          `w', `b', `k', `m', `g', `t', or `p', the size is  mul-
          tiplied  by 1, 2, 512, 1024, 1024*1024, 1024*1024*1024,
          1024*1024*1024*1024  or  1024*1024*1024*1024*1024.   If
          the  size  consists of numbers separated by `x' or `*',
          multiplication of the two numbers is  performed.   Thus
          bs=7x8k  will specify a blocksize of 56 kBytes.  Block-
          size must be a multiple of 512  bytes.   See  also  the
          description  of  the blocks= option for more details on
          blocksizes.  The option bs= is preferred by people  who

Joerg Schilling      Last change: 2020/09/04                   15


Schily's USER COMMANDS                                    STAR(1)

          like  to  use  an  option  that  behaves similar to the
          interface used by dd(1) and sdd(1).

     -bsdchdir
          Switch the behavior of the C= option to BSD style.  The
          default behavior of star is to stay in a working direc-
          tory until a new C= is seen.   With  BSD  tar,  the  C=
          option is only related to the next file type argument.

     -bz  run the input or output through  a  bzip2  pipe  -  see
          option  -z  -Z  and -j below.  As the -bz the -j the -Z
          and the -z option are non standard, it makes  sense  to
          omit  the  -bz  the -j the -Z and the -z options inside
          shell scripts if you are going to extract a  compressed
          archive  that  is  located  inside a plain file as star
          will auto  detect  compression  and  choose  the  right
          decompression option to extract.

     C=dir

     -C dir
          Perform a chdir(2) operation to dir before  storing  or
          extracting  the  next  files.   In all cases, star will
          perform the chdir(2) operation relative to the  current
          working directory of the shell.

          +    In list mode (with the -t flag), star ignores  all
               -C options.

          +    In create mode (with the -c, -r and -u flag), star
               walks  through  all -C options and file type argu-
               ments.  While a BSD derived tar(1)  implementation
               goes  back  to the current working directory after
               storing one file argument that immediately follows
               the  -C option, star changes the directory only if
               a new -C option follows.  To emulate the  behavior
               of  a BSD derived tar(1), add a -C .  option after
               the file argument.

          +    In extract mode (with the -x, -n and -diff  flag),
               star   builds   a   pattern   list  together  with
               corresponding  directories  from  previous   C=dir
               options and performs a chdir(2) to the correspond-
               ing directory of a  matching  pattern.   All  pat=
               options  that  do  not  follow  a C=dir option are
               interpreted as if they were preceded  by  a  -C  .
               option.  See EXAMPLES for more information.

     compress-program=name
          Set  a  named  compress  program.   The  program   must
          compress  in  a pipe when called without parameters and
          decompress when run with the -d option in a pipe.  This

Joerg Schilling      Last change: 2020/09/04                   16


Schily's USER COMMANDS                                    STAR(1)

          option is otherwise similar to the -z the -j the -Z and
          the -bz option.

     -copydlinks
          Try to recursively copy the content  of  linked  direc-
          tories instead of creating the link. This is an experi-
          mental feature that may help to unpack archives on DOS.

     -copyhardlinks
          This option allows to copy  hardlinked  targets  rather
          than  creating the link.  It helps to extract tar files
          on systems that do not implement hardlinks (e.g. BeOS).

     -copylinks
          This option allows to copy both,  hard-  and  symlinked
          targets  rather  than  creating  a  link.   It helps to
          extract tar files on  systems  that  do  not  implement
          links  (e.g.  OS/2).   To extract and copy all symlinks
          correctly, you may need to call star twice as star can-
          not  copy files that appear in the archive later than a
          symlink pointing to them.

     -copysymlinks
          This option allows to  copy  symlinked  targets  rather
          than creating a symbolic link.  It helps to extract tar
          files on systems that  do  not  implement  links  (e.g.
          OS/2).  To extract and copy all symlinks correctly, you
          may need to call star twice as star cannot  copy  files
          that  appear in the archive later than a symlink point-
          ing to them.

     -cpio-statistics
          Instead of the star flavor  of  the  statistics,  print
          statistics in cpio flavor.

     -ctime
          If used with the list command, this lists ctime  rather
          than  mtime  if the archive format is star, xstar, xus-
          tar, exustar, or pax/epax.

          If star is run as root and if -ctime is used  with  the
          extract  command  and  the  same  archive formats, this
          causes star to try to restore even the ctime of a  file
          by generating time storms.  You should not do this when
          in multi user mode because this  may  confuse  programs
          like  cron and the news system.  Although star tries to
          eliminate the accumulative effects of the  time  storm,
          there is a tendency for the system clock to slow down a
          bit.  The clock typically lags  about  one  millisecond
          per extracted file.  Use with care and check the system
          clock after using this feature.

Joerg Schilling      Last change: 2020/09/04                   17


Schily's USER COMMANDS                                    STAR(1)

          If used  with  the  create  command  this  changes  the
          behavior  of the newer= option. Star, in this case com-
          pares the ctime of all files to the mtime of the  stamp
          file rather then comparing the mtimes of both files.

     -cumulative
          A shorthand for -dump-cumulative.  See -dump-cumulative
          for more information.

     -D   Do not descend directories when in create  mode.   Nor-
          mally,  star descends the whole tree if it encounters a
          directory in in its file parameters.  The option -D  is
          in  effect  by default if the list=file option is used.
          If you like star to descend directories  found  in  the
          list file, use the -dodesc option (see below).

     -d   Do not store/create directories.  Old versions  of  tar
          such  as published with the seventh edition of UNIX are
          not able to deal with directories in tar archives. If a
          tar  archive  is  generated  without  directories  this
          avoids  problems  with  tar  implementations  found  on
          SYSVr3  and earlier.  If used during extract, no inter-
          mediate missing directories are created.

     -data-change-warn
          If the size of a file changes while the file  is  being
          archived,  treat  this condition as a warning only that
          does not cause a non zero exit code.  A warning message
          is  still  written  if  the  condition is not otherwise
          ignored by another rule from an  errctl=  option.   The
          -data-change-warn  option  works  as  if the last error
          control option was

               errctl="WARN|GROW|SHRINK *"

          The -e option or an ABORT entry in a condition  set  up
          by   errctl=   has   a   higher   precedence  than  the
          -data-change-warn option.  This option  is  ignored  in
          extract or list mode.

     -debug
          Print debug messages. Among other  things,  this  gives
          debug  messages  for  header type recognition, tar type
          properties, EOF recognition, opening of remote archives
          and fifo internals.

     diffopts=optlst
          Comma separated list of  diffopts.   Valid  members  in
          optlst are:

          help      Print a summary of possible  members  of  the
                    diffopts list.

Joerg Schilling      Last change: 2020/09/04                   18


Schily's USER COMMANDS                                    STAR(1)

          !         Invert the meaning of the  following  string.
                    No  comma  is  needed  after  the exclamation
                    mark.

          not       Invert the meaning of all members in the dif-
                    fopts  list  i.e. exclude all present options
                    from an initially complete set compare  list.
                    When  using csh(1) you might have problems to
                    use ! due to its strange parser.  This is why
                    the not alias exists.

          perm      Compare file permissions. With this option in
                    effect,  star  compares the low order 12 bits
                    of the st_mode field.

          mode      Same as perm.

          symperm   Compare permissions even in case  the  target
                    file  on  the  local filesystem is a symbolic
                    link.  By default, star will not compare  the
                    permission  of symbolic links as most systems
                    cannot set the permission of symbolic  links.
                    Star  compares  symperm  only if perm is com-
                    pared also.

          type      Compare file type. Note that star cannot com-
                    pare the file type in case of a hard link.

          nlink     Compare link count on hardlinks for all types
                    of  files.  This only works if the archive is
                    in exustar format and  contains  star's  dump
                    extensions.

          dnlink    Compare link count on  hardlinks  for  direc-
                    tories.   If comparing dnlink is excluded but
                    nlink is not excluded, this  allows  to  deal
                    with  filesystems that differ in their direc-
                    tory  implementation.   The  link  count   of
                    directories  in  POSIX is equal to the number
                    of manually created additional hard links + 1
                    (as with other file types), while on histori-
                    cal UNIX  filesystems  it  is  equal  to  the
                    number  of  sub-directories  +  2 + number of
                    manually created additional hard links.  This
                    only  works if the archive is in exustar for-
                    mat and contains star's dump extensions.

          uid       Compare numerical user id of file.

          gid       Compare numerical group id of file.

          uname     Compare ASCII version of  user  id  of  file.

Joerg Schilling      Last change: 2020/09/04                   19


Schily's USER COMMANDS                                    STAR(1)

                    The   user   name  is  mapped  via  the  file
                    /etc/passwd.

          gname     Compare ASCII version of group  id  of  file.
                    The   group  name  is  mapped  via  the  file
                    /etc/group.

          id        Shorthand for:  uid,gid,uname,gname.  Compare
                    all  user/group  related  info of file.  Note
                    that this will always find differences if the
                    source  and  target system use different user
                    or group mappings.

          size      Compare file size.   Note  that  star  cannot
                    compare the file size in case of a hard link.

          data      Compare content of  file.   If  star  already
                    found  that  the size of the files differ, it
                    will not compare the content anymore.  If the
                    size  of  the  files differ, star will always
                    report different data.

          cont      Same as data.

          rdev      Compare major/minor numbers for device nodes.

          hardlink  Compare target of hardlinks.

          symlink   Compare target of  symlinks.  This  evaluates
                    the paths returned by the readlink(2) call.

                    Two symlinks are considered  equal,  it  they
                    either  have  a characterwise identical link-
                    name, or if they either both use an  absolute
                    path  name  or  both use a relative path name
                    and the following  is  true:   Both  symlinks
                    point  to  the  same  file that must exist or
                    both pathnames look similar enough.

          sympath   Compare the  target  pathnames  of  symlinks.
                    This   characterwise   compares  the  strings
                    returned from the readlink(2) call.

          sparse    Compare if either both files  are  sparse  or
                    not.  If  only  one  of both files is sparse,
                    then a  difference  is  flagged.   This  only
                    works  with  if  the  archive format is star,
                    xstar, xustar, exustar, or gnutar.

          atime     Compare access time of file. This only  works
                    with  if  the  archive format is star, xstar,
                    xustar, exustar, or pax/epax.

Joerg Schilling      Last change: 2020/09/04                   20


Schily's USER COMMANDS                                    STAR(1)

          mtime     Compare modification time of file.

          ctime     This only works with if the archive format is
                    star, xstar, xustar, exustar, or pax/epax.

          lmtime    Compare the modification time  even  in  case
                    the  target file on the local filesystem is a
                    symbolic link.  By  default,  star  will  not
                    compare  the  modification  time  of symbolic
                    links as most systems cannot set the  modifi-
                    cation time of symbolic links.  Star compares
                    lmtime only if mtime is compared also.

          times     Shorthand for:  atime,mtime,ctime.

          nsecs     Check nanoseconds in all selected  timestamps
                    as well.

                    Note that  the  time  resolution  of  various
                    filesystem differs.  While modern filesystems
                    like ZFS and filesystems  that  introduced  a
                    sub-second  resolution recently, tend to sup-
                    port a  nanosecond  granularity,  filesystems
                    like UFS that support a sub-second resolution
                    since the early 1990s tend to support only  a
                    microsecond  granularity.  Since  even  in in
                    2018,      the      POSIX.1-2008      feature
                    pathconf(_PC_TIMESTAMP_RESOLUTION)   has  not
                    yet been implemented on any platform, you may
                    need  to  disable  to  compare nanoseconds in
                    some cases.

                    Star currently first  tries  to  compare  the
                    timestamps  based  on a nanosecond resolution
                    and if that fails and one timestamp seems  to
                    have a microsecond resolution, the comparison
                    is repeated with microsecond resolution only.

          dir       Compare the  content  of  directories.   This
                    only  works if the archive is in exustar for-
                    mat  and  contains  star's  dump  extensions.
                    Together  with  increased verbose level (-vv)
                    this will print a list of files that are only
                    in  the  archive and a list of files that are
                    only on the current filesystem.

          xtimes    Shorthand for:  atime,mtime,ctime,lmtime.

          acl       Compare  access  control  lists.   This  only
                    works if the archive is in exustar format and
                    has been created  with  star's  -acl  option.
                    You  need  to  specify  the  -acl  option  in

Joerg Schilling      Last change: 2020/09/04                   21


Schily's USER COMMANDS                                    STAR(1)

                    addition when running the diff.

          xattr     Compare extended file attributes.  This  only
                    works if the archive is in exustar format and
                    has been created with star's  -xattr  option.
                    You  need  to  specify  the  -xattr option in
                    addition when running the diff.

          fflags    Compare extended file flags.  This only works
                    if  the  archive is in exustar format and has
                    been created  with  star's  -xfflags  option.
                    You  need  to  specify the -xfflags option in
                    addition when running the diff.

          If optlst starts with a ! the meaning of all members in
          optlst  is inverted as with the not optlist member.  In
          this case,  star  starts  with  a  complete  list  that
          includes  atime and lmtime.  Reasonable diff options to
          use when comparing against a copy of a  directory  tree
          are diffopts=!atime,ctime,lmtime.

          If diffopts are not specified, star compares everything
          but  the  access time of the files and the modification
          time of symbolic links.

     dir-group=group
          If star extracts archives as root, this  option  allows
          to  control  the  group  id of intermediate directories
          created by star.

     dir-owner=user
          If star extracts archives as root, this  option  allows
          to   control  the  owner  of  intermediate  directories
          created by

     -dirmode
          If in create mode (i.e. when storing files to archive),
          star  stores  directories past the corresponding files.
          This  guarantees  that  even  old  tar  implementations
          without  a  directory cache will be able to restore the
          correct times  of  directories.   The  option  -dirmode
          should  only  be  used  if  the  archive  needs  to  be
          extracted by an old tar implementation. If star is used
          to  extract an archive that has been created with -dir-
          mode the directories will not get  an  old  time  stamp
          unless  the  option  -U  is  used  while extracting the
          archive.

     -do-fsync
          Tell star to call  fsync(2)  for  every  file  when  in
          extract  mode.   This  enables  star to check whether a
          file could be successfully  extracted.   See  -no-fsync

Joerg Schilling      Last change: 2020/09/04                   22


Schily's USER COMMANDS                                    STAR(1)

          for more information.

     -dodesc
          Force star to descend directories found in a list=file.
          See  also the -D option above.  The -dodesc option only
          works in create mode.

     -dump
          Allows to create  archives  with  the  same  number  of
          attributes as an archive that has been created with the
          level= option but without the restrictions  that  apply
          to a true dump.

          The resultant archive may be seen as a level-less  dump
          which includes similar attributes as a level 0 dump but
          may span more than a single file system  and  does  not
          need to use a -C option.  It has been originally intro-
          duced to make it easier to  implement  a  star  version
          that supports true incremental dumps, but it is kept as
          it gives additional benefits.  Star currently sets  the
          archive  type to exustar and, in addition archives more
          inode meta data inside POSIX.1-2001  extended  headers.
          See  also  level=  option  and  the section INCREMENTAL
          BACKUPS for more information on true incremental dumps.

     -dump+
          Works similar to -dump but creates more global  archive
          header meta data, e.g. the SCHILY.volhdr.hostname tag.

          This helps to understand where a tar archive  has  been
          created.

     -dump-cumulative
          instructs star to perform incremental dumps  relatively
          to the last incremental dump of the same level.  Incre-
          mental dumps with a level higher than  0  are  normally
          done  relatively to the content of a previous dump with
          lower level. If  incremental  dumps  and  restores  are
          going  to  be  used  to synchronize filesystem content,
          every successive incremental dump will increase in size
          if -dump-cumulative is not used.  See section SYNCHRON-
          IZING FILESYSTEMS for more information.

     dumpdate=name
          Tells star to use the mtime of the time stamp file name
          instead  of  using  the  start  time  of star.  This is
          needed when star is run on file system  snapshots.   If
          star  would  use  the  the  it's  own  start  time with
          snapshots, all files that have  been  modified  between
          the  setup  of the snapshot and the start of star would
          be missing on the backup.

Joerg Schilling      Last change: 2020/09/04                   23


Schily's USER COMMANDS                                    STAR(1)

          A solution is to create the time stamp  file,  then  to
          create   the   snapshot   and   later  use  the  option
          dumpdate=name.

     -dumpmeta
          changes the behavior of star in incremental dump  mode.
          If  -dumpmeta  is  used  and only the inode change time
          (st_ctime) of a file has been updated  since  the  last
          incremental  dump, star will archive only the meta data
          of the file (e.g. uid, permissions, ...)  but  not  the
          file  content.   Using -dumpmeta will result in smaller
          incremental dumps, but files  that  have  been  created
          between  two  incrementals  and  set  to an old date in
          st_mtime (e.g. as a result from a tar extract) will not
          be  archived  with  full content.  Using -dumpmeta thus
          may result in incomplete incremental  dumps,  use  with
          extreme care.

     -e   Exit immediately with exit status -3 (253) if any unex-
          pected  error  occurs.   The  -e option works as if the
          last error control option was

               errctl="ABORT|ALL|DIFF   *"

          This allows to use the errctl= option together with the
          -e  option  and  thus  to  ignore some error conditions
          while aborting on all other conditions.

     errctl= name
     errctl= error control spec
          Add the content from file name  to  the  error  control
          definitions or add error control spec to the error con-
          trol definitions.  More than one error control file and
          more  than  one error control spec as well as a mixture
          of both forms is possible.

          The reason for using error  control  is  to  make  star
          quiet  about  error  conditions  that  are  known to be
          irrelevant on the quality of the archive or restore run
          or  to  tell  star to abort on certain error conditions
          instead of trying to continue with the archive.

          A typical reason to use error control  is  to  suppress
          warnings  about  growing log files while doing a backup
          on a live file system.  Another typical reason  to  use
          error  control  is to tell star to abort if e.g. a file
          could not be archived instead of continuing to  archive
          other files from a list.

          The error control file contains a set  of  lines,  each
          starting  with a list of error conditions to be ignored
          followed by white space followed by a file name pattern

Joerg Schilling      Last change: 2020/09/04                   24


Schily's USER COMMANDS                                    STAR(1)

          (see  match(1)  or  patmatch(3)  for more information).
          The error control spec uses the same syntax as a single
          line  from  the  error  control file.  If the file name
          pattern  needs  to  start  with  white  space,  use   a
          backslash  to  escape the start of the file name. It is
          not possible to have new line characters  in  the  file
          name  pattern.   Whenever an error situation is encoun-
          tered, star checks the lines in the error control  file
          starting  from the top.  If the current error condition
          is listed on a line in the  error  control  file,  then
          star checks whether the pattern on the rest of the line
          matches the current file name.  If this  is  the  case,
          star  uses  the  current error control specification to
          control the current error condition.

          The list of error conditions to be handled may use  one
          or  more  (in  this  case separated by a '|' character)
          identifiers from the list below:

          ABORT       If this meta condition is  included  in  an
                      error  condition,  star  aborts  (exits) as
                      soon as possible after this error condition
                      has  been seen instead of making star quiet
                      about the condition.  This error  condition
                      flag may only be used together with at leat
                      another error condition or a list of  error
                      conditions (separated by a '|' character).

          WARN        If this meta condition is  included  in  an
                      error  condition,  star  prints the warning
                      about the error  condition  but  the  error
                      condition  does not affect the exit code of
                      star and the  error  statistics  (which  is
                      printed  to  the  end) does not include the
                      related errors.  This error condition  flag
                      may  only  be used together with at another
                      error condition or a list of  error  condi-
                      tions  (separated by a '|' character).  The
                      WARN meta condition has a lower  precedence
                      than ABORT.

          DIFF        Suppress output in case that star -diff did
                      encounter any differences.

          ALL         This is a shortcut for all error conditions
                      below.

          STAT        Suppress  warnings  that  star  could   not
                      stat(2) a file.

          GETACL      Suppress warnings about files on which star
                      had    problems   to   retrieve   the   ACL

Joerg Schilling      Last change: 2020/09/04                   25


Schily's USER COMMANDS                                    STAR(1)

                      information.

          OPEN        Suppress warnings about  files  that  could
                      not be opened.

          READ        Suppress  warnings  about  read  errors  on
                      files.

          WRITE       Suppress warnings  about  write  errors  on
                      files.

          READLINK    Suppress warnings about readlink(2)  errors
                      on symbolic links.

          GROW        Suppress warnings about files that did grow
                      while they have been archived.

          SHRINK      Suppress  warnings  about  files  that  did
                      shrink while they have been archived.

          MISSLINK    Suppress warnings  about  files  for  which
                      star was unable to archive all hard links.

          NAMETOOLONG Suppress warnings about  files  that  could
                      not  be  archived  because  the name of the
                      file is too long for the archive format.

          FILETOOBIG  Suppress warnings about  files  that  could
                      not  be  archived  because  the size of the
                      file is too big for the archive format.

          SPECIALFILE Suppress warnings about  files  that  could
                      not  be  archived  because the file type is
                      not supported by the archive format.

          GETXATTR    Suppress warnings about files on that  star
                      could not retrieve the extended file attri-
                      bute information.

          CHDIR       Suppress warnings about chdir(2) errors.

          ICONV       Suppress warnings  about  iconv(3)  errors.
                      These  error happen, when text is converted
                      from  or  to  POSIX.1-2001   extended   tar
                      headers.

          ID          Suppress  warnings  about   uid/gid   range
                      errors.    These  errors  happen  when  the
                      archive format does not support the  actual
                      value.

          SETTIME     Suppress warnings about files on that  star

Joerg Schilling      Last change: 2020/09/04                   26


Schily's USER COMMANDS                                    STAR(1)

                      could  not  set the time information during
                      extraction.

          SETMODE     Suppress warnings about files on that  star
                      could  not  set  the  access  modes  during
                      extraction.

          SECURITY    Suppress warnings  about  files  that  have
                      been  skipped  on  extraction  because they
                      have been considered to be a security risk.
                      This  currently  applies  to all files that
                      have a '/../' sequence inside when -..  has
                      not been specified.

          LSECURITY   Suppress warnings  about  links  that  have
                      been  skipped  on  extraction  because they
                      have been considered to be a security risk.
                      This  currently  applies to all link target
                      names that start with '/' or have a  '/../'
                      sequence  inside  when -no-secure-links has
                      not been specified.   In  this  case,  star
                      tries  to  match  the link name against the
                      pattern in the error control file.

          SAMEFILE    Suppress warnings  about  links  that  have
                      been  skipped  on extraction because source
                      and target of the link are pointing to  the
                      same  file.   If  star would not skip these
                      files, it would end up  with  removing  the
                      file  completely.  In this case, star tries
                      to match the link name against the  pattern
                      in the error control file.

          BADACL      Suppress warnings about access control list
                      conversion problems.

          SETACL      Suppress warnings about files on that  star
                      could  not  set  the ACL information during
                      extraction.

          SETXATTR    Suppress warnings about files on that  star
                      could  not  set the extended file attribute
                      information during extraction.

     If a specific error condition is  ignored,  then  the  error
     condition  is  not  only  handled  in  a silent way but also
     excluded from the error statistics that are printed  at  the
     end of the star run.

     Be very careful when using error control as you  may  ignore
     any  error  condition.  If you ignore the wrong error condi-
     tions, you may not be able to see real problems anymore.

Joerg Schilling      Last change: 2020/09/04                   27


Schily's USER COMMANDS                                    STAR(1)

     -exclude-from name
          Exclude from named file, this is an alias  for  the  -X
          option. See -X option for more information.

     -F,-FF ...
          Fast and simple exclude option for create  mode.   With
          one  -F  argument,  star ignores all directories called
          SCCS and RCS.  With two -F arguments, star in  addition
          ignores all files called core errs a.out all files end-
          ing with .o.  OBJ/.   With  three  -F  arguments,  star
          ignores  all  sub  trees starting from a directory that
          includes a file .mirror  or  .exclude  and  all  object
          files and files called core errs a.out all files ending
          with .o.  With four -F arguments, star ignores all  sub
          trees  starting  from  a directory that includes a file
          .mirror or .exclude the latter files are  excluded  too
          as  well  as and all object files and files called core
          errs a.out all files ending  with  .o.   With  five  -F
          arguments,  star  in addition again excludes all direc-
          tories called SCCS and RCS.

     f=tarfilename
          Use tarfilename as the name for the tar  archive.   See
          option file=tarfilename.

     -fifo
          Use a fifo to optimize data flow from/to tarfile.  This
          option  is  in  effect by default (it may be changed at
          compile time).  The default fifo size is  8  MBytes  on
          all platforms except Linux versions that do not support
          mmap() (4 MB because kernels before 2.4 did not  handle
          big  shared memory areas) and Sun/mc68000 (1 MB).  This
          will star make even work on a tiny machine like  a  Sun
          3/50.  The  fifo  size  may  be  modified  with the fs=
          option. A rule of thumb for the fifo  size  is  to  use
          more  than  the  buffer size of the tape drive and less
          then half of the real memory of the  machine.   A  good
          choice  would  be  to use a fifo size between 8 and 256
          MB.  This may increase backup speed up to  5%  compared
          to  the speed achieved with the default fifo size. Note
          that with a DLT drive  from  y2000  that  gives  12MB/s
          transfer rate, a fifo of 256 MB size will keep the tape
          at least streaming in units of 20 seconds.

          Future  LTO  tape  drives  are  expected  to  implement
          transfer  rates  of aprox. 3GB/s and need a much larger
          fifo size to keep the tape streaming.

          All options that start with the -f sequence are  sensi-
          tive to typo problems, see BUGS section for more infor-
          mation.

Joerg Schilling      Last change: 2020/09/04                   28


Schily's USER COMMANDS                                    STAR(1)

     -fifostats
          Print fifo statistics at the end of a star run when the
          fifo  has  been in effect.  All options that start with
          the -f sequence are sensitive  to  typo  problems,  see
          BUGS section for more information.

     file=tarfilename, f=tarfilename
          Use tarfilename  as  the  name  for  the  tar  archive.
          Currently  up to 100 file= options are possible. Speci-
          fying more then one file= option make  sense  in  multi
          volume  mode.  In this case star will use the next name
          in the list every time a media change  is  needed.   To
          make  star behave consistent with the single file case,
          star loops over the list of known archive files.   Note
          that  if star is installed suid root and the first tar-
          file is a remote archive, only the connection  to  this
          archive  will  be  created with root privileges.  After
          this connection has  been  established  as  root,  star
          switches  back  to the id of the caller.  If any of the
          other archives in the list is located  on  a  different
          host,  star will not be able to open this archive later
          on, unless run by root.

          Star normally uses stdin/stdout  for  the  tar  archive
          because  the most common way to use star is in conjunc-
          tion with pipes.  If star is installed suid root or  if
          it  has  been  called  by  root,  tarfilename may be in
          remote syntax: user@host:filename as in rcp(1) even  if
          invoked  by  non  root  users.  See SUID NOTES for more
          information.

          To make a file local although it includes a colon  (:),
          the filename must start with:  '/', './' or '../'

          Note that if star talks  to  an  old  rmt  remote  tape
          server  that  does  not support symbolic open modes, it
          does not open a remote tape with the O_CREAT open  flag
          because  this would be extremely dangerous.  If the rmt
          server on the other side is the rmt server  that  comes
          with  star or the GNU rmt server, star may use the sym-
          bolic mode for the open flags.  Only the symbolic  open
          modes  allow to send all possible open modes in a port-
          able way to remote tape servers.

          It is recommended to use the rmt server that comes with
          star.   It  is  the only rmt server that gives platform
          independent compatibility with BSD,  Sun  and  GNU  rmt
          clients  and  it includes security features that may be
          set up in /etc/default/rmt.   All  options  that  start
          with  the  -f  sequence are sensitive to typo problems,
          see BUGS section for more information.

Joerg Schilling      Last change: 2020/09/04                   29


Schily's USER COMMANDS                                    STAR(1)

          See -rsh option on how to set up a  different  protocol
          for the connection to the remote tape server.

          See ENVIRONMENT section for information on how  to  use
          ssh(1) to create a remote tape server connection.

          Note that if file=- has been specified, it is no longer
          possible to use the -find -exec primary.

     -find
          This option acts a separator.  If it is used, all  star
          options must be to the left of the -find option. To the
          right of the -find option, star accepts the  find  com-
          mand line syntax only.

          The find expression acts as a filter between the source
          of file names and the consumer, which may either be the
          archiving engine or list/extract engine.  If  the  find
          expression  evaluated as TRUE, then the related file is
          selected for processing, otherwise it is omited.

          In order to make the evaluation of the find  expression
          more  convenient,  star implements additional find pri-
          maries that have side effects on the  file  meta  data.
          Star  implements  the  following  additional  find pri-
          maries:

          -chatime timespec
               The primary always evaluates as true; it  modifies
               the  time of last access of a file in struct stat.
               See sfind(1) for a description of timespec.

          -chctime timespec
               The primary always evaluates as true; it  modifies
               the time of last status change of a file in struct
               stat.  See sfind(1) for a description of timespec.

          -chmtime timespec
               The primary always evaluates as true; it  modifies
               the  time of last modification of a file in struct
               stat.  See sfind(1) for a description of timespec.

          -chgrp gname
               The primary always evaluates as true; it sets  the
               group of the file to gname.

          -chmod mode
               The primary always evaluates as true; it sets  the
               permissions  of  the file to mode.  Octal and sym-
               bolic permissions are accepted for  mode  as  with
               chmod(1).

Joerg Schilling      Last change: 2020/09/04                   30


Schily's USER COMMANDS                                    STAR(1)

          -chown uname
               The primary always evaluates as true; it sets  the
               owner of the file to uname.

          -false
               The primary always evaluates as false;  it  allows
               to  make  the  result  of the full expression dif-
               ferent from the result of a part  of  the  expres-
               sion.

          -true
               The primary always evaluates as true; it allows to
               make  the  result of the full expression different
               from the result of a part of the expression.

          The command line:

          star -c f=o.tar -find . ( -type d -ls -o false )  -o  !
          -type d

          lists all directories and archives all  non-directories
          to the archive o.tar.

          The command line:

          star -c f=o.tar -find . ( -type d -chown root -o true )

          archives all directories so they appear to be owned  by
          root  in  the archive, all non-directories are archived
          as they are in the file system.

          Note that the -ls, -exec and the -ok primary cannot  be
          used  if  stdin  or  stdout  has been redirected by the
          list=- of by the file=- options.

     -force_hole
          obsoleted by -force-hole

     -force-hole
          Try to extract all files with holes.  This  even  works
          with files that are created without the -sparse option.
          Star, in this case examines the content of the files in
          the  archive  and  replaces  writes to parts containing
          binary zeroes with seeks.

          If used together with  the  -sparse  option  in  create
          mode,  star assumes all files to be sparse and archives
          files with blocks of nulls as sparse files.

          This option should be used with  extreme  care  because
          you  sometimes get in trouble when files get unattended
          holes.  All options that start with the -f sequence are

Joerg Schilling      Last change: 2020/09/04                   31


Schily's USER COMMANDS                                    STAR(1)

          sensitive  to  typo problems, see BUGS section for more
          information.

     -force_remove
          obsoleted by -force-remove

     -force-remove
          Force to remove non writable files on  extraction.   By
          default,  star  will  not overwrite files that are read
          only.  If this option is in effect, star will  silently
          remove  these  files to allow the extraction of a file.
          All options that start with the -f sequence are  sensi-
          tive to typo problems, see BUGS section for more infor-
          mation.

     -force-restore
          Force an incremental restore even if there  is  a  dump
          level  mismatch  or  a  reference  date  mismatch.  See
          -wtardumps, level= and sections INCREMENTAL BACKUPS and
          INCREMENTAL RESTORES for more information.

     -freeze
          run the input or output through a  freeze  pipe  -  see
          option -z below.

     fs=# Set fifo size to #.  See bs= for the possible syntax.

          The default size of the fifo is 1 Mbyte on Sun  mc68000
          systems, 4 Mbytes on non mmap() aware Linux systems and
          8 Mbytes on all other systems.  See  -fifo  option  for
          hints on using the right fifo size.

     fs-name=mount_point
          Use   mount_point   when   recording   information   in
          /etc/tardumps and when comparing against information in
          /etc/tardumps  for  incremental  backups.   This  makes
          sense when backups are made using file system snapshots
          and allows /etc/tardumps and the archive to contain the
          real  name  of the file system instead of the temporary
          mount point that is used for the snapshot device.

     H=headertype
          See artype=headertype option.  Note  that  POSIX.1-2001
          defines  an  option -H that follows symbolic links that
          have been encountered on the command  line.   For  this
          reason,  the old star option H=headertype option may go
          away in the future even though this option has been  in
          use by cpio since 1989.

     -h, -L

Joerg Schilling      Last change: 2020/09/04                   32


Schily's USER COMMANDS                                    STAR(1)

          Follow symbolic links as if they were files.   Normally
          star  will  not  follow symbolic links but stores their
          values in tarfile. See also the -L option.

     -hardlinks
          In extract mode, this  option  tells  star  to  try  to
          create  a hardlink whenever a symlink is encountered in
          the archive.  In create mode, this option tells star to
          try to archive a hardlink whenever a symlink is encoun-
          tered in the file system.

     -hpdev
          Allow 24 bits for the minor device number using 8 octal
          digits.   Note  that  although  it allows to create tar
          archives that can be read with HP-UX tar, this  creates
          tar  archives  which violate POSIX.1-1988.  This option
          is only needed if you like to use a POSIX.1-1988  based
          archive  format  that  does not include extensions.  If
          you use the xstar format, star  will  use  a  base  256
          extension  that  allows  bigger  major/minor numbers by
          default, if you use the xustar or  the  exustar  format
          there  is  no  limitation  at  all as these formats use
          POSIX.1-2001   extended   headers   to   archive    the
          major/minor numbers by default.

     -i   Ignore checksum errors on tar headers.  If this  option
          is specified, star will not exit if a header with a bad
          checksum is found but search for the next valid header.

     -install
          Carefully replace existing files when extracting files.
          This  is done similar to install(1) by first extracting
          the files into a temporary name and renaming  the  file
          to the final name after the extraction of that file was
          successful.

          As star by default does  not  remove  non-empty  direc-
          tories,  an  install that needs to remove existing non-
          empty   directories   may   also   need   the   options
          -force-remove and -remove-recursive.

     iskip=#
          Set the initial skip size to #.  See bs= for the possi-
          ble syntax.

          The skip size is the number of bytes to ignore from the
          first  tape  record. This option is typically used if a
          tar archive on a tape is not read  from  the  beginning
          and  the  tape  has  been  forwarded before the tape is
          read.  iskip= then specifies the offset  of  the  first
          archive  header within the current tape record. It does
          not work on compressed archives.

Joerg Schilling      Last change: 2020/09/04                   33


Schily's USER COMMANDS                                    STAR(1)

     -j   run the input or output through  a  bzip2  pipe  -  see
          option  -z  -Z and -bz below.  As the -bz the -j the -Z
          and the -z option are non standard, it makes  sense  to
          omit  the  -bz  the -j the -Z and the -z options inside
          shell scripts if you are going to extract a  compressed
          archive  that  is  located  inside a plain file as star
          will auto  detect  compression  and  choose  the  right
          decompression option to extract.

     -keep-nonempty-dirs
          Do not complain about trying to remove nonempty  direc-
          tories  in  case  that  -remove-recursive  has not been
          specified.

     -keep_old_files
          obsoleted by -keep-old-files

     -keep-old-files, -k
          Keep existing files rather  than  restoring  them  from
          tarfile.  This saves files from being clobbered even if
          tarfile  contains  a  more  recent   version   of   the
          corresponding file.

          See SECURITY NOTES for more information.

     -L, -h
          Follow symbolic links as if they were files.   Normally
          star  will  not  follow symbolic links but stores their
          values in tarfile. See also the -h option.

     -l   Do not print a warning message if not all links to hard
          linked  files could be dumped. This option is evaluated
          in the opposite way to historic tar(1)  implementations
          and  to  POSIX.1.   POSIX.1 requests that by default no
          warning messages will be printed  and  -l  will  enable
          warning messages when not all links could be archived.

     level=dumplevel
          Set level for incremental dumps.  This option  is  used
          to  switch  star  into true incremental dump mode.  The
          dumplevel may be in the range between 0..99.

          In true incremental dump mode, a  -C  option  which  is
          followed  by  the name a mount point and a dot ('.') as
          starting directory name is required. Only a single file
          system may be handled at a time.  If the directory fol-
          lowing the -C option is not referring to a root  direc-
          tory  of  a  file  system, the dump is called a partial
          dump.  If the directory  following  the  -C  option  is
          referring  to  a root directory of a file system and no
          other restrictions apply  that  exclude  certain  files
          from the dump, the dump is called a full dump.

Joerg Schilling      Last change: 2020/09/04                   34


Schily's USER COMMANDS                                    STAR(1)

          By default, the tardumps database is not written.   See
          also  the  tardumps=name and -wtardumps options and the
          section INCREMENTAL BACKUPS for more information.

     -link-data
          In create mode, include the  data  for  files  even  if
          these files are hard links. This feature in create mode
          is currently only available  for  the  exustar  archive
          format and only in case -sparse has not been specified.

          In extract mode, allow star to deal with data  in  hard
          linked  files even if the standard would not allow this
          for the used archive format.

     -link-dirs
          When in create mode, try to  find  hard  linked  direc-
          tories.  Using -link-dirs will force star to keep track
          of all directories that will go into  the  archive  and
          thus  causes  a lot more memory to be allocated than in
          the default case.

          If you like to extract a  cpio  archive  that  contains
          hard  linked  directories,  you  also  need  to specify
          -link-dirs in extract or diff  mode.   This  is  needed
          because many cpio implementations create buggy archives
          with respect to hard links.  If  star  would  look  for
          hard  linked  directories in all cases, it would detect
          many pseudo hard links to directories.  Use  -link-dirs
          with care if you extract cpio archives.

          Note that not all filesystem allow to create hard links
          to  directories.  Also note that even though a non-root
          user is able detect  and  archive  hard  linked  direc-
          tories, all known operating systems require the extrac-
          tion to be done as root in order to be able  to  create
          or  remove  hard links to directories.  For this reason
          its only recommended to  use  this  option  when  doing
          accurate backups and when hard links to directories are
          expected.

          When the option -link-dirs is not used and  hard  links
          to directories are present, the appendant sub-tree will
          appear more than once on  the  archive  and  star  will
          print  Linkcount  below zero warnings for non directory
          hard links inside the sub-tree.

     list=filename
          Read filenames for store/create/list/diff command  from
          filename. The file filename must contain a list of path
          names, each on a separate line.   This  option  implies
          the  -D  option.  To force star to descend directories,
          use the -dodesc option in this case.  See also  the  -X

Joerg Schilling      Last change: 2020/09/04                   35


Schily's USER COMMANDS                                    STAR(1)

          option.

          If used together with -find, no path list  is  accepted
          after the option -find.

          See also the option  pkglist=  for  a  way  to  specify
          filename, permission, owner and group.

          Note that if list=- has been specified, it is no longer
          possible to use the -find -exec primary.

     -lowmem
          Try to run  with  reduced  memory  requirements.   This
          causes star to default to 1 MB of FIFO memory.  Instead
          of allocating memory to hold the directory content  and
          reading the directory at once, star reads the directory
          name by name. This may cause star to close  the  direc-
          tory if it rans out of file descriptors because of dee-
          ply nested directories. If a directory  then  does  not
          support telldir(3)/seekdir(3), star will fail.

     -lzip
          run the input or output  through  a  lzip  pipe  -  see
          option -z below.

     -lzma
          run the input or output  through  a  lzma  pipe  -  see
          option -z below.

     -lzo run the input or output  through  a  lzop  pipe  -  see
          option -z below.

     -M, -xdev
          Do not descend mount points.  This is useful when doing
          backups  of  complete  file systems. See NOTES for more
          information.

          When using -find, this may not always work as expected,
          e.g. when the /proc filesyestem is involved.  Use -xdev
          past -find for this reason.

     -m   Do not restore access and  modification  time.  (Access
          time  is only available if star is reading star, xstar,
          xustar,  exustar,  or  pax/epax  archives).   If   star
          extracts  other  archive types, the -m flag only refers
          to the modification time.

     -match-tree
          If in create mode a pattern does not match a directory,
          and -match-tree has been specified, the whole directory
          tree is excluded from  the  archive  and  from  further

Joerg Schilling      Last change: 2020/09/04                   36


Schily's USER COMMANDS                                    STAR(1)

          directory  scans.  By default, star excludes the direc-
          tory but still recursively scans the  content  of  this
          directory  as complex patterns could allow files inside
          the directory tree to match.  Using -match-tree  allows
          to  efficiently exclude whole trees from scanning. This
          helps to avoid scannings directory trees  that  are  on
          remote file systems or contain excessive bad blocks.

     maxsize=#
          Do not store files in tarfile if they are  bigger  than
          #.   See  bs= for the possible syntax.  By default, the
          number is multiplied by 1024, so the  value  counts  in
          units  of  kBytes.   If  the size specifier ends with a
          valid multiplication character (e.g '.'  for  bytes  or
          'M' for MB) the specified size is used as specified and
          not multiplied by 1024.  See bs= option for all  possi-
          ble multipliers.

     -meta
          In create mode, -meta causes star to archive  all  meta
          data  of  the file (e.g. uid, permissions, ...) but not
          the file content. In extract mode, it  causes  star  to
          restore  all  meta  data  but  not the file content. In
          addition, in extract mode no plain file,  special  file
          or directory will be created.  Meta files are needed to
          support incremental backups.

          Warning: Do not try to extract star archives containing
          meta  files using other tar implementations if they are
          not aware of the meta file extensions  of  star.   Star
          tries  to  force  all  tar implementations that are not
          standard compliant to abort.  Star also tries  to  make
          all  non  POSIX.1-2001  compliant  tar  implementations
          unable to find a valid  filename.  However  when  other
          POSIX.1-2001  aware  tar  implementations  come  up and
          don't know about meta files, they will destroy files on
          disk.

          The problems result from the only current  fallback  in
          the  POSIX  standard  that tells tar implementations to
          treat all unknown file types  as  if  they  were  plain
          files.  As  meta files are needed for incremental back-
          ups, I am looking for people and companies who like  to
          support  me  to be able to add the meta file concept to
          the POSIX.1-2005 standard.

     -modebits
          This options allows you to  create  tar  archives  that
          include  more  than  12  bits  from  st_mode. Note this
          create tar archives that violate  POSIX  but  some  tar
          implementations  insist  in  reading  such  nonstandard
          archives.

Joerg Schilling      Last change: 2020/09/04                   37


Schily's USER COMMANDS                                    STAR(1)

     mtskip=#
          Set the initial archive skip amount to #.  See bs=  for
          the possible syntax.

          The archive skip size is the number of 512 byte  blocks
          to  ignore  before  starting to read the archive. Typi-
          cally, the value printed by the -block-number option is
          used as the parameter.

          This option is used if a tar archive on a tape  is  not
          read  from  the beginning in order to fast forward to a
          specific file. Check the -one-file option for a way  to
          extract only one file from the archive.

          If the archive is a plain file, this option results  in
          a  lseek() call to the input file.  If the archive is a
          magnetic tape, this option results in a  mtioctl(MTFSR)
          call for the part of the blocks that can be represented
          by the tape block  size  followed  by  a  skip  of  the
          remainder  of  the  blocks. Since star learns about the
          tape block size from the first read() call, this option
          does  not work correctly if the tape block size used by
          star does not match the tape block size on the  medium.
          See  the  blocks=#  option above for information on the
          tape block size.

          If mtskip=# has been specified,  a  iskip=#  option  is
          ignored  and  the  value  is  rather  computed from the
          mtskip=#  parameter.   mtskip=#  does   not   work   on
          compressed archives.

     -multivol
          Switch to multi volume mode.   In  multi  volume  mode,
          there  will be no logical EOF marker written to the end
          of a single tape. If -multivol is used in read mode,  a
          hard  EOF  on  input (if not preceded by a logical EOF)
          triggers a medium change operation.

          Specifying -multivol tells star to split  files  across
          volumes  if  needed.   This  way,  a virtual archive is
          created that spans more than one medium.  Multi  volume
          mode is needed whenever it is not possible to split the
          archiving or extracting into several logically indepen-
          dent   tasks.   This   is  true  for  e.g.  incremental
          dump/restore operations where inode numbers need to  be
          traced for the whole task.

          When tsize=# has been specified, but  star  is  not  in
          multi   volume  mode,  files  cannot  be  split  across
          volumes.

          When  -multivol  has  been  specified  in  create  mode

Joerg Schilling      Last change: 2020/09/04                   38


Schily's USER COMMANDS                                    STAR(1)

          together  with tsize=# then a media change is initiated
          exactly after an amount of tsize data has been written.
          When  -multivol  has  been specified in create mode and
          tsize=# has not been specified, then the medium  change
          is  triggered  by  a  EOT  condition  from  writing the
          medium. This allows to use media where the size  cannot
          be  known in advance (e.g. tapes with build in compres-
          sion); it does not work if the  EOT  condition  is  not
          returned  in sync with the related write operation. For
          this reason, it is expected that data buffering  inside
          a device driver cannot be used.

          Depending on the selected archive format, star writes a
          volume  header  at  the beginning of a new medium. This
          medium header allows to verify the correct volume after
          a  change  during  read back.  It is recommended to use
          the exustar format for best results.  In  create  mode,
          -multivol  is  only  supported  for archives types that
          allow to write reliable multi  volume  header  informa-
          tion.

          See tsize=# option for more information.

          Note that  -multivol  is  an  interactive  option  that
          prevents   star  from  being  used  in  non-interactive
          environments.   If  you  like  to  use  it  in  a  non-
          interactive    environment,   you   need   to   specify
          new-volume-script=script in addition in order to  auto-
          mate the media change procedure.

     newer=filename
          Do not store files to  tarfile  if  their  modification
          time  is  not  newer  than  the  modification  time  of
          filename. See -ctime option for changing this behavior.

     -newest
          In conjunction with the list  command  this  lists  you
          only the newest file in tarfile.

     -newest_file
          obsoleted by -newest-file

     -newest-file
          In conjunction with the list  command  this  lists  you
          only the newest regular file in tarfile.

     new-volume-script=script
          Call script at end of each tape (even the last one)  if
          in  multi  volume mode or if the tsize= option has been
          specified.  If this option is not in effect, star  will
          ask  the user to confirm the volume change.  The script
          is called with two parameters.  The first parameter  is

Joerg Schilling      Last change: 2020/09/04                   39


Schily's USER COMMANDS                                    STAR(1)

          the  next volume number and the second parameter is the
          next archive file name.

     -nodump
          If this option is set, star will not  dump  files  that
          have the nodump flag set. Note that this currently only
          works on BSD-4.4 derivates and  on  Linux.   On  Linux,
          using  this option will cause a performance degradation
          (the system time  increases  by  10%)  because  of  the
          unlucky  kernel interface that requires a separate open
          and ioctl.

     -no-dirslash
          Do not add a slash to the end  of  directory  names  if
          writing  to  an  archive.  Historic tar archive formats
          did only allow to specify plain files and  hard  links.
          Around 1980, BSD added a feature to specify a directory
          on tape by adding a slash  to  the  end  of  the  name.
          POSIX.1-1988  defined  the  first  official tar archive
          format that had a clean method to specify the type of a
          directory.  As old tar formats need the slash to recog-
          nize a directory,  -no-dirslash  may  not  be  used  if
          archives should be compatible with the old tar format.

     -no_fifo
          obsoleted by -no-fifo

     -no-fifo
          Don't use a fifo to optimize data flow from/to tarfile.
          Currently  the  -fifo  option is used as default. (This
          may be changed at compile time.)

     -no-fsync
          Do not call  fsync(2)  for  each  file  that  has  been
          extracted  from  the archive. Using -no-fsync may speed
          up extraction on operating systems with slow  file  I/O
          (such  as  Linux  with any filesystem or platforms with
          Copy on Write filesystems like ZFS), but  includes  the
          risk  that  star  may  not be able to detect extraction
          problems that occur after the call to close(2).  A typ-
          ical  cause for such problems is a NFS file system that
          fills up before the buffer cache is synced or  a  write
          error  that  occurs  while  the buffer cache is synced.
          There may be other reasons.  Use with extreme care.

          See also -do-fsync and STAR_FSYNC  in  ENVIRONMENT  and
          /etc/default/star  for  ways  to  configure the default
          behavior.

     -nochown, -o
          Do not restore owner and group of files.  This  may  be
          used  if  super user privileges are needed to overwrite

Joerg Schilling      Last change: 2020/09/04                   40


Schily's USER COMMANDS                                    STAR(1)

          existing files but the local ownership of the  existing
          files should not change.

     -no-p
          Do not restore files and directories to their  original
          permissions.   This  option  is  needed only if star is
          called by the super user and the permissions should not
          be  restored from the archive.  See also the -p option.
          The -p options has a higher precedence than  the  -no-p
          option.

     -no_statistics
          obsoleted by -no-statistics

     -no-statistics
          Do not print statistic messages at the end  of  a  star
          run.

     -no-secure-links
          Extract hard links or symbolic links even if the target
          of  the link starts with a slash (/) or if /../ is con-
          tained in the link target.  See the description of  the
          option  -secure-links  below  and  STAR_SECURE_LINKS in
          ENVIRONMENT and /etc/default/star for ways to configure
          the default behavior.

     -no-xheader
          Do not create or extract POSIX.1-2001 extended headers.
          This  option may be used if you like to read an archive
          with broken extended headers.

     -not, -V
          Invert the meaning of the pattern list. i.e. use  those
          files which do not match any of the pattern.  Note that
          this option only applies to  patterns  that  have  been
          specified   via   the  pattern=pattern  or  pat=pattern
          option. Patterns specified as file type arguments  will
          not be affected.

     -notarg, -pax-c
          Match all file or archive members except  those  speci-
          fied by the pattern or file operands.

     -nowarn
          Do not print warning messages.  This sometimes is  use-
          ful  to  make  the output more readable (e.g. when hun-
          dreds of files that are going to be extracted  are  not
          newer in the archive then on the filesystem).

     -numeric
          Use the numeric user/group fields in the listing rather
          than the default.  The default allows to list the ASCII

Joerg Schilling      Last change: 2020/09/04                   41


Schily's USER COMMANDS                                    STAR(1)

          version of user/group of the file and  to  extract  the
          owners of the files based on numeric values rather than
          the names.  In create mode, no  user/groups  names  are
          put  on  the archive.  The -numeric option also applies
          when ACLs are going to be archived or extracted.

     -O   Be compatible to old  versions  of  tar.   If  star  is
          invoked with this option, star generates archives which
          are fully compatible with old UNIX tar archives. If  in
          extract  mode,  star ignores any additional info in the
          headers.  This implies neither that archives  generated
          with  this  option  are binary equal with archives gen-
          erated by old tar versions nor that star is  trying  to
          comprehend all bugs that are found in old tar versions.
          The bug in old tar versions that cause a reversal of  a
          space  and  a  NULL  byte  in the checksum field is not
          repeated. If you want to have signed checksums you have
          to specify the -signed-checksum option too. If you want
          directories not to be archived in order to be  compati-
          ble  to  very  old  historic  tar archives, you need to
          specify the -d option too.

          This option is superseeded by the H=headertype option.

     -o, -nochown
          Do not restore owner and group of files.  This  may  be
          used  if  super user privileges are needed to overwrite
          existing files but the local ownership of the  existing
          files should not change.

     -one-file
          Exit star after one file has been extracted as a result
          from  a  match  with  a  pattern or with a command line
          argument.  This option is intended for users that  need
          to  restore  single files from larger tape archives and
          do not like to wait  until  the  end  of  the  tape  is
          reached.   To  let star exit after the first file, call
          -one-file together with pat=*.   This  is  e.g.  useful
          together with the option mtskip=#.

     -onull, -nullout
          Do not actually write to the archive  but  compute  and
          add  the  sizes.   This is useful when trying to figure
          out if a tape may hold the current backup.  Please only
          use the -onull option as it is a similar option as used
          by the sdd(1) command.

     -P   Allow star to  write  a  partial  record  as  the  last
          record. Normally, star writes each record with the same
          size.  This option is useful on  unblocked  tapes  i.e.
          cartridge tapes like QIC tapes as well as with archives
          that are located in files.  If you use this  option  on

Joerg Schilling      Last change: 2020/09/04                   42


Schily's USER COMMANDS                                    STAR(1)

          local  files,  the size of the archive will be smaller.
          If you use this option on  cartridge  tapes,  is  makes
          sure  that  later - in extract mode - star will read up
          to the end of file marker on the tape and the next call
          to  star  will  read  from the next archive on the same
          tape.

     -p   Restore files and directories to their original permis-
          sions.  Without this option, they are created using the
          permissions in the archive and  the  present  umask(2).
          If star is called by the super user, star behaves as if
          it has been called with the -p option. See  also  -no-p
          option.   If  the archive contains Access Control Lists
          (ACLs) in  POSIX.1-2001  extended  headers,  star  will
          restore  the  access control lists from the archive for
          files if the -acl option is specified.  If  the  option
          -acl  has  not been specified, ACLs are not restored at
          all.

     -partial
          Force an incremental restore even  if  the  incremental
          dump is only a partial dump. See -wtardumps, level= and
          sections INCREMENTAL BACKUPS and  INCREMENTAL  RESTORES
          for more information.

     pattern=pattern, pat=pattern
          Set matching pattern  to  pattern.  A  maximum  of  100
          pattern=pat  options  may be specified. As each pattern
          is unlimited in length, this is no real limitation.  If
          more  than  one pattern is specified, a file matches if
          any of the specified pattern matches.  Patterns may  be
          used in create mode to select or exclude files from the
          list of file type arguments or the files located  in  a
          sub  tree  of  a  file  type  argument  directory.   By
          default, star scans the whole directory tree underneath
          a  directory  that is in the argument list. This may be
          modified by using the -match-tree option.   In  extract
          or  list  mode, all file type arguments are interpreted
          to be select pattern and all option type  patterns  may
          be  either  select or exclude patterns depending on the
          presence or absence of the -not  option.   If  you  use
          file  type  select patterns, they work exactly like the
          method used by other (non pattern aware) tar(1)  imple-
          mentations.   File  type  select  patterns do not offer
          pattern matching but allow  to  restore  subtrees.   To
          extract a complete sub tree from the directory dir with
          star using the pattern= option, use pattern= dir/\*  if
          you  like  to  select  a  subtree by using the historic
          method, use dir as file type  argument.   If  you  only
          like  to extract the directory itself, use dir/ as file
          type argument.  See manual page for match(1)  for  more
          details  of  the  pattern  matcher.   All  patterns are

Joerg Schilling      Last change: 2020/09/04                   43


Schily's USER COMMANDS                                    STAR(1)

          selection patterns by default.  To  make  them  exclude
          patterns, use the -not or the -V option.

     pkglist=file
          This is (for now) an internal interface for the  Schily
          Source  Package  System (sps).  It only works in create
          mode and behaves similar to the list=  option,  but  it
          allows  to  overwrite  the permissions, the uid and gid
          values from the content of  the  pkglist=  file.   Each
          line  from  the pkglist= file contains a file name fol-
          lowed by the permission, a user name and a group  name.
          The  permission  is  an  octal  character string.  Each
          value that is not used to overwrite the original values
          may  be replaced by a '?'.  The fields are separated by
          spaces, so the pkglist= option  does  not  allow  files
          that contain newline or space characters.

          If used together with -find, the uid, gid  and  permis-
          sion  values from the pkglist=file have precedence over
          changes on this meta data introduced by libfind.

          See list= option for further information.

     -pax-c, -notarg
          Match all file or archive members except  those  speci-
          fied by the pattern or file operands.

     -pax-H
          Follow symbolic links that have been encountered on the
          command  line.   If the referenced file does not exist,
          the file information and type  will  be  for  the  link
          itself.   If  the  link is referencing a file type that
          cannot be archived with the current archive format, the
          file information and type will be for the link itself.

     -pax-i
          Do interactive renaming in a way that has been  defined
          for  POSIX  pax.  Star will print the original filename
          and prompt for a reply.  If you type just RETURN,  than
          the  file is skipped.  If you type '.', then the origi-
          nal file name is retained.  If you type anything  else,
          then this is taken as the new file name.

          Note that -pax-i is an interactive option that prevents
          star from being used in non-interactive environments.

     -pax-L
          Follow symbolic links.  If the referenced file does not
          exist,  the  file  information and type will be for the
          link itself.  If the link is referencing  a  file  type
          that  cannot  be archived with the current archive for-
          mat, the file information and type will be for the link

Joerg Schilling      Last change: 2020/09/04                   44


Schily's USER COMMANDS                                    STAR(1)

          itself.

     -pax-ls
          Switch listing format to the format defined  for  POSIX
          pax and ls.

     -pax-match
          Allow file type arguments to be recognised  as  regular
          expressions  in  a  way that has been defined for POSIX
          pax.

     -pax-n
          Allow each pattern to match only once.   If  a  pattern
          matches  a  directory,  then the whole sub tree matches
          the pattern.

     -pax-o string
          Set a pax like option control pattern.

          The only argument that is currently supported is binary
          to create a hdrcharset=BINARY header.

     -pax-p string
          PAX style privileges string.  Several characters  (each
          has  its  own  meaning).  The  following characters are
          defined:

          a    Do not preserve file access times.  This option is
               currently ignored.

          e    Preserve the user ID, group ID,  file  mode  bits.
               This   is  equivalent  to  calling  star  -p  -acl
               -xfflags.

          m    Do not preserve file modification times.  This  is
               currently equivalent to calling star -m.

          o    Preserve the user ID and group ID.   This  is  the
               default for star if called as root.

          p    Preserve the file mode bits.  This  is  equivalent
               to calling star -p.

     -pax-s replstr
          Modify file or archive member names named by a  pattern
          according  to the substitution expression replstr.  The
          format of replstr is:

               -pax-s /old/new/[gp]

          The old pattern may use regular expressions and the new

Joerg Schilling      Last change: 2020/09/04                   45


Schily's USER COMMANDS                                    STAR(1)

          string may contain the special character '&'. The char-
          acter '&' is substituted by the string that matches the
          old  pattern.  The new string may also contain the spe-
          cial strings '\1' .. '\9' that refer to  parts  of  the
          old  string selected by '\(...\)' groups.  The optional
          trailing 'g' means global substitution. If 'g'  is  not
          used,  a  substitution  pattern  is only used once on a
          name.  If the optional trailing 'p' is used,  the  sub-
          stitution is printed to standard error.

          Up to 100 substitute options may be used. If more  than
          one  substitute  option  has  been specified, star will
          loop over all substitute patterns  until  one  matches.
          The up to 100 substitute options are processed together
          with the -s replstr options in the order they appear on
          the command line.

          If the name substitutes to the empty string,  the  file
          is skipped.

          If the target platform for star does not support  regex
          functions, there is a silent fallback to the -s replstr
          option and the '\1' .. '\9' substitutions are not  pos-
          sible.

     -prinodes
          Print inode numbers in verbose list mode if the archive
          contains inode numbers.

     -print-artype
          Check the type of the archive, print  the  archive  and
          compression type on a single line and exit.

     -qic24
          Set tape volume size  to  61440  kBytes.   See  tsize=#
          option for more information.

     -qic120
          Set tape volume size to  128000  kBytes.   See  tsize=#
          option for more information.

     -qic150
          Set tape volume size to  153600  kBytes.   See  tsize=#
          option for more information.

     -qic250
          Set tape volume size to  256000  kBytes.   See  tsize=#
          option for more information.

     -qic525
          Set tape volume size to  512500  kBytes.   See  tsize=#
          option for more information.

Joerg Schilling      Last change: 2020/09/04                   46


Schily's USER COMMANDS                                    STAR(1)

     -read0
          Read null terminated file names from the file specified
          with the list= option.

     -refresh_old_files
          obsoleted by -refresh-old-files

     -refresh-old-files

     -refresh
          Do not create new files. Only  already  existing  files
          may  be  overwritten  from tarfile if either newer ver-
          sions are present in the archive or if the -U  flag  is
          used.  This  allows  to  overwrite files by more recent
          files from an archive that contains more files than the
          target    directory   should   contain.    The   option
          -refresh-old-files is the same as the -refresh option.

     -remove_first
          obsoleted by -remove-first

     -remove-first
          Remove files before extraction.  If this option  is  in
          effect, star will remove files before extracting a file
          from the archive.  This is needed if you want to change
          the  file type or if you need to break a hard link.  If
          you do not  use  either  -ask-remove  or  -force-remove
          together with -remove-first, this option is useless and
          no files will be removed.

     -remove_recursive
          obsoleted by -remove-recursive

     -remove-recursive
          Remove files recursive.  If removing of a file is  per-
          mitted, star will only remove files, specials and empty
          directories.  If this option is in effect, star will be
          allowed  to  recursively  removes non empty directories
          too.

     -restore
          switches star into true incremental  restore  mode.   A
          file  named  star-symtable  and a directory named star-
          tmpdir is created in the root  directory  of  the  file
          system  where  the extraction takes place.  If -restore
          has been specified, star behaves as if -xdot  has  been
          specified  too.   See  also  level=  option and section
          INCREMENTAL BACKUPS for more information.

          Note: Do not use the -restore option if you  only  like
          to restore a single file or a list of selected files.

Joerg Schilling      Last change: 2020/09/04                   47


Schily's USER COMMANDS                                    STAR(1)

     rmt=path
          Specify the path to the  program  at  the  remote  tape
          server for the RMT protocol.

          star by default calls the UNIX default path /etc/rmt.

          Since most rmt implementations cause problems  in  case
          that  server  and  client  are on a different OS, it is
          recommended to tell star to call the rmt  program  that
          comes with star (/opt/schily/sbin/rmt).

     rsh=path
          Specify the program to log into the remote tape  server
          for  the  RMT  protocol.   If the argument is the empty
          string, connections are made via rcmd(3).  The  default
          method to log into the remote server is configurable at
          compile time. The current default is set up to use ssh.

     -S   Do not store/create special files.  A special files  is
          any  file except plain files, symbolic links and direc-
          tories.  You need to be super user to  extract  special
          files.

     -s replstr
          Modify file or archive member names named by a  pattern
          according  to the substitution expression replstr.  The
          format of replstr is:

               -s /old/new/[gp]

          The old pattern may use regular expressions and the new
          string may contain the special character '&'. The char-
          acter '&' is substituted by the string that matches the
          old  pattern.   The  optional trailing 'g' means global
          substitution. If 'g' is not used, a  substitution  pat-
          tern  is  only  used  once  on a name.  If the optional
          trailing 'p' is used, the substitution  is  printed  to
          standard error.

          Up to 100 substitute options may be used. If more  than
          one  substitute  option  has  been specified, star will
          loop over all substitute patterns  until  one  matches.
          The up to 100 substitute options are processed together
          with the -pax-s  replstr  options  in  the  order  they
          appear on the command line.

          If the name substitutes to the empty string,  the  file
          is skipped.

     -secure-links
          Do not extract hard links or symbolic links if the tar-
          get  of  the link starts with a slash (/) or if /../ is

Joerg Schilling      Last change: 2020/09/04                   48


Schily's USER COMMANDS                                    STAR(1)

          contained in the link target.  Tar archives  containing
          such  links  could be used to compromise the system. If
          they are unpacked together with a lot of  other  files,
          this may not even be noticed.

          Links that do not point outside the  tree  that  starts
          with  the  current  working directory are not seen as a
          security risk. This makes star  easy  to  use.   It  is
          always  safe  to  unpack an unknown archive in an empty
          directory.

          Many system installations contain  plenty  of  symbolic
          links with absolute path name or with /../ inside.  The
          usability of a tar archiver for system backups  and  in
          copy  mode  would  be limited if -secure-links checking
          would be done by default for backups or  when  in  copy
          mode,  star  thus  makes link checking optional when in
          -restore or in -copy mode.  When neither  -restore  nor
          -copy   have  been  specified,  link  checking  is  the
          default, since this is the usual way when archives from
          unknown sources are going to be unpacked.

          To turn off this default for the usual case, the option
          -no-secure-links  may  be used and in -restore or -copy
          mode, -secure-links may be specified to turn it on.

          If you unpacked a tar archive  while  -secure-links  is
          effective and did not get a security warning at the end
          of  the  star  run,  all  files  and  links  have  been
          extracted.  If you get a warning, you should unpack the
          archive a second time and specify the  options  -k,  -w
          and  -nowarn  in  addition  to the options used for the
          first run.  To speed this up, it helps to use:

              star -xvpw -find -type l

          See section SECURITY NOTES  for  more  information  and
          STAR_SECURE_LINKS  in ENVIRONMENT and /etc/default/star
          for ways to configure the default behavior.

     -shm Use System V shared memory for fifo. Normally  star  is
          compiled to use mapped /dev/zero pages for the fifo, if
          the operating system supports this.  If  star  is  com-
          piled to have both code for mapped pages and for System
          V shared memory, star will use shared memory instead of
          the  default.   If the -help menu doesn't show the -shm
          flag you have no choice.  When using  System  V  shared
          memory,  you  may  have  to raise the system's internal
          limit for shared memory resources to get enough  shared
          memory for star.

     -signed_checksum

Joerg Schilling      Last change: 2020/09/04                   49


Schily's USER COMMANDS                                    STAR(1)

          obsoleted by -signed-checksum

     -signed-checksum
          Use signed chars to calculate checksums. This  violates
          the  tar specs but old versions of tar derived from the
          seventh edition of UNIX are implemented  in  this  way.
          Note:  Only  filenames  and  linknames containing chars
          with the most significant  bit  set  may  trigger  this
          problem  because  all  other  fields only contain 7 bit
          ASCII characters, octal digits or binary zeroes.

     -silent
          Suppress informational messages like foobar is sparse.

     -sparse
          Handle files with holes  effectively  on  store/create.
          Note  that sparse files may not be archived this way if
          the archive format is tar, ustar, suntar, pax,  or  any
          cpio  variant.   On Solaris-2.3 ... Solaris-2.5.1 there
          is a special ioctl() called _FIOAI that allows root  to
          get  the  allocation info more efficiently.  On Solaris
          11 there is an enhanced lseek(2) call  with  additional
          whence  values  SEEK_HOLE  and  SEEK_DATA that allow to
          find holes in an efficient way.  Other  operating  sys-
          tems  lack  support to get the real allocation list and
          force star to scan the files to look  for  blocks  that
          only  contain  null characters.  This may star cause to
          assume more holes to be present than  the  number  that
          the file really contains.

     -symlinks
          This option tells star in extract mode to try to create
          a  symlink  whenever  a  hardlink is encountered in the
          archive.

     -T   If the option file= or f= is omitted and the -T  option
          is  present,  star will use the device indicated by the
          TAPE environment variable, if set.

     tardumps=name
          Set the file name for tar dump dates database to  name.
          The  default name is /etc/tardumps.  Use in combination
          with the  level=  option  to  create  true  incremental
          dumps.   See  also -wtardumps option and section INCRE-
          MENTAL BACKUPS for more information.

     -time
          Print timing info.  See DIAGNOSTICS for  more  informa-
          tion.

     -to_stdout
          obsoleted by -to-stdout

Joerg Schilling      Last change: 2020/09/04                   50


Schily's USER COMMANDS                                    STAR(1)

     -to-stdout
          Extract files to stdout. This option  may  be  used  to
          extract  tarfiles  containing  tarfiles  (see  examples
          below).

     -tpath
          Use this option together with the -t option or with -cv
          (verbose create) to get only a list of the pathnames of
          the files in the archive.  This may be  used  in  shell
          scripts to generate a name list.  If used together with
          the -diff option, star will only print the names of the
          files  that  differ.   A second run of star may then be
          used to restore all files that had differences  to  the
          archive.   Use the list= option to specify the namelist
          in this case.

     tsize=#
          Set tape volume size to # to enable multi  volume  tape
          support.   The value refers to the archive size without
          compression.  See bs=  for  the  possible  syntax.   By
          default,  the number is multiplied by 512, so the value
          counts in units  of  512  byte  blocks.   If  the  size
          specifier  ends  with  a valid multiplication character
          (e.g '.' for bytes or 'M' for MB) the specified size is
          used as specified and not multiplied by 512.  With this
          option in effect, star is able to  archive  filesystems
          that  are  bigger  then  the  tape size.  If the option
          tsize=# without -multivol then no file  will  be  split
          across  volumes  and  each volume may in theory be read
          back separately.  Files that do not  fit  on  a  single
          tape  may not be stored in this mode.  If -multivol has
          been specified in addition, star will split files  when
          the maximum allowed tape size has been reached.  If the
          tape volume size is not a multiple of  the  tape  block
          size,  the tape volume size is silently rounded down to
          a value that is a multiple of the tape block size.

          See -multivol option for more information.

     -U   Restore files unconditionally.  By  default,  an  older
          file  from the archive will not replace a corresponding
          newer file on disk.

     umask=mask
          Set star's umask to mask.  This allows to  control  the
          permissions   for  intermediate  directories  that  are
          created by star in extract mode.  See also -p option.

     -uncond-rename
          When in interactive restore mode or when the -s  option
          was  specified,  unconditionally  ask for a new name or
          apply a  substitution.   This  happens  even  when  the

Joerg Schilling      Last change: 2020/09/04                   51


Schily's USER COMMANDS                                    STAR(1)

          current  path  name  would be skipped otherwise because
          the file in the archive is not newer than the file with
          the original name on disk.

     -v   Increment verbose level by one.  This normally  results
          in  more  output  during  operation.   See  also in the
          description for the -t flag.  Normally, star  does  its
          work  silently.   If the verbose level is 2 or more and
          star is in create or update mode, star will  produce  a
          listing to the format of the ls -l output.

     -V, -not
          Invert the meaning of the pattern list. i.e. use  those
          files which do not match any of the pattern.  Note that
          this option only applies to  patterns  that  have  been
          specified   via   the  pattern=pattern  or  pat=pattern
          option. Patterns specified as file type arguments  will
          not be affected.

     -version
          Print version information and exit.

     VOLHDR=name
          Use name to generate a volume header.

     -w   Do interactive creation, extraction  or  renaming.  For
          every  file  that matches the list of patterns and that
          has a more recent modification time in the tar  archive
          (if in extract mode and the -U option is not specified)
          star prints its name and asks:

               get/put ? Y(es)/N(o)/C(hange name) :

          You may answer either `N' for No or  <Return>  to  skip
          this  file.  If you answer `Y' the file is extracted or
          archived on tape with its original name.  If you answer
          `C', you are prompted for a new name. This name is used
          for the filename on disk if star is in extract mode  or
          for the archive name if star is in create mode.

          See SECURITY NOTES for more information.

          Note that -w is an  interactive  option  that  prevents
          star from being used in non-interactive environments.

     -wready
          This option tells Star to wait up to  two  minutes  for
          the drive to become ready.  It has been added as a hack
          for a bug in the SunOS/Solaris st device  driver.  This
          driver has problems to sense the loading time with Exa-
          byte drives with factory settings.  It also makes sense
          to  use -wready if multiple remote backups are made. In

Joerg Schilling      Last change: 2020/09/04                   52


Schily's USER COMMANDS                                    STAR(1)

          this case, the remote connection is  closed  while  the
          remote  tape  server  is still writing a file mark.  If
          another remote  backup  is  initiated  before  the  old
          remote  server  did  finish  to write the file mark, it
          would be impossible to  open  the  tape  driver  unless
          -wready is specified to tell star to wait for the drive
          to become ready again.

     -wtardumps
          Tell star to update the file that contains the tar dump
          dates  data base if in dump mode.  If the dump is not a
          full dump, the tar dump dates data  base  file  is  not
          written.   See  also  tardumps=name  and  -C  option or
          INCREMENTAL BACKUPS section for more information.

     -X filename
          Use the file filename as a file containing  a  list  of
          path     names     to     be    excluded    from    the
          store/create/list/diff operation.   The  file  filename
          must  contain  a list of path names, each on a separate
          line.  Be careful with white space and note  that  path
          names  in the list may not contain new lines.  Multiple
          -X options may be used. Each argument must refer  to  a
          file  containing  path  names.   The -X option has pre-
          cedence before other options that select  files  to  be
          included in the operation.  See also list= option.

     -xattr
          Reserved for NFSv4 extended attributes.

     -xattr-linux
          Store and extract extended file attributes as found  on
          Linux  systems.   This  option  only  makes  sense when
          creating or extracting exustar archives as it is  based
          on POSIX.1-2001 extended tar headers.

          The method used in the current implementation could  be
          used to store and extract extended file attributes from
          BSD too.  Note that the current implementation  is  not
          generic  enough  to  cover  more  general extended file
          attribute implementations as found on Solaris.  If star
          starts  to implement a method that covers extended file
          attributes on Solaris, the new method will be used then
          -xattr  has  been specified and -xattr-linux will refer
          to the old method.  The method used  with  -xattr-linux
          may go away in the future.

     -xcopy
          An alias for -copy -sparse -acl

     xdebug=#, xd=#
          Set extended debug level to #.

Joerg Schilling      Last change: 2020/09/04                   53


Schily's USER COMMANDS                                    STAR(1)

     -xdev, -M
          Do not descend mount points.  This is useful when doing
          backups  of  complete file systems.  See NOTES for more
          information.

          When using -find, this may not always work as expected,
          e.g. when the /proc filesyestem is involved.  Use -xdev
          past -find for this reason.

     -xdir
          Extract directories even if  the  corresponding  direc-
          tories  on  the  archive are not newer.  This is useful
          when for some  reason,  the  directories  are  recorded
          after  their content (see -dirmode option), or when the
          permissions of some directories  must  be  set  in  any
          case.   As  the  classical  UNIX  cpio program does not
          implement delayed directory permission and  time  stamp
          setting,  cpio  users  often create archives in reverse
          order (directories past their content). For  this  rea-
          son,  it makes sense to use -xdir while extracting cpio
          archives.

     -xdot
          Unconditionally extract  the  first  directory  in  the
          archive  if the name of this directory is either '.' or
          './'.  This helps to extract archives  in  an  expected
          way  if  the  target directory is a newly created empty
          directory. As this directory  is  newer  than  the  top
          level directory in the archive, star would usually skip
          this directory during extraction.  The effect  of  this
          directory  is  as  if  -xdir  has been specified but is
          switched off after the first directory has been found.

     -xfflags
          Store and extract extended file flags as found  on  BSD
          and  Linux  systems.  This option only makes sense when
          creating or extracting exustar archives as it is  based
          on  POSIX.1-2001  extended tar headers.  See NOTES sec-
          tion for problems with -xfflags on Linux systems.

     -xmeta
          Extract meta files as if they were files.   Meta  files
          in  archives  are  plain  files that do not contain any
          content data in the archive.  They may  be  created  by
          using the -meta option in star's create mode.  Existing
          files are not overwritten. If a file is missing, a zero
          sized  file  is  created.   If the option -meta is used
          together with the  option  -force-hole,  missing  plain
          files are created as sparse empty files of the original
          size.

     -xz  run the input or output through a xz pipe - see  option

Joerg Schilling      Last change: 2020/09/04                   54


Schily's USER COMMANDS                                    STAR(1)

          -z below.

     -Z   run the input or output through a compress pipe  -  see
          option -z below.

     -z   run the input or output through a gzip pipe.   This  is
          currently  a  quick  and  dirty  hack, that mainly will
          cover the most common usage to compress the tar  output
          if  it  is a file.  No reblocking will be done, so this
          option will currently only make sense on  plain  files.
          As  the  -bz  the  -j  the -Z and the -z option are non
          standard, it makes sense to omit the -bz the -j the  -Z
          and  the  -z  options  inside  shell scripts if you are
          going to extract a compressed archive that  is  located
          inside  a  plain file as star will auto detect compres-
          sion and  choose  the  right  decompression  option  to
          extract.   The  environment variable STAR_COMPRESS_FLAG
          may be used to specify one option  for  gzip.   If  you
          want  to  write  write compressed archives to tape, you
          should use
          star  -c  .  |  gzip  |  sdd   ibs=4k   obs=32k   -fill
          of=/dev/rmt/1bn
          or
          star -c . | gzip | sdd ibs=4k obs=32k -fill  ovsize=60m
          of=/dev/rmt/1bn
          if the tape can hold 60 MB.

     -zstd
          run the input or output  through  a  zstd  pipe  -  see
          option -z above.


INCREMENTAL BACKUPS

     Star is able to back up file system in full and  incremental
     mode.   To  allow  incremental backups, the file system must
     implement POSIX semantics.

     To be more verbose:

     +    The filesystem needs to uniquely identify files by  the
          two  numbers  st_dev (The filesystem ID or device ID of
          the device containing the file) and  st_ino  (The  file
          serial  number).   If  a file is renamed, these numbers
          need to be retained.  Both numbers need to be a  cardi-
          nal scalar that is expressible in a decimal number.

     +    The filesystem needs to implement  at  least  two  time
          stamps,  st_mtime the file's last modification time and
          st_ctime the file's last status change time.  Both time
          stamps need to be dealt with as documented by the POSIX
          standard.  Both numbers need to be  a  cardinal  scalar
          that is expressible in a decimal number or as a decimal
          number that counts in seconds plus another number  that

Joerg Schilling      Last change: 2020/09/04                   55


Schily's USER COMMANDS                                    STAR(1)

          counts in fractions of a second.

     +    The filesystem needs  to  allow  to  rename  files  and
          directories by either calling rename(2), or link(2) and
          unlink(2).

     +    The filesystem needs to honor and preserve the case  of
          file names.

     The incremental backup method used by star depends  on  com-
     paring  the time stamps of all files against the time of the
     last backup. Note that this method only works  correctly  if
     the level 0 backup and all higher level incrementals include
     the whole file system.  As  star  archives  all  inode  meta
     data,  star is able to detect renamed files by comparing the
     inode numbers of all  files  while  in  incremental  restore
     mode.

     Detecting renamed files only works if star, while in  backup
     mode,  scans  the  whole  file system tree for each full and
     incremental backup.  This will work in  case  no  files  are
     excluded and the dump starts at the root directory of a file
     system.  In case that no files  are  renamed  from  excluded
     parts  to included parts, partial backups may be taken also.
     Partial backups only make sense if a complete directory  sub
     tree  is  excluded  (e.g.  by using the pat= option) or if a
     partial backup starts at a sub directory  that  is  not  the
     root directory of the file system.

     In case of a partial backup, it is important that no file or
     directory  will  ever  be  moved outside the scope and later
     move into the scope again. Moving files or directories  out-
     side  the  scope of a partial backup is detected as deletion
     and moving the files back into the scope does not make  them
     appear  in  an  incremental  backup since the time stamps of
     files from inside renamed directories did not change.

     Note that a backup must not include files that  are  mounted
     from  another  filesystem  and a restore cannot be done with
     more than one filesystem as target.

     Files in the backup tree that are hidden under a mount point
     cannot  be  part  of the backup as long as the backup is not
     done from a snapshot.

     To create a level 0 dump call:

     star -c -xdev -sparse -acl -link-dirs level=0 -wtardumps \
         f=archive-name -C /filestem-mount-point .

     To create a level 1 dump call:

Joerg Schilling      Last change: 2020/09/04                   56


Schily's USER COMMANDS                                    STAR(1)

     star -c -xdev -sparse -acl -link-dirs level=1 -wtardumps \
         f=archive-name -C /filestem-mount-point .

     Do not forget the dot at the end of the  command  line  that
     specifies the directory to start the operation.

     Backups from live filesystems should be avoided.  On operat-
     ing  systems  that  support  file  system snapshots, backups
     should be made from a read-only  mount  of  a  snapshot.  Be
     careful  that  all files that have been created between set-
     ting up a snapshot and starting an incremental backup may be
     missing  from all backups unless the dumpdate=name option is
     used.

     If the system that is going to be backed up is not acting as
     a file server, it makes sense to shut down all services that
     may result in inconsistent file states before setting up the
     filesystem  snapshot. After the filesystem snapshot has been
     set up, the services may be restarted.

     If the the system that is going to be backed up is acting as
     a  file  server,  it  may be that services on remote clients
     cause inconsistent file states unless all such services that
     remotely  access  files are shut down before the snapshot is
     set up.

     Star includes options that help to  deal  with  file  system
     snapshots.   The following example backs up a file system on
     Solaris using a file system snapshot from UFS:

     echo > /tmp/snapstamp

     mount -r `fssnap -F ufs -o \
         backing-store=/var/tmp/EXPORT-NFS.snap /export/nfs` /mnt

     star -c -xdev -sparse -acl -link-dirs level=0 -wtardumps \
         f=archive-name dumpdate=/tmp/snapstamp \
         fs-name=/export/nfs -C /mnt .

     First a file with a current time stamp is  created,  then  a
     snapshot  for  /export/nfs  is  created and mounted on /mnt.
     The following star command then creates  a  level  0  backup
     from the file system using the time the snapshot was created
     and  the  original  mount  point  of  the  file  system  for
     /etc/tardumps and the archive header.

     Note that if the backup is done on a live  file  system,  it
     may be unreliable. A typical problem problem in this context
     is caused by growing log files.  As growing files are not  a
     real  problem  with  backups,  the  best way of dealing with
     growing files is to set up a star error  control  file  (see
     errctl= option) and to tell star to ignore growing files.

Joerg Schilling      Last change: 2020/09/04                   57


Schily's USER COMMANDS                                    STAR(1)


BACKUP SCHEDULES

     Full (level 0) dumps should be made on a regular base  (e.g.
     once  a  month).   As  a  full dump may take a long time and
     takes a lot of tape, it is wise to make higher level  incre-
     mental dumps with shorter intervals.  The next table shows a
     dump level list that may be used if monthly full dumps  take
     place:

                      Sun   Mon   Tue   Wed   Thu   Fri
          Week 1:     0     10    10    10    10    5
          Week 2:     10    10    10    10    10    5
          Week 3:     10    10    10    10    10    5
          Week 4:     10    10    10    10    10    5

     The level 10 dumps made between Monday and Friday accumulate
     all  changes  made  within  the  week,  but you only need to
     restore the latest level 10 dump in order to get all changes
     back.   If  you  don't  like  the  size  of  the accumulated
     changes, use the following backup schedule:

                      Sun   Mon   Tue   Wed   Thu   Fri
          Week 1:     0     20    30    40    50    5
          Week 2:     10    20    30    40    50    5
          Week 3:     10    20    30    40    50    5
          Week 4:     10    20    30    40    50    5

     Note that in this case, 7 dumps need to be restored if the a
     crash happens at the worst case date (just before the Friday
     dump in week 2 or later).


INCREMENTAL RESTORES

     Incremental restores should be made to an empty file  system
     (except  for  the  lost+found directory).  Star is currently
     unable to perform incremental restores to a file system that
     contains active mount points.

     Incremental restores should be run as root user.  Star  sup-
     ports  private  incremental  dumps  and  restores  run as an
     unprivileged user, but this mode has been tested  less  fre-
     quently.

     The incremental restore procedure starts with restoring  the
     last  full  (level 0) dump. Then the latest incremental dump
     of each dump level (with ascending  order  of  dump  levels)
     need to be restored.

     Let us assume the first  example  from  the  section  BACKUP
     SCHEDULES  for  the backup schedule. If a disk crash happens
     before the Thursday dump  of  week  3  has  been  made,  the

Joerg Schilling      Last change: 2020/09/04                   58


Schily's USER COMMANDS                                    STAR(1)

     following restore procedure needs to be applied:

     level 0
          starting with an empty disk, the full  (level  0)  dump
          from week 1 is restored.

     level 5
          after the level 0 restore has been finished, the  level
          5 dump from Friday in week 2 is restored.

     level 10
          after the level 5 restore has been finished, the  level
          10 dump from Wednesday in week 3 is restored.

     The disk now contains the same files  as  it  did  when  the
     level 10 dump has been made on Wednesday of week 3.

     To extract a level 0 dump call:

     cd /extract-filestem-mount-point
     star -xpU -restore f=archive-name

     This creates the  directory  star-tmpdir  and  the  database
     star-symtable  in the root directory of the new file system.
     Subsequent restores with  higher  level  backups  depend  on
     these files.

     To extract a level 1 (or higher) dump call:

     cd /extract-filestem-mount-point
     star -xpU -restore f=archive-name

     In order to restore a  partial  dump,  the  -partial  option
     needs  to  be  specified. This is to make sure that the user
     understands that renames to a path outside the scope of  the
     partial dump may result in inconsistencies during a restore.

     In case there is a dump level mismatch or a  reference  date
     mismatch,  it  is  possible  to  give  a restore a chance by
     specifying the -force-restore option.

     Note that the environment variable STAR_DEBUG  exists,  star
     does  not  remove  files  with  link  count 1 that have been
     removed between incremental dumps. These files are moved  to
     the  directory star-tmpdir.  Before you start to extract the
     next incremental, you need to  remove  all  files  in  star-
     tmpdir.


SYNCHRONIZING FILESYSTEMS

     Star may be used to synchronize filesystem content.   To  do
     this,  an  initial copy of the current content of the source

Joerg Schilling      Last change: 2020/09/04                   59


Schily's USER COMMANDS                                    STAR(1)

     filesystem needs to be performed first.

     To create an initial copy of a filesystem call:

     star -c -xdev -sparse -acl -link-dirs level=0 -wtardumps \
         -C /filestem-mount-point . | \
         star -xpU -restore -C /extract-target-dir

     In order to perform subsequent synchronization of the target
     filesystem  with  the  content  of  the source filesystem, a
     modified incremental dump/restore procedure may be used.

     To copy incremental content of a filesystem call:

     star -c -xdev -sparse -acl -link-dirs level=1 -wtardumps \
         -cumulative -C /filestem-mount-point . | \
         star -xpU -restore -C /extract-target-dir

     Note that like with backups in general, copies from  a  live
     filesystem  should  be  avoided.   On operating systems that
     support file system snapshots, copies should be made from  a
     read-only  mount  of  a  snapshot. Be careful that all files
     that have been created between setting  up  a  snapshot  and
     starting  an incremental copy may be missing from all copies
     unless the dumpdate=name option is used.

     See section INCREMENTAL BACKUPS to learn how to  modify  the
     command line in case file system snapshots are used.


SIGNALS

     If star handles a signal, it first  prints  the  statistics.
     Star handles the following signals:

     SIGINT    usually generated by ^C from the controlling  tty.
               Upon  receipt  of a SIGINT, star prints statistics
               and exits. If in create mode i.e. storing files to
               archive,  star  finishes  with the current file to
               ensure that no partial  file  is  written  to  the
               archive, write an eof record and then exits.

     SIGHUP    not to be generated from a tty.  The  actions  are
               the same as upon receipt of a SIGINT.
     SIGQUIT
     SIGINFO   usually generated by ^\ from the controlling  tty.
               Upon  receipt of a SIGQUIT, star prints statistics
               and continues with the current operation. This  is
               useful to watch the progress of the current opera-
               tion.


EXIT STATUS

     The following exit values are returned. Note that the  nega-
     tive values are only available to modern shells and programs

Joerg Schilling      Last change: 2020/09/04                   60


Schily's USER COMMANDS                                    STAR(1)

     that use waitid(2) on a POSIX OS and thus can  retrieve  the
     full  32  bits  of  the  star exit code. The positive number
     variants are what you get when only the low 8 bits from  the
     exit code are available.

     0    All files were processed successfully.

     -64 / 192
          An exit code has been used that does not  fit  into  an
          8-bit unsigned number and the environment COMERR_EXCODE
          has not been set.  The value -64 /  192  in  this  case
          marks a clash.

     -4 / 252
          Star has been interrupted in create mode and the end of
          star  has  been delayed until the current file has been
          archived completely. This error is only  used  in  case
          that  no  other  error occured and the tar archive only
          has become shorter than expected.

     -3 / 253
          Star has been called with the option -e, or the errctl=
          option has been used to mark the current error fatal.

     -2 / 254
          One or more files could not be processed successfully.

     -1 / 255
          Command line parsing error.

     >0   Other positive exit codes: The errno of the  call  that
          caused the fatal error.


EXAMPLES

     To get a listing in a way similar to ls -l one might use:

          example% star -tv f=/dev/rmt/1bn

     The same command as listed above in a POSIX tar command line
     syntax compliant way is:

          example% star tvf /dev/rmt/1mbn

     To copy the directory tree in /home/someuser to  the  direc-
     tory /home/fs use:

          example% (cd /home/someuser; star -c .) | (cd /home/fs ; star -xp)

     or by using the change directory option of star:

Joerg Schilling      Last change: 2020/09/04                   61


Schily's USER COMMANDS                                    STAR(1)

          example% star -c -C /home/someuser . | star -xp -C /home/fs

     Note that both examples above are not  the  optimum  way  to
     copy a directory tree. A more efficient way to copy a direc-
     tory tree is to use the -copy option.

          example% star -copy -p -xdot -C /home/someuser . /home/fs

     To copy a  file  tree  including  the  Access  Control  List
     entries  for  all files and to correctly copy sparse (holey)
     files use:

          example% star -copy -p -xdot -acl -sparse -C /home/someuser . /home/fs

     To compare the content of a tape to the filesystem one might
     use:

          example% star -diff -v f=/dev/rmt/1bn

     To compare two directory trees one might use:

          example% star -c . | star -C todir -diff -v diffopts=!times

     or better by using a method  similar  to  the  -copy  method
     above:

          example% star -c -diff -v diffopts=!times -C fromdir . todir

     To compare all properties of two file trees, use:

          example% star -c -diff -vv -dump -acl -sparse -C fromdir . todir

     To extract a backup of  the  /usr  tree  without  all  files
     residing below /usr/openwin one might use:

          example% star -xp -V pat=openwin/\* f=/dev/rmt/1bn

     To extract all .c files to src, all .o files to obj and  all
     other files to /tmp one might use:

          example% star -xp -C src '*.c' -C obj '*.o' -C /tmp '*' f=/dev/rmt/1bn

     To extract files from a zipped tar archive that  is  located
     on a read only filesystem e.g. a CD while having the shell's
     working directory on the CD one might use:

Joerg Schilling      Last change: 2020/09/04                   62


Schily's USER COMMANDS                                    STAR(1)

          example% star -zxp -C /tmp f=star-1.1.tar.gz

     to extract the files from the tar archive to the /tmp direc-
     tory.

     To backup a list of files generated by the find(1) command:

          example% find . find_options -print | star -c list=- f=/dev/rmt/1bn

     Note that this does not work if the file names  from  output
     of the find command include new line characters.

     To extract a tarfile that contains a tarfile one might use:

          example% star -x -to-stdout f=/dev/rmt/1bn pat=pat | star -xp

     Pat, in this case should match the tarfile in the tarfile on
     tape that should be extracted.

     To make a backup of the root filesystem to a tape drive con-
     nected to a remote machine, one might use:

          example# cd /
          example# star -cM fs=128m bs=63k f=tape@remotehost:/dev/rmt/1bn .

     You need a line in /etc/passwd like the following to  enable
     this:

          tape:NP:60001:60001:Tape:/etc/tapehome:/opt/schily/sbin/rmt

     And  a .rhosts file in /etc/tapehome to allow remote connec-
     tions from the appropriate hosts.  Make sure that  the  file
     /etc/default/rmt  exists  and  allows  remote  access to the
     requested tape drive.

     To use a faster rcmd(3) connection for a backup to a  remote
     tape server, one might use:

          example#   env   RSH=''   star   -cM   fs=128m   bs=63k
          f=tape@remotehost:/dev/rmt/1bn .

     Note that this requires root privileges.

     To repair a corrupted filesystem for which no recent  backup
     exists, do the following:

          example# fsck -y /filesys
          example# mount /filesys
          example# cd /filesys

Joerg Schilling      Last change: 2020/09/04                   63


Schily's USER COMMANDS                                    STAR(1)

          example# star -xpk f=/dev/rmt/1bn
          example# mt -f /dev/rmt/1bn rewind
          example# star -diff -v diffopts=!times f=/dev/rmt/1bn

     Now check the differences  and  decide  whether  to  restore
     additional files. This may be done by generating a list con-
     taining the needed filenames and using the list=  option  or
     by using the interactive mode (see -w option).

     If you want a list that only  contains  all  filenames  from
     files with differences you may use:

          example#    star    -diff    -tpath     diffopts=!times
          f=/dev/rmt/1bn

     If you are looking for files that changed the  type  or  the
     access  permission  because  this  is a common case on still
     corrupted files, use:

          example#   star   -diff    -tpath    diffopts=type,perm
          f=/dev/rmt/1bn

     If you like to archive all directories only that are part of
     the directory tree under ".", use:

          example# star -c f=archive-name -find . -type d

     If you like to archive all files as  owner  root  and  group
     root and make all files world readable in the archive, use:

          example# star -c f=archive-name  -find  .  -chown  root
          -chgrp root -chmod o+r

     If you like to archive all files with a mtime of now, use:

          example# star -c f=archive-name -find . -chmtime now

     If you like to list all files in an archive in  a  way  like
     sfind(1), instead of the way used by star, use:

          example# star -t f=archive-name -find . -ls -false

     If you like to split the content of an  archived  tree  into
     tar chunks of 1 GB, you could call:

          example# star -c f=/tmp/v.tar tsize=1G \
          new-volume-script='sh -c "mv /tmp/v.tar /tmp/v$(($1-1)).tar" nv' .


ENVIRONMENT

     COMERR_EXCODE
          If this environment is  present,  exit  codes  are  not

Joerg Schilling      Last change: 2020/09/04                   64


Schily's USER COMMANDS                                    STAR(1)

          mapped  to avoid possible clashes with calling programs
          that  use  the  outdated  waitpid(2)  instead  of   the
          waitid(2)  call  to wait for the exit status from star.
          While waitid(2) returns the  full  32  bit  exit  code,
          waitpid(2)  masks the exit code with 0377.  Without the
          environment COMERR_EXCODE, exit codes outside the range
          -63 .. 191 are mapped to -64 (192) to mark a clash.

          If the environment COMERR_EXCODE is set and  the  value
          starts  with  the  character  '0', an exitcode code > 0
          that leads to exitcode & 0377 == 0, is mapped to -64 to
          avoid  confusion  with  shells  that  use waitid(2) but
          interpret these exit codes as zero with respect to con-
          ditional  execution in order to implement compatibility
          to historical shells.

          With a shell that supports the full exitcode on  and  a
          POSIX  compliant operating system, it is recommended to
          set the environment COMERR_EXCODE.

     STAR_COMPRESS_FLAG
          If you like star to always create compressed files that
          use  maximum  compression,  you may set the environment
          variable STAR_COMPRESS_FLAG to -9.

     STAR_DEBUG
          If this environment variable is present, star will  not
          remove  temporary  files from ./star-tmpdir.  The files
          in this directory are files that have been  removed  by
          users  before  the last incremental dump did take place
          on the master filesystem.

     STAR_FIFOSIZE
          If you like to by default let star use a different fifo
          size,  set  this  environment  variable  to the desired
          size.

     STAR_FSYNC
          If set to `N', the default behavior of star  is  as  if
          the -no-fsync option has always been specified.

          This grants that  star  is  always  faster  than  other
          archivers,  but  makes  it impossible for star to check
          whether the extracion of a file to the  filesystem  was
          successful.

          If set to any other value, the default behavior of star
          is  as  if  the -do-fsync option has always been speci-
          fied.

          The  environment   STAR_FSYNC   has   precedence   over
          /etc/default/star  but  may  still  be  overwritten  by

Joerg Schilling      Last change: 2020/09/04                   65


Schily's USER COMMANDS                                    STAR(1)

          command line options.

     STAR_NOHINT
          If this environment is seen, some informative  messages
          are  not  printed.   this currently applies to messages
          related to STAR_FSYNC and STAR_SECURE_LINKS.

     STAR_SECURE_LINKS
          If set to `N', the default behavior of star  is  as  if
          the -no-secure-links option has always been specified.

          This disables checks for potentially insecure links  by
          default.

          If you like to make this the default, keep in mind that
          you  need  to specify -secure-links in case you like to
          unpack an archive from unknown sources.

          The environment STAR_SECURE_LINKS has  precedence  over
          /etc/default/star  but may still be overwritten by com-
          mand line options.

     STAR_WORKAROUNDS
          If this environment variable is present, implement wor-
          karounds  for named problems.  The environment variable
          is expected to contain a comma separated  list  of  bug
          names:

          ssh-tcpip
               implement a workaround for a bug caused by ssh  or
               TCP-IP  seen on Linux in 2003.  The bug caused the
               verbose output from star on stderr to be lost when
               calling something like:

                   ssh host 'star -c ...'

               The workaround is activated  when  stderr  is  not
               connected  to  a terminal and works by waiting for
               0.1 seconds for the output to appear.

     TAPE Unlike other tar(1) implementations, star  defaults  to
          use  stdin/stdout for the archive.  If you like star to
          use the file name from the  TAPE  environment  instead,
          you need to specify the -T option too.

     RSH  If the RSH environment is present, the  remote  connec-
          tion  will  not  be created via the default method, but
          rather uses the program specified  by  RSH.   Use  e.g.
          RSH=/path/to/ssh  to  create  a secure shell connection
          using a specific ssh version.

          If the RSH environment is not present, the compiled  in

Joerg Schilling      Last change: 2020/09/04                   66


Schily's USER COMMANDS                                    STAR(1)

          default is used.  This currently is ssh.

          If the RSH environment is empty, then rcmd(3) is used.

          Former versions of star by default did use  rcmd(3)  to
          create  a  remote connection.  Using a different method
          forces star to create a pipe to the rsh(1) or  ssh  (1)
          program  and disallows star to directly access the net-
          work socket to the remote server.  This makes it impos-
          sible to work at maximum performance and slows down the
          connection compared to a root initiated rcmd(3) connec-
          tion.

          See rsh= option for more information.

          See BUGS section for more information.

     RMT  If the RMT environment  is  present,  the  remote  tape
          server will not be the program /etc/rmt but the program
          pointed to by RMT.  Note that the  remote  tape  server
          program  name  will  be  ignored if you log in using an
          account that has been created with a remote tape server
          program as login shell.

          See rmt= option for more information.


FILES

     /etc/default/star
          Default values can be set for the following options  in
          /etc/default/star.  For example:  CDR_FIFOSIZE=64m

          STAR_FIFOSIZE
               Sets the default size of the FIFO (see  also  fs=#
               option).

          STAR_FIFOSIZE_MAX
               Sets the maximum size of the FIFO (see  also  fs=#
               option).      Setting     STAR_FIFOSIZE_MAX     in
               /etc/default/star  allows  to   overwrite   global
               values  from backup scripts for machines with less
               memory.

          STAR_FSYNC
               If set to `N', the default behavior of star is  as
               if the -no-fsync option has always been specified.

               This grants that star is always faster than  other
               archivers,  but  makes  it  impossible for star to
               check whether the  extracion  of  a  file  to  the
               filesystem was successful.

               This setting  is  overwritten  by  the  STAR_FSYNC

Joerg Schilling      Last change: 2020/09/04                   67


Schily's USER COMMANDS                                    STAR(1)

               environment, if present.

               If you like to make the default fast, keep in mind
               that you need to specify -do-fsync for cases where
               star needs to be able to know whether the  extrac-
               tion was successful.

          STAR_SECURE_LINKS
               If set to `N', the default behavior of star is  as
               if  the  -no-secure-links  option  has always been
               specified.

               This  disables  checks  for  potentially  insecure
               links by default.

               This    setting    is    overwritten    by     the
               STAR_SECURE_LINKS environment, if present.

               If you like to make this the default, keep in mind
               that you need to specify -secure-links in case you
               like to unpack an archive from unknown sources.

          archive0=

          archive1=

          archive2=

          archive3=

          archive4=

          archive5=

          archive6=

          archive7=
               Archive entries for the -[0..7] option.

               A correct archive?= line has 3..4 space  separated
               entries.   The  first  is  the  device entry (e.g.
               archive0=/dev/tape).  The second is  the  blocking
               factor  in  512 byte units.  The third is the max-
               imum media size in 1024 byte units.  If this entry
               contains  a  0,  then the media size is unlimited.
               The fourth entry is optional. If it contains a 'n'
               or a 'N', then the archive device is not a tape.

               Examples:

               archive0=/dev/tape 512 0 y
               archive1=/dev/fd0 1 1440 n

Joerg Schilling      Last change: 2020/09/04                   68


Schily's USER COMMANDS                                    STAR(1)

               archive2=/dev/rmt/0mbn 512 0

               If the default file does not  need  to  be  shared
               with  the tar program from Solaris, any number may
               be used like a generic size option like bs=.

               Example:

               archive0=/dev/tape 256k 40G y

     /etc/tardumps
          The default  name  for  the  dump  level  archive.  The
          default  name is used whenever the tardumps=name option
          has not been specified.  The file is written or updated
          when -wtardumps is used.

          The file holds one or more  lines,  each  specifying  a
          dump  level entry.  Each dump level entry starts with a
          mount point name followed by a  TAB  and  one  or  more
          spaces, followed by the decimal dump level, a space and
          the dump time.

          If the dump level is directly followed by a  'P',  then
          the dump refers to a partial dump (a dump that does not
          include the whole filesystem).

          The dump time itself includes the  decimal  representa-
          tion  of the UTC seconds since Jan 01 1970, a space and
          the textual local time representation of the dump time.

          The numerical decimal dump time representation  may  be
          followed  by a dot and a sub second value.  The textual
          local time representation is for informational  use  by
          humans only and not evaluated by star.

     ./star-symtable
          Contains a  database  that  is  needed  in  incremental
          restore mode.

     ./star-symdump
          Contains an intermediate dump of restore database after
          a  fatal  error condition was met during an incremental
          restore operation.

     ./star-tmpdir
          Is the temporary directory that is used as intermediate
          file storage by star if in incremental restore mode.

     ./star-lock
          Is a lock file created by star when doing an  incremen-
          tal restore.  If this file is present, it prevents star
          from running  another  incremental  restore  operation.

Joerg Schilling      Last change: 2020/09/04                   69


Schily's USER COMMANDS                                    STAR(1)

          This  helps to avoid more than one restore operation at
          a time (e.g. from a cron script).

     /dev/tty
          Is used for the interactive user interface.


SEE ALSO

     spax(1),  suntar(1),  scpio(1),  tar(1),  cpio(1),   pax(1),
     rcp(1),  mt(1),  rmt(1),  match(1),  dd(1),  sdd(1), rsh(1),
     ssh(1),   star_sym(1),   tartest(1),    star(4),    rcmd(3),
     fssnap(1m), waitid(2), waitpid(2)


DIAGNOSTICS

     star: f records + p bytes (total of x bytes = d.nnk).

     The number of full records, the number of bytes  in  partial
     records and the total amount of data in KBytes.

     star: Total time x.yyysec (z kBytes/sec)

     The time used and the transfer speed from/to the archive.

     If there have been non fatal errors during the archive  pro-
     cessing,  star  will  display a delayed error summary before
     exiting.


NOTES

     The command line syntax for the tar command (as  defined  in
     SUSv2  -  UNIX-98)  deviates  from  the  command line syntax
     defined for all other commands. While the POSIX command line
     syntax  requests  all  options  to start with a dash (-) and
     allows to either write options separately  or  combined  (in
     case of boolean flags), the tar command line syntax requires
     all options to be combined into a single  string  that  does
     not  start  with  a dash.  Star by default assumes a command
     line syntax like a typical POSIX command and includes a com-
     patibility mode that allows to specify a command line syntax
     as documented for the UNIX-98 tar command.  If  you  believe
     that  you  found  a  bug  in the way star parses the command
     line, please first check your command line  for  correctness
     before you make a bug report for star.

     If you like to write portable shell scripts that  call  tar,
     use  the  UNIX-98  tar  command  line  syntax (i.e. a single
     option string and no dash), choose the commands and  options
     from  the  following set of characters ( rxtuc vxfblmo ) and
     check the shell script with both, your local  tar  and  star
     for  correct behavior. It you expect the script to call gnu-
     tar, do not include the -o option as gnutar implements  this
     option in a way that violates UNIX-98.

Joerg Schilling      Last change: 2020/09/04                   70


Schily's USER COMMANDS                                    STAR(1)

     Star strips leading ./ sequences from pathnames.  This  lets
     star  in many cases store longer pathnames than other imple-
     mentations.

     The POSIX.1-1988 method (ustar format) of storing files with
     pathnames  that  are  longer than 100 chars has some limita-
     tions:

          The name field (100 chars) an inserted slash (`/')  and
          the  prefix  field  (155 chars) produce the pathname of
          the file. When recreating the original  filename,  name
          and prefix are concatenated, using a slash character in
          the middle. If a pathname does not  fit  in  the  space
          provided  or  may  not be split at a slash character so
          that the parts will fit into 100 + 155 chars, the  file
          may  not  be  archived. Linknames longer than 100 chars
          may not be archived too.

     The star, xstar, xustar, exustar, pax,  and  gnutar  archive
     formats  don't  have  these limitations. While gnutar uses a
     method that makes it impossible for  other  tar  implementa-
     tions  (except  star)  to  restore filenames that are longer
     than 100 chars, the  xstar,  xustar,  exustar  and  pax/epax
     archive  format  uses  a  method that allows an POSIX.1-1988
     compliant way of storing  filenames,  if  the  POSIX  method
     would  allow this.  When the archive format is xustar, exus-
     tar  or  pax/epax  very  long  filenames  are  stored  using
     extended headers from the POSIX.1-2001 standard.

     Some  buggy  tar  implementations  will  generate  incorrect
     filenames during a restore operation if the archive contains
     pathnames or linknames of exactly 100 chars length.

     Star adds a tar signature in the last four bytes of each tar
     header  if  the archive format is star or xstar.  This is no
     problem with the star archive format as it is  an  extension
     of  the old pre POSIX.1-1988 tar format.  On the other side,
     the xstar archive format claims to be as  POSIX.1-1988  com-
     pliant  as possible. Inserting this tar signature is a minor
     deviation from the standard that has the last  12  bytes  of
     each  header reserved for future use. On the other side, tar
     implementations such as some pax implementations  that  only
     compute  checksums  on the first 500 bytes of the header are
     violating the standard that requests the checksum to be com-
     puted  on all 512 bytes of the tar header. All tar implemen-
     tations that are  100%  Posix  compliant  will  be  able  to
     extract xstar archives as long as no new standard is defined
     that claims the last 12 bytes of the header for a  different
     use.   But  then  the ustar version number should be changed
     from `00' to `01'.  Now, that the  POSIX-2001  standard  has
     been accepted, it is even predictable that all extensions to
     the standard  tar  format  will  go  into  the  POSIX.1-2001

Joerg Schilling      Last change: 2020/09/04                   71


Schily's USER COMMANDS                                    STAR(1)

     extended headers which are extensible to include any feature
     without future limitation.  The only known  tar  implementa-
     tion  that  also uses the last 12 bytes of the tar header is
     Sun's tar which uses these 12 bytes for files that are split
     over  several  archives.  Such archives created by Sun's tar
     are not readable by the buggy pax  implementation  too.  The
     Sun  extension  is  not  incompatible  to the star signature
     because Sun expects an octal number at the beginning of  the
     12 byte field which is a null character in the star case.

     Star uses these four bytes since 1985 without problems.   If
     you need a 100% POSIX.1-1988 and 100% POSIX.1-2001 compliant
     tar archive, you may use the xustar, exustar or the pax/epax
     archive  format.  The probability of falsely detecting other
     tar formats as xustar or exustar format however is higher.

     There is no way to ask for the n-th occurrence of a file.

     The way EOF is handled by star differs, whether the fifo  is
     in effect or not.  If the fifo is not used, star stops read-
     ing the archive if it encounters a logical EOF record in the
     archive.  If  the fifo is used, star may read until the fifo
     is full or until the real EOF mark on tape is reached.   How
     much data star actually reads depends on the star foreground
     process sends a fifo shutdown signal to the background  fifo
     read process.

     Gnu tar often creates tar archives  with  incorrect  logical
     EOF  marks.   The standard requires two blocks that are com-
     pletely zeroed, whereas gnutar often only adds one of them.

     Old versions of tar found on SYSVr3 and earlier cannot  read
     tar archives with a blocksize greater than 10 kBytes.

     The method of storing sparse files currently used  with  the
     star  and xstar format is not guaranteed to be used in later
     versions of star.  If the  author  decides  to  change  this
     method,  later  versions  of star may not be able to restore
     sparse files from tar archives made by the  current  version
     of star.

     Some tar implementations violate the standard in using  only
     the  first 500 Bytes of the header for checksum computation.
     These tar implementations will not  accept  star  and  xstar
     type tar archives.

     Sun's Solaris 2.x  tar  implementation  violates  the  Posix
     standard.  Tar archives generated by star cause Sun's tar to
     print tar: impossible file type  messages.  You  may  ignore
     these messages.

Joerg Schilling      Last change: 2020/09/04                   72


Schily's USER COMMANDS                                    STAR(1)

     Gnutar's dumpdirs are non standard  and  are  currently  not
     implemented.

     If gnutar archives sparse files with more than  four  holes,
     it produces archives that violate the standard in a way that
     prevents other tar implementations to read  these  archives.
     Star  knows  about  that  and is able to handle these gnutar
     archives.

     The filetype N (LF_NAMES) from gnutar (an obsolete method of
     storing long names) will never be implemented.

     Note that on operating systems (like DOS) that do not imple-
     ment real pipes, star implements compression via a temporary
     file.  Using compression thus is limited by the maximum file
     size and the available disk space.

     The extended file flags implementation (see -xfflags option)
     on  Linux  is  buggy  by  design.   In order to retrieve the
     needed information, every file needs to be opened.   If  the
     /dev  directory  is  included in create mode, every possible
     driver will be loaded which may hang the system for  a  long
     time.  In the worst case, unwanted side effects from opening
     devices (such as causing tape drives to  rewind  the  media)
     may be caused.


SECURITY NOTES

     If you unpack a tar archive in a non  empty  directory,  any
     file in that directory may be overwritten unless you specify
     the -k option.  If the archive contains  symbolic  links  or
     hard  links,  star  may  even  overwrite  files  outside the
     current directory.  If the directory where  the  archive  is
     been  unpacked  is  not empty and contains contains symbolic
     links or hard links to directories outside  that  directory,
     star may also overwrite files outside the current directory.
     As many other commands, star usually has all  possible  per-
     missions  when run as root.  Unpacking archives as root thus
     may have fatal results to any file on your system.  Be  very
     careful when you try to extract an archive that has not been
     created by you. It is possible to create  hand  crafted  tar
     archives   that   may   overwrite   critical   files   (like
     /etc/passwd) on your system.  In addition all  tar  archives
     that  have  been  created  with  the  list=  option  and tar
     archives where the C= option was not  specified  before  all
     file type arguments may be critical.

     A good advise is to extract all  doubtful  archives  as  non
     root in an empty directory and to neither specify the -/ nor
     -.. or -no-secure-links options.  If you get a warning,  you
     should  unpack  the  archive  a  second time and specify the
     options -k, -w and -nowarn in addition to the  options  used

Joerg Schilling      Last change: 2020/09/04                   73


Schily's USER COMMANDS                                    STAR(1)

     for the first run.

     See the ENVIRONMENT section and /etc/default/star  for  ways
     to configure the default behavior.


SUID NOTES

     If star is installed suid root, star is able to make connec-
     tions to remote archives for non root users. This is done by
     using the rcmd(3) interface to get a connection to a  rmt(1)
     server.

     Star resets its effective uid  back  to  the  real  user  id
     immediately  after  setting  up the remote connection to the
     rmt server and before opening any other file.

     If star has not been installed suid root and not  called  by
     root, it will try to create the remote connection via rsh(1)
     or ssh(1) (in case the environment RSH has been set to ssh).
     Note  that  in  this case, the throughput to the remote tape
     server will be much lower than with a  connection  that  has
     been initiated via rcmd(3).


LIMITATIONS

     If star is running on a large file aware platform,  star  is
     able  to handle files up to 8 GB in a mode that is compliant
     to the POSIX.1-1988 ustar format. With  a  nonstandard  star
     specific  extension,  up  to 95 bits may be used to code the
     filesize.  This will handle  files  up  to  200,000,000  TB.
     With  the new POSIX.1-2001 extended headers used by the xus-
     tar, exustar  and  pax/epax  format,  any  filesize  may  be
     archived.


BUGS

     The fact that the -f option has to be implemented in  a  way
     that  is  compatible  with  old  tar  implementations  gives
     several  problems.   The  options  -fifostats,  -force-hole,
     -force-remove and -fifo interfere with the -f option and the
     fact that they exist prevents  users  from  using  filenames
     like  e.g.  ifo using the traditional way where the filename
     directly follows the string -f without any space between the
     option name and the file name.  However, there is no problem
     to use a file named ifo by by calling -f ifo, f=ifo,  -f=ifo
     or  -f=  ifo.   Be  careful not to make typos with the above
     options. The result could be that a file  is  created  as  a
     result of the mistyped option.

     There is currently no way to set the fifo lowwater and high-
     water marks.

     If you ever discover a hang in the fifo  of  star,  get  the
     process  ids for both star processes, send both a RTMAX sig-
     nal using kill(1) and report the disgnostic output.

Joerg Schilling      Last change: 2020/09/04                   74


Schily's USER COMMANDS                                    STAR(1)

     There is currently no way to automatically delete  files  in
     the  target  file  tree  if  they are obsolete.  Star should
     implement something similar to gnutar's dumpdirs.

     If not invoked by the super user star may  not  be  able  to
     extract files if they reside in read only directories.

     Star is not able to make a complete backup of  a  filesystem
     if files are hidden by a mount that is in effect on a direc-
     tory of this filesystem.  This may be avoided in case of the
     ufs filesystem if the backup is made off a ufs snapshot (see
     the man page for fssnap(1m) It  could  be  avoided  for  any
     filesystem  if  the  loopback  filesystem had an option that
     tells lofs not to traverse mountpoints.

     For now (late 2002), we know that the following programs are
     broken and do not implement signal handling correctly:

     rsh  on SunOS-5.0...SunOS-5.9

     ssh  from ssh.com

     ssh  from openssh.org

     Sun already did  accept  a  bug  report  for  rsh(1)/ssh(1).
     Openssh.org  accepted  and fixed a bug for their implementa-
     tion of ssh(1).

     If you use star to create a remote connection via an unfixed
     rsh(1)  or  ssh(1), be prepared that terminal generated sig-
     nals may interrupt the remote connection.


HISTORY

     A tar command appeared in Seventh Edition  Unix,  which  was
     released  in  January, 1979. It replaced the tp program from
     Fourth Edition Unix which  replaced  the  tap  program  from
     First Edition Unix.

     Star was first created in 1982 to extract tapes  on  a  UNIX
     clone  (UNOS)  that  had  no tar command.  In 1985 the first
     fully functional version has been released as mtar.

     When the old star format extensions have been introduced  in
     1985,  it  was renamed to star (Schily tar).  In 1994, Posix
     1003.1-1988 extensions were added and star  was  renamed  to
     star (Standard tar).


AUTHOR

     Joerg Schilling
     D-13353 Berlin

Joerg Schilling      Last change: 2020/09/04                   75


Schily's USER COMMANDS                                    STAR(1)

     Germany

     Mail bugs and suggestions to:

     joerg@schily.net


SOURCE DOWNLOAD

     The source code for star is in the  star  project  at  Sour-
     ceforge at:

         http://sourceforge.net/projects/s-tar/

     The download directory is:

         http://sourceforge.net/projects/s-tar/files/

     The preferred frequent development  snapshots  of  the  star
     source  are also included in the schilytools project and may
     be retrieved from the schilytools project at Sourceforge at:

         http://sourceforge.net/projects/schilytools/

     The download directory is:

         http://sourceforge.net/projects/schilytools/files/

     Check for the schily-*.tar.bz2 archives and please  use  the
     latter  download  in  favor  of  old  so  called stable star
     releases in separate tarballs.

Joerg Schilling      Last change: 2020/09/04                   76


Man(1) output converted with man2html


FhG Schily's Home VED powered