Provided by: atool_0.39.0-10_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.