atool - Introduction ==================== 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). Copyright and License ===================== 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: * GNU Autoconf (http://www.gnu.org/software/autoconf/) 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. Requirements ============ 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 for running atool: * 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 (not in stable as of 2012-02-07): 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 * 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 packages: 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 Building ======== To build all files, simply run ./configure The configure script accepts a few options - use the following command to show them: ./configure --help Installation ============ 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). Usage and Configuration ======================= 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 Supported formats ================= Please see the supplied manual page, as described above. Homepage ======== Web site and file area for atool is hosted on Savannah: http://www.nongnu.org/atool/ The latest version of atool should always be available on this site. Feedback ======== The author of atool and this document, Oskar Liljeblad, can be reached by e-mail: oskar@osk.mine.nu (mailto:oskar@osk.mine.nu) 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. Known bugs and missing features =============================== Please see the KNOWN BUGS section of the atool.1 manual page. Things to do ============ Please see the TODO document. -