Provided by: atool_0.39.0-14_all bug

NAME

       atool - A script for managing file archives of various types

SYNOPSIS

       atool [OPTION]... ARCHIVE [FILE]...
       aunpack [OPTION]... ARCHIVE [FILE]...
       apack [OPTION]... ARCHIVE [FILE]...
       als [OPTION]... ARCHIVE [FILE]...
       acat [OPTION]... ARCHIVE [FILE]...
       adiff [OPTION]... ARCHIVE ARCHIVE
       arepack [OPTION]... OLD-ARCHIVE NEW-ARCHIVE

DESCRIPTION

       This  manual  page  document  describes  the  atool  commands.  These commands are used for managing file
       archives of various types, such as tar and Zip archives. Each command can be executed individually or  by
       giving the appropriate options to atool (see OPTIONS below).

       aunpack  extracts  files  from an archive. Often one wants to extract all files in an archive to a single
       subdirectory.  However, some archives contain multiple files  in  their  root  directories.  The  aunpack
       program  overcomes  this  problem  by  first extracting files to a unique (temporary) directory, and then
       moving its contents back if possible. This also prevents local files from being overwritten by mistake.

       apack creates archives (or compresses files). If no file arguments are specified, filenames  to  add  are
       read from standard in.

       als lists files in an archive.

       acat extracts files in an archive to standard out.

       adiff generates a diff between two archives using diff(1).

       arepack  repacks  archives  to  a different format. It does this by first extracting all files of the old
       archive into a temporary directory, then packing all  files  extracted  to  that  directory  to  the  new
       archive. Use the --each (-e) option in combination with --format (-F) to repack multiple archives using a
       single invocation of atool. Note that arepack will not remove the old archive.

       Unless  the  --format  (-F)  option  is  provided,  the  archive format is determined by the archive file
       extension. I.e.  an extension ".tar.gz" or ".tgz" means tar+gzip format. Note  that  the  extensions  are
       checked  in  the  order  listed  in  the  section ARCHIVE TYPES below, which is why a file with extension
       ".tar.gz" is considered to a be tar+gzip archive, not a gzip compressed file.

OPTIONS

       These programs follow the usual GNU command line syntax, with  long  options  starting  with  two  dashes
       (`-').  A summary of options is included below.

       -l, --list
              List files in archive.  This option is automatically assumed when als is executed.

       -x, --extract
              Extract files from archive.  This option is automatically assumed when aunpack is executed.

       -X, --extract-to=PATH
              Extract  files  from archive to the specified directory. When unpacking compressed files, PATH may
              refer to either a filename or an existing directory.

       -a, --add
              Create archive.  This option is automatically assumed when apack is executed.

       -c, --cat
              Extract a file  from  archive  to  standard  out  (displaying  it  on  screen).   This  option  is
              automatically assumed when acat is executed.

       -d, --diff
              Extract  two  archives  and  use  diff(1)  to  generate differencies between them.  This option is
              automatically assumed when adiff is executed.

       -e, --each
              For each argument, execute the specified command. This can be used to  quickly  extract,  list  or
              create multiple archives (see EXAMPLES below). This option can not be used with the cat command.

       -F, --format=EXTENSION
              Specify archive format manually (see ARCHIVE TYPES below).

       -S, --simulate
              Run  atool  in  simulation  mode. No changes to the filesystem (i.e. writes) will be made, and all
              commands that would be executed  are  displayed  instead.  This  option  can't  be  combined  with
              --explain (since it implies that already).

              Note  that  it  is not guaranteed that the commands printed in simulation mode will be the same as
              those executed in non- simulation mode. This is because  some  operations  depend  on  what  files
              archives contain, and atool can at this time only determine that by extracting archives.

       -E, --explain
              Display commands executed by atool. This option can't be combined with --simulate.

       -p, --page
              Run output through a pager, usually pager unless the environment variable PAGER is set.

       -f, --force
              When extracting from files, allow overwriting of local files.  When creating an archive, allow the
              archive  file  to  be  overwritten  if it already exists. Note that it is possible to add files to
              existing RAR and Zip archives (this is not possible for many other formats).

       -D, --subdir
              When extracting archives, always create a new directory for the archive even if the  archive  only
              contains one file in its root directory.

       -0, --null
              If  no  file  arguments are specified when creating or adding files to archives, the list of files
              will be read from standard in.  Normally these filenames are separated by newline, but  with  this
              option they are separated by null-bytes. This is useful with the GNU find -print0 option.

       -q, --quiet
              Decrease verbosity level by one. This is subtracted from the default verbosity level, or the level
              specified  with  --verbosity.  This option may be specified more than once to make atool even less
              verbose.

       -v, --verbose
              Increase verbosity level by one. This is added to  the  default  verbosity  level,  or  the  level
              specified  with  --verbosity.  This option may be specified more than once to make atool even more
              verbose.

       -V, --verbosity=LEVEL
              Specify verbosity level. The default level is 1,  which  means  "normal  verbosity"  -  e.g.  when
              creating and extracting from archives, files will be listed.

       --config=FILE
              Load  configuration from the specified file. When using this option, the system-wide and user-wide
              configuration files will not be loaded. If the specified file does not exist or can not  be  read,
              atool will terminate with an error message.

       -o, --option=KEY=VALUE
              Override a configuration option. These are applied after reading the configuration files.

              You can specify this multiple times to override different options.

       -O, --format-option=OPTION
              Send  additional  options  to the archiver command. This can be useful when specifying compression
              options for some archives, e.g.
                      apack -F7z -O-mx=9 archive.7z dir
              You can specify this multiple times add different options.

       --save-outdir=FILE
              When extracting files, save the name of the directory which the archive was extracted  to  to  the
              specified  file.  If  the  command  was  not  `extract', or the archive was not extracted to a new
              directory, then nothing will be written to the specified file. If multiple archives were specified
              (with -e), then only the last directory that files were extracted to will be written to FILE.

              This option is used internally (see EXAMPLES below).

       --help Show summary of options.

       --version
              Output version information and exit.

ARCHIVE TYPES

       Unless the -f (--format) option is provided, the  archive  format  is  determined  by  the  archive  file
       extension.  I.e.  an  extension  ".tar.gz"  or ".tgz" means tar+gzip format. Note that the extensions are
       checked in the other listed above, which is why a file  with  extension  ".tar.gz"  is  considered  to  a
       tar+gzip archive, not a gzip archive.

       The diff command is supported whenever the extract command is supported.

       The supported archive types are:

       tar+gzip (.tar.gz, .tgz)
              All commands are supported.

       tar+bzip (.tar.bz, .tbz)
              All commands are supported.

       tar+bzip2 (.tar.bz2, .tbz2)
              All commands are supported.

       tar+compress (.tar.Z, .tZ)
              All commands are supported.

       tar+lzop (.tar.lzo, .tzo)
              All commands are supported.

       tar+lzip (.tar.lz, .tlz)
              All commands are supported.

       tar+xz (.tar.xz, .txz)
              All commands are supported.

       tar+7z (.tar.7z, .t7z)
              All commands are supported.

       tar (.tar)
              All commands are supported.

       zip (.zip)
              All commands are supported.

       jar (.jar, .war)
              List, extract, and add commands are supported.  Cat is supported if use_jar_program is disabled.

       rar (.rar)
              All commands are supported.

       lha (.lha, .lzh)
              All commands are supported.

       7z (.7z)
              Extract, list and add commands are supported.

       alzip (.alz)
              Extract command is supported.

       ace (.ace)
              Extract and list commands are supported.

       ar (.a)
              All commands are supported.

       arj (.arj)
              List, extract and add commands are supported.

       arc (.arc)
              All command are supported.  (Note that arc outputs an extra newline when the cat command is used.)

       rpm (.rpm)
              Extract and list commands are supported.

       deb (.deb)
              Extract and list commands are supported.

       cab (.cab)
              Cat, extract, and list commands are supported.

       gzip (.gz)
              Cat, extract, and add commands are supported.

       bzip (.bz)
              Cat, extract, and add commands are supported.

       bzip2 (.bz2)
              Cat, extract, and add commands are supported.

       compress (.Z)
              Cat, extract, and add commands are supported.

       lzma (.lzma)
              Cat, extract, and add commands are supported.

       lzop (.lzo)
              Extract  and  add  commands  are supported. The cat command is not supported because lzop does not
              want to extract files to standard out unless the -f flag is given.

       lzip (.lz)
              Cat, extract, and add commands are supported.

       xz (.xz)
              Cat, extract, and add commands are supported.

       rzip (.rz)
              Extract and add commands are supported.

       lrzip (.lrz)
              Extract and add commands are supported.

       7zip (.7z)
              All commands are supported.  (Note that 7z refuses to write extracted files  to  standard  out  if
              standard  out  is a terminal. Use -p or pipe the output of atool/acat to a pager when reading in a
              terminal.)

       cpio (.cpio)
              List, extract and add commands are supported.

CONFIGURATION

       Since version 0.8.0, atool can read custom configuration files.  First, hardcoded defaults in  the  atool
       program  file  are  evaluated.   Then system-wide configuration values are loaded from /etc/atool.conf if
       that file exists. Finally, per-user configuration values are loaded from .atoolrc in the  current  user's
       home directory.

       The format of the configuration files is simple:

              variable value

       Here variable is a variable listed below, and value is the value to associate the variable with. variable
       and  value  should  be  separated  with  at  least one whitespace (space, tab etc). Empty lines and lines
       beginning with # are discarded.

       A value of `1' means that the option is enabled, and `0' that it  is  disabled.  Strings  should  not  be
       quoted, as they start at the first non-whitespace character and end at the end of the line.

       The options are:

       use_tar_bzip2_option (default: 1)
              Enable  this  if  you  use GNU tar and it supports the --bzip2 option for filtering bzip2'ed files
              through bzip2. Versions 1.13.6 or later of GNU tar support --bzip2. Therefore, if you use GNU  tar
              earlier than 1.13.6, you will need to disable this option.

              This used to be use_tar_j_option but using --bzip2 is more portable.

       use_tar_lzip_option (default: 0)
              Enable  this  if  you  use  GNU  tar and it supports the --lzip option for filtering lzip'ed files
              through lzip. Versions 1.23 or later of GNU tar support --lzip. Therefore,  if  you  use  GNU  tar
              earlier than 1.23, you will need to disable this option.

       use_tar_z_option (default: 1)
              Enable  this  if you use GNU tar and it supports the -z option for filtering gzipped files through
              gzip. You will need to disable this and use_tar_j_option if you don't use GNU tar.

              Disabling these two options doesn't mean that atool can't extract bzip2/gzip files.  If  disabled,
              atool use a pipe to send output from bzip2/gzip to tar instead.

              If  possible,  these  options should be enabled since error management is better when filtering is
              done by tar.

       use_tar_lzma_option (default: 1)
              Enable this if you use GNU tar and it supports the --lzma option  for  filtering  lzma  compressed
              files through lzma. Versions 1.20 or later of GNU tar support --lzma.

       use_tar_lzop_option (default: 0)
              Enable  this  if  you  use GNU tar and it supports the --lzop option for filtering lzop compressed
              files through lzop. Versions 1.21 or later of GNU tar support --lzop.

       use_tar_xz_option (default: 0)
              Enable this if you use GNU tar and it supports the --xz option for filtering xz  compressed  files
              through xz. Versions 1.22 or later of GNU tar support --xz.

       use_gzip_for_z (default: 1)
              Enable  this  if  you  want to use gzip instead of uncompress when decompressing compress'ed files
              (`.Z' files).

       use_rar_for_unpack (default: 0)
              Enable this if you want to always use rar instead of unrar when possible. This makes atool use the
              rar command (path_rar) even when listing and extracting RAR files.

       use_arc_for_unpack (default: 0)
              Enable this if you want to always use arc instead of nomarch when possible. This makes  atool  use
              the arc command (path_arc) even when listing and extracting ARC files.

       use_arj_for_unpack (default: 0)
              Enable this if you want to always use arj instead of unarj when possible. This makes atool use the
              arj command (path_arj) even when listing and extracting ARJ files.

       use_find_cpio_print0 (default: 1)
              Enable this if find supports the -print0 option and cpio supports the -0 option. Without it, it is
              impossible/harder to make cpio archives of files with newline characters in their names.

       extract_deb_control (default: 1)
              Debian  .deb  package  files  contain  control  information  in a DEBIAN directory, especially the
              package's "control" file. Enable this if you want the control information to be exctracted  during
              extraction in addition to the normal files.

       strip_unknown_ext (default: 1)
              Certain  types  of files are actually archives, but their extensions doesn't tell so. Examples are
              Open Office documents (Zip files) and Gnumeric documents (gzip'ed files). Since the extensions  of
              those  filenames  are  unknown to atool, they would not be stripped with this option set to 0. The
              output file in that case would be something like Unpack-XYZW. Setting this option to 1 will  cause
              the extension to be stripped instead.

       use_pbzip2 (default: 0)
              Enable  this if you want to use pbzip2 rather than bzip2.  Please not that if use_tar_bzip2_option
              is enabled, then bzip2 will be used by tar regardless of the use_pbzip2 option. So if you want tar
              to use pbzip2 rather than bzip2, set use_pbzip2 to 1 and use_tar_bzip2_option to 0.

       use_lbzip2 (default: 0)
              Enable this if you want to use lbzip2 rather than bzip2.  Please not that if  use_tar_bzip2_option
              is enabled, then bzip2 will be used by tar regardless of the use_lbzip2 option. So if you want tar
              to use lbzip2 rather than bzip2, set use_lbzip2 to 1 and use_tar_bzip2_option to 0.

       use_pigz (default: 0)
              Enable  this  if  you  want  to use pigz rather than gzip.  Please not that if use_tar_z_option is
              enabled, then gzip will be used by tar regardless of the use_pigz option. So if you  want  tar  to
              use pigz rather than gzip, set use_pigz to 1 and use_tar_z_option to 0.

       use_plzip (default: 0)
              Enable  this if you want to use plzip rather than lzip.  Please not that if use_tar_lzip_option is
              enabled, then lzip will be used by tar regardless of the use_plzip option. So if you want  tar  to
              use plzip rather than lzip, set use_plzip to 1 and use_tar_lzip_option to 0.

       use_jar (default: 0)
              Enable this if you want to use jar for managing jar archives. If you disable this option, zip will
              be used (which should work just as well, and probably be faster too).

              This option is disabled by default since extracting files to standard out (`cat') is not supported
              by jar.

       use_file (default: 1)
              Enable  this  if  you  want  atool  to  identify  file types using file(1) for those files with an
              unrecognized extension (or none at all).

       use_file_always (default: 0)
              Enable this if you want atool to always identify archives using file(1), regardless  of  the  file
              extension.  Please note that this currently has some drawbacks, such as not being able to identify
              all archive types (especially tar archives compressed with 7zip, lzop, szip etc).

       tmpdir_name (default: Unpack-%04d)
              atool extracts to a temporary directory created in the current directory  so  that  no  files  are
              overwritten. This variable controls what name that temporary directory should have.

              The  `%d'  string in this variable will be replaced with a random number between 0 and 9999. It is
              possible change the format of this number by using something else than `%d' - see printf(3).

       tmpfile_name (default: Pack-%04d)
              When using pbzip2, and creating archives, a  temporary  file  need  to  be  created.  This  option
              controls the name of that file.  See tmpdir_name for further details on the format.

       path_pager (default: pager)

       path_jar (default: jar)

       path_tar (default: tar)

       path_zip (default: zip)

       path_unzip (default: unzip)

       path_gzip (default: gzip)

       path_bzip (default: bzip)

       path_bzip2 (default: bzip2)

       path_pbzip2 (default: pbzip2)

       path_compress (default: compress)

       path_lzma (default: lzma)

       path_lzop (default: lzop)

       path_lzip (default: lzip)

       path_rar (default: rar)

       path_unrar (default: unrar)

       path_lbzip2 (default: lbzip2)

       path_pigz (default: pigz)

       path_cabextract (default: cabextract)

       path_7z (default: 7z)

       path_unalz (default: unalz)

       path_lha (default: lha)

       path_unace (default: unace)

       path_ar (default: ar)

       path_arj (default: arj)

       path_unarj (default: unarj)

       path_arc (default: arc)

       path_nomarch (default: nomarch)

       path_rpm (default: rpm)

       path_rpm2cpio (default: rpm2cpio)

       path_dpkg_deb (default: dpkg-deb)

       path_cpio (default: cpio)

       path_file (default: file)

       path_find (default: find)

       path_xargs (default: xargs)

       path_cat (default: cat)

       path_diff (default: diff)
              These are all paths to the corresponding programs. It is usually best to leave them as is, because
              that way their locations can be looked up from the PATH variable.

       args_diff (default: -ru)
              This  variable  specifies  command  line  arguments  to  pass to the diff command (as specified by
              path_diff) when using adiff. Space characters separate arguments in this string.

       path_syscfg (default: /etc/atool.conf)
              (This variable can only be set in the atool program file.)  This variable specifies the  directory
              where the system-wide configuration file is located.

       path_usercfg (default: .atoolrc)
              (This  variable  can  only  be  set in the atool program file and system-wide configuration file.)
              This variable specifies where the user configuration file is located. Note that if  this  filename
              is  relative  (i.e.  doesn't  being  with  `/'),  it  will  be relative to the current user's home
              directory (as determined by the HOME environment variable).

       default_verbosity (default: 1)
              This is the default verbosity of atool. By using -q and -v options, the  verbosity  level  can  be
              raised  and  lowered.   Level  1 means "normal verbosity" - e.g. when creating and extracting from
              archives, files will be listed.

       show_extracted (default: 1)
              If this is set to 1, the aunpack command  will  always  show  what  file  or  directory  that  was
              extracted.  Otherwise  that  will  only  be  printed if the archive was extracted to an unexpected
              location (as a result of local files already existing or the archive having multiple files in  its
              root directory).

              This  can  be quite useful in combinatiaon with `default_verbosity 0'.  Note that this option will
              have no effect when the -X option is used with aunpack, and it has no effect on compressed files.

       keep_compressed (default: 1)
              When compressing a file with gzip or bzip2, the original (uncompressed) file  is  usually  deleted
              once  it  has  been  compressed.  I.e. if you compress a file "test" you will end up with only one
              file, "test.gz".  With this option set to 1, you will make atool keep the original file  as  well.
              The original behaviour is achieved by setting this option to 0.

              This  option  also  has an equivalent effect on uncompressing compressed files. When set to 1, the
              original (compressed) file will be kept.  Otherwise it will be deleted.

              Note however that this option has no effect when packing up a compressed file with the  -X  option
              (for specifying an output directory or file). In that case the original file is always kept.

       decompress_to_cwd (default: 1)
              When  decompressing  a  file with commands such as gzip or bzip2, the decompressed file is usually
              placed in the same directory as the compressed file. With this option set to 1,  the  decompressed
              file is instead placed in the current working directory.

              Note that this option has no effect when -X is used.

ENVIRONMENT VARIABLES

       PAGER The default pager to use when the -p/--page option is specified.

EXAMPLES

       To  extract all files from archive `foobar.tar.gz' to a subdirectory (or the current directory if it only
       contains one file):
            aunpack foobar.tar.gz

       To extract all files from all `.tar.gz' archives in the current directory:
            aunpack -e *.tar.gz

       To create a zip archive of two files `foo' and `bar':
            apack myarchive.zip foo bar

       To display the file `baz' in the archive `myarchive.zip' through a pager:
            acat -p myarchive.zip baz

       To list contents of the rar archive `stuff.rar':
            als stuff.rar

       To create three archives, `dir1.tar.gz', `dir2.tar.gz' and `dir3.tar.gz', so that the first one  contains
       all files in dir1, the second all in dir2 and the third all dir3:
            apack -e -F .tar.gz dir1 dir2 dir3

       To show all differences between version 2.4.17 and 2.4.18 of the kernel:
            adiff linux-2.4.17.tar.gz linux-2.4.18.tar.gz

       To  repack  all  .tar.gz  archives  in  the  current  directory  to .tar.7z (the old archive will be kept
       untouched):
            arepack -F.tar.7z -e *.tar.gz

       Here's a shell function that will make the aunpack command change into the  directory  where  files  were
       extracted:
            aunpack () {
              TMP=`mktemp /tmp/aunpack.XXXXXXXXXX`
              atool -x --save-outdir=$TMP "$@"
              DIR="`cat $TMP`"
              [ "$DIR" != "" -a -d "$DIR" ] && cd "$DIR"
              rm $TMP
            }
       If you don't have the mktemp program, you can replace the second line with (note however that this is not
       entirely safe)
              TMP="/tmp/atool_outdir.$$"

KNOWN BUGS

       Trying to extract gzip and other compressed files without the .gz (or .bz2 etc) extension won't work:

         aunpack: foo: format not known, identifying using file
         aunpack: foo: format is `gzip'
         gzip: foo: unknown suffix -- ignored

       This last error above is generated by gzip -d foo.

       If you find a bug not listed here, please report it to <@PACKAGE_BUGREPORT@>.

REPORTING BUGS

       Report bugs to <oskar@osk.mine.nu>.

AUTHOR

       The author of atool and this manual page is Oskar Liljeblad <oskar@osk.mine.nu>.

COPYRIGHT

       Copyright © 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2011, 2012 Oskar Liljeblad

       This  is  free  software;  see  the  source  for  copying conditions.  There is NO warranty; not even for
       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

atool                                            August 8, 2009                                         ATOOL(1)