atool is a script for managing file archives of various types (tar, tar+gzip, zip etc).
The main command is aunpack
which extracts files from an archive. Did you ever extract files from an archive, not checking whether the files were located in a subdirectory or in the top directory of the archive, resulting in files scattered all over the place? aunpack
overcomes this problem by first extracting to a new directory. If there was only a single file in the archive, that file is moved to the original directory. aunpack
also prevents local files from being overwritten by mistake.
The other commands provided are apack
(to create archives), als
(to list files in archives), and acat
(to extract files to standard out). As atool invokes external programs to handle the archives, not all commands may be supported for a certain type of archives.
atool identifies archives by their file extension. Sometimes this is not possible - for instance rar archives usually have varying numeric file extensions. In those cases when atool can't identify the format, file
is used instead. (atool can be configured not to use file
.)
atool is written in Perl by Oskar Liljeblad and is free software (GNU General Public License).
The complete history of atool can be seen here.
The latest version of atool is 0.39.0, which was released on 2012-04-02:
Precompiled binaries are available as well (sorry, only for the old version 0.37.0):
These files, as well as older versions, are available in the atool file area. You can also find RPM packages of atool for Fedora and Red Hat Enterprise Linux at ATrpms:
atool is mentioned on the following pages:
atool is Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2011 Oskar Liljeblad
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
The source code of this project may contain files from other projects, and files generated by other projects, including:
Such files are licensed under the terms of the GNU General Public License or a license compatible with the GNU GPL (as listed on http://www.gnu.org/licenses/license-list.html). See each file for copyright details.
The following programs are required to run atool:
Perl 5.004 or later
atool is written in Perl. The modules File::Spec
, File::Basename
, Getopt::Long
and POSIX
must be available (they probably are by default).
Web site: http://www.perl.org/
Debian package: perl
The following programs are optional:
file
file is used to determine file types, and is found in most unices by default. This program is necessary unless you choose to disable the use_file option
.
Web site: ftp://ftp.astron.com/pub/file/
Debian package: file
tar (GNU tar)
tar is required if you want to use atool with tar archives. Implementations other than GNU's will work with atool as well, but see the Installation section below if you don't use GNU tar 1.13.18 or later.
Web site: http://www.gnu.org/software/tar/tar.html
Debian package: tar
gzip (GNU zip)
gzip is required if you want to use atool with gzip compressed archives.
Web site: http://www.gzip.org/
Debian package: gzip
bzip
bzip is required if you want to use atool with bzip compressed archives. Note that bzip is obsoleted by bzip2.
bzip2
bzip2 is required if you want to use atool with bzip2 compressed archives.
Web site: http://www.bzip.org/
Debian package: bzip2
pbzip2
pbzip2 is required if you want to use atool with bzip2 compressed archives and utilize parallel processing.
Web site: http://compression.ca/pbzip2/
Debian package: pbzip2
lzip
lzip is required if you want to use atool with lzip compressed archives.
Web site: http://lzip.nongnu.org/lzip.html
Debian package: lzip
plzip
plzip is required if you want to use atool with lzip compressed archives and utilize parallel processing.
Web site: http://lzip.nongnu.org/plzip.html
Debian package: plzip
lzop
lzop is required if you want to use atool with lzop compressed archives.
Web site: http://www.lzop.org/
Debian package: lzop
LZMA
LZMA is required if you want to use atool with lzma compressed archives.
Web site: http://www.7-zip.org/sdk.html
Debian package: lzma
zip/unzip (Info-ZIP Zip/Unzip)
Zip is required if you want to use atool with zip archives. Implementations other than Info-ZIP's might work with atool as well.
Web site: http://www.info-zip.org
Debian packages: zip
, unzip
rar (Eugene Roshal's RAR and UnRAR)
RAR is required if you want to use atool with rar archives. Implementations other than Eugene Roshal's might work with atool as well.
Web site: http://www.rarsoft.com/
Debian package: rar
, unrar
lha (LHa for UNIX)
LHa is required if you want to use atool with lha, lharc and similar archives.
Web site: http://www.infor.kanazawa-it.ac.jp/~ishii/lhaunix/
Debian package: lha
unace (UnAce for Linux)
UnAce is required if you want to use atool with ace archives.
Web site: http://www.winace.com
Debian package: unace
arj
Arj is required if you want to use atool with arj archives.
Web site: http://arj.sourceforge.net
Debian package: arj
Red Hat Package Manager
The Red Hat Package Manager is required if you want to use atool with rpm archives.
Web site: http://www.rpm.org/
Debian package: rpm
cpio (GNU cpio)
cpio is required if you want to use atool with cpio archives. Other implmentations than GNU's might work as well.
Web site: http://www.gnu.org/software/cpio/
Debian package: cpio
arc
arc is required if you want to use atool with ARC archives (all commands supported).
Web site: http://sources.isc.org/archiver/arc-5.21.txt
Debian package: arc
nomarch
nomarch is required if you want to use atool to list and extract files from ARC archives.
Web site: http://rus.members.beeb.net/nomarch.html
Debian package: nomarch
p7zip
p7zip is required if you want to use atool with 7z archives.
Web site: http://p7zip.sourceforge.net/
Debian package: p7zip
unalz
unalz is required if you want to use atool with alzip archives.
Web site: http://www.kipple.pe.kr/win/unalz/
Debian package: unalz
To build all files, simply run
./configure
The configure script accepts a few options - use the following command to show them:
./configure --help
Installing atool is a matter of copying the atool file to some appropriate directory for executable files, usually /usr/local/bin
. After that, symbolic links for apack
, aunpack
, als
and acat
to atool
should be created in the same directory.
All this can be done automaticly by running
make install
It is possible to create a system wide configuration file overriding default values found in the top of the atool
script (see below).
A list of options that atool accepts can be displayed by running atool with the --help
option:
atool --help
Please see the manual page for atool for full use and configuration information. This document can usually be viewed this way:
man ./atool.1
Web site and file area for atool is hosted on Savannah:
The latest version of atool should always be available on this site.
The author of atool and this document, Oskar Liljeblad, can be reached by e-mail:
Please send bug reports, suggestions, ideas or comments in general to me - I would like to hear from you if you like (or don't like) atool.