Thu, 17 Jan 2008 22:36:07 -0500
[svn] At work I was getting an unhelpful "No such file or directory" error when I
tried to extract an .exe. It turns out this was because I didn't have
cabextract installed. This inspired a few changes:
* BaseExtractor now raises an ExtractorUnusable error when this happens.
* Various points in the code deal with this properly.
* The loop for trying extractors will now report all the errors it got, if
extraction is unsuccessful, to better help you understand why.
Also snuck in a bug fix where things weren't being cleaned properly with a
half-extracted archive.
Also got my version number situation in order, in anticipation for the next
release, which may be a while yet but at least I won't have to worry about
it then.
dtrx - Intelligent archive extraction ===================================== Introduction ------------ dtrx extracts archives in a number of different formats; it currently supports tar, zip, cpio, rpm, deb, gem, 7z, and cab files. It can also decompress files compressed with gzip, bzip2, lzma, or compress. In addition to providing one command to handle many different archive types, dtrx also aids the user by extracting contents consistently. By default, everything will be written to a dedicated directory that's named after the archive. dtrx will also change the permissions to ensure that the owner can read and write all those files. Running dtrx ------------ To run dtrx, simply call it with the archive(s) you wish to extract as arguments. For example:: $ dtrx coreutils-5.*.tar.gz dtrx supports a number of options to mandate specific behavior: -r, --recursive With this option, dtrx will search inside the archives you specify to see if any of the contents are themselves archives, and extract those as well. -o, --overwrite Normally, dtrx will avoid extracting into a directory that already exists, and instead try to find an alternative name to use. If this option is listed, dtrx will use the default directory name no matter what. -f, --flat Extract archive contents into the current directory, instead of their own dedicated directory. This is handy if you have multiple archive files which all need to be extracted into the same directory structure. Note that existing files may be overwritten with this option. -n, --noninteractive dtrx will normally ask the user how to handle certain corner cases, such as how to handle an archive that only contains one file. This option suppresses those questions; dtrx will instead use sane, conservative defaults. -l, -t, --list, --table Don't extract the archives; just list their contents on standard output. -m, --metadata Extract the metadata from .deb and .gem archives, instead of their normal contents. -q, --quiet Suppress warning messages. Listing this option twice will cause the dtrx to be silent if at all possible. -v, --verbose Print more information about dtrx's behavior. You can list this option up to three times for more information. --help Display basic help. --version Display dtrx's version, copyright, and license information. Other Useful Information ------------------------ dtrx 6.0 is copyright (c) 2006, 2007, 2008 `Brett Smith`_. Feel free to send comments, bug reports, patches, and so on. You can find the latest version of dtrx on `its home page`_. .. _`Brett Smith`: mailto:brettcsmith@brettcsmith.org .. _`its home page`: http://www.brettcsmith.org/2007/dtrx/ dtrx 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 3 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, see <http://www.gnu.org/licenses/>.