Sat, 26 Jul 2008 12:55:37 -0400
Release 6.2
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html><head><title>dtrx: Intelligent archive extraction</title> <link rel="stylesheet" href="common.css"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <h1>dtrx: Intelligent archive extraction</h1> <h2>Introduction</h2> <p><span class="pname">dtrx</span> stands for “Do The Right Extraction.” It's a tool for Unix-like systems that takes all the hassle out of extracting archives. Here's an example of how you use it:</p> <pre>$ dtrx linux-2.6.10.tar.bz2</pre> <p>That's basically the same thing as:</p> <pre>$ tar -jxf linux-2.6.10.tar.bz2</pre> <p>But there's more to it than that. You know those really annoying files that don't put everything in a dedicated directory, and have the permissions all wrong?</p> <pre>$ tar -zvxf random-tarball.tar.gz foo bar data/ data/text $ cd data/ cd: permission denied: data</pre> <p><span class="pname">dtrx</span> takes care of all those problems for you, too:</p> <pre>$ dtrx random-tarball.tar.gz $ cd random-tarball/data $ cat text This all works properly.</pre> <p><span class="pname">dtrx</span> is simple and powerful. Just use the same command for all your archive files, and they'll never frustrate you again.</p> <h2>Features</h2> <ul> <li><strong>Handles many archive types</strong>: You only need to remember one simple command to extract <span class="pname">tar</span>, <span class="pname">zip</span>, <span class="pname">cpio</span>, <span class="pname">deb</span>, <span class="pname">rpm</span>, <span class="pname">gem</span>, <span class="pname">7z</span>, <span class="pname">cab</span>, <span class="pname">gz</span>, <span class="pname">bz2</span>, <span class="pname">lzma</span>, and many kinds of <span class="pname">exe</span> files, including Microsoft Cabinet archives, InstallShield archives, and self-extracting <span class="pname">zip</span> files. If they have any extra compression, like <span class="pname">tar.bz2</span>, <span class="pname">dtrx</span> will take care of that for you, too.</li> <li><strong>Keeps everything organized</strong>: <span class="pname">dtrx</span> will make sure that archives are extracted into their own dedicated directories.</li> <li><strong>Sane permissions</strong>: <span class="pname">dtrx</span> makes sure you can read and write all the files you just extracted, while leaving the rest of the permissions intact.</li> <li><strong>Recursive extraction</strong>: <span class="pname">dtrx</span> can find archives inside the archive and extract those too.</li> </ul> <h2>Download</h2> <p><a href="dtrx-6.2.tar.gz">Download <span class="pname">dtrx</span> 6.2</a>. The SHA1 checksum for this file is <tt>7f2c633c97e79083c08cb63f3c155395f8f88646</tt>. New features in this release include:</p> <ul> <li>A new <tt>--one-entry</tt> option: Normally, if an archive only contains one file or directory with a name that doesn't match the archive's, dtrx will ask you how to handle it. With this option, you can specify ahead of time what should happen.</li> <li>Since version 6.0, when you extracted or listed the contents of a cpio archive, dtrx would display a warning that simply said "1234 blocks." dtrx 6.2 suppresses this message.</li> <li>When you try to list the contents of an archive, dtrx will now cope with misnamed files more gracefully, giving more accurate results and showing fewer error messages.</li> <li>dtrx 6.2 will only show you error messages from archive extraction if it is completely unable to extract the file. If one of its extraction methods succeeds, it will no longer show you the error messages from previous extraction attempts.</li> <li>dtrx is now better about cleaning up partially extracted archives when it encounters an error or signal.</li> <li>Users will no longer see error messages about broken pipes from dtrx.</li> </ul> <p>If you would like to try the latest development version—or maybe do some work on it yourself—you can check out the project's <a href="http://www.selenic.com/mercurial/wiki/">Mercurial</a> repository. A <a href="http://www.brettcsmith.org/2007/dtrx/dtrx/">web repository</a> is available, or you can just run:</p> <pre>$ hg clone http://www.brettcsmith.org/2007/dtrx/dtrx</pre> <h2>Requirements</h2> <p>If you have Python 2.4 or greater, this should work out of the box. If you're stuck on Python 2.3, you can use this if you install the <a href="http://www.lysator.liu.se/~astrand/popen5/">subprocess module</a>. You'll need the usual tools for the archive types you want to extract: for example, if you're extracting <span class="pname">zip</span> files, you'll need <span class="pname">zipinfo</span> and <span class="pname">unzip</span>. See the INSTALL file included with <span class="pname">dtrx</span> for a complete list of necessary utilities.</p> <h2>Installation</h2> <p>You can just put <span class="pname">scripts/dtrx</span> wherever is convenient for you, but if you want to install the program system-wide, you can also run the following command as root or equivalent:</p> <pre>python setup.py install</pre> <p>See the included <tt>INSTALL</tt> file for more information.</p> </body> </html>