Sat, 26 Jul 2008 12:55:37 -0400
Release 6.2
63 | 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" |
2 | "http://www.w3.org/TR/html4/strict.dtd"> | |
3 | ||
4 | <html><head><title>dtrx: Intelligent archive extraction</title> | |
5 | <link rel="stylesheet" href="common.css"> | |
89 | 6 | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
63 | 7 | </head> |
8 | <body> | |
9 | <h1>dtrx: Intelligent archive extraction</h1> | |
10 | ||
11 | <h2>Introduction</h2> | |
12 | ||
13 | <p><span class="pname">dtrx</span> stands for “Do The Right | |
14 | Extraction.” It's a tool for Unix-like systems that takes all the | |
15 | hassle out of extracting archives. Here's an example of how you use | |
16 | it:</p> | |
17 | ||
18 | <pre>$ dtrx linux-2.6.10.tar.bz2</pre> | |
19 | ||
20 | <p>That's basically the same thing as:</p> | |
21 | ||
22 | <pre>$ tar -jxf linux-2.6.10.tar.bz2</pre> | |
23 | ||
24 | <p>But there's more to it than that. You know those really annoying files | |
25 | that don't put everything in a dedicated directory, and have the | |
26 | permissions all wrong?</p> | |
27 | ||
28 | <pre>$ tar -zvxf random-tarball.tar.gz | |
29 | foo | |
30 | bar | |
31 | data/ | |
32 | data/text | |
33 | $ cd data/ | |
34 | cd: permission denied: data</pre> | |
35 | ||
36 | <p><span class="pname">dtrx</span> takes care of all those problems for | |
37 | you, too:</p> | |
38 | ||
39 | <pre>$ dtrx random-tarball.tar.gz | |
40 | $ cd random-tarball/data | |
41 | $ cat text | |
42 | This all works properly.</pre> | |
43 | ||
44 | <p><span class="pname">dtrx</span> is simple and powerful. Just use the | |
45 | same command for all your archive files, and they'll never frustrate you | |
46 | again.</p> | |
47 | ||
48 | <h2>Features</h2> | |
49 | ||
50 | <ul> | |
51 | ||
52 | <li><strong>Handles many archive types</strong>: You only need to remember | |
53 | one simple command to extract | |
54 | ||
55 | <span class="pname">tar</span>, | |
56 | <span class="pname">zip</span>, | |
57 | <span class="pname">cpio</span>, | |
58 | <span class="pname">deb</span>, | |
59 | <span class="pname">rpm</span>, | |
60 | <span class="pname">gem</span>, | |
61 | <span class="pname">7z</span>, | |
62 | <span class="pname">cab</span>, | |
63 | <span class="pname">gz</span>, | |
75
856de7e8f494
Update for 6.1, plus some tweaks here and there.
Brett Smith <brettcsmith@brettcsmith.org>
parents:
64
diff
changeset
|
64 | <span class="pname">bz2</span>, |
856de7e8f494
Update for 6.1, plus some tweaks here and there.
Brett Smith <brettcsmith@brettcsmith.org>
parents:
64
diff
changeset
|
65 | <span class="pname">lzma</span>, and many kinds of |
856de7e8f494
Update for 6.1, plus some tweaks here and there.
Brett Smith <brettcsmith@brettcsmith.org>
parents:
64
diff
changeset
|
66 | <span class="pname">exe</span> files, including Microsoft Cabinet archives, |
856de7e8f494
Update for 6.1, plus some tweaks here and there.
Brett Smith <brettcsmith@brettcsmith.org>
parents:
64
diff
changeset
|
67 | InstallShield archives, and self-extracting <span class="pname">zip</span> |
856de7e8f494
Update for 6.1, plus some tweaks here and there.
Brett Smith <brettcsmith@brettcsmith.org>
parents:
64
diff
changeset
|
68 | files. |
63 | 69 | |
70 | If they have any extra compression, like <span | |
71 | class="pname">tar.bz2</span>, <span class="pname">dtrx</span> will take | |
72 | care of that for you, too.</li> | |
73 | ||
74 | <li><strong>Keeps everything organized</strong>: <span | |
75 | class="pname">dtrx</span> will make sure that archives are extracted into | |
76 | their own dedicated directories.</li> | |
77 | ||
78 | <li><strong>Sane permissions</strong>: <span class="pname">dtrx</span> makes | |
79 | sure you can read and write all the files you just extracted, while leaving | |
80 | the rest of the permissions intact.</li> | |
81 | ||
82 | <li><strong>Recursive extraction</strong>: <span class="pname">dtrx</span> can | |
83 | find archives inside the archive and extract those too.</li> | |
84 | ||
85 | </ul> | |
86 | ||
87 | <h2>Download</h2> | |
88 | ||
89 | 89 | <p><a href="dtrx-6.2.tar.gz">Download <span class="pname">dtrx</span> |
90 | 6.2</a>. The SHA1 checksum for this file | |
91 | is <tt>7f2c633c97e79083c08cb63f3c155395f8f88646</tt>. New features in this | |
63 | 92 | release include:</p> |
93 | ||
94 | <ul> | |
95 | ||
89 | 96 | <li>A new <tt>--one-entry</tt> option: Normally, if an archive only |
97 | contains one file or directory with a name that doesn't match the | |
98 | archive's, dtrx will ask you how to handle it. With this option, you can | |
99 | specify ahead of time what should happen.</li> | |
100 | <li>Since version 6.0, when you extracted or listed the contents of a cpio | |
101 | archive, dtrx would display a warning that simply said "1234 | |
102 | blocks." dtrx 6.2 suppresses this message.</li> | |
103 | <li>When you try to list the contents of an archive, dtrx will now cope | |
104 | with misnamed files more gracefully, giving more accurate results and | |
105 | showing fewer error messages.</li> | |
106 | <li>dtrx 6.2 will only show you error messages from archive extraction if | |
107 | it is completely unable to extract the file. If one of its extraction | |
108 | methods succeeds, it will no longer show you the error messages from | |
109 | previous extraction attempts.</li> | |
110 | <li>dtrx is now better about cleaning up partially extracted archives when | |
111 | it encounters an error or signal.</li> | |
112 | <li>Users will no longer see error messages about broken pipes from | |
113 | dtrx.</li> | |
63 | 114 | |
115 | </ul> | |
116 | ||
64
d7b46cae939b
Add notes about the hg repo.
Brett Smith <brett@brettcsmith.org>
parents:
63
diff
changeset
|
117 | <p>If you would like to try the latest development version—or maybe do some |
75
856de7e8f494
Update for 6.1, plus some tweaks here and there.
Brett Smith <brettcsmith@brettcsmith.org>
parents:
64
diff
changeset
|
118 | work on it yourself—you can check out the |
856de7e8f494
Update for 6.1, plus some tweaks here and there.
Brett Smith <brettcsmith@brettcsmith.org>
parents:
64
diff
changeset
|
119 | project's <a href="http://www.selenic.com/mercurial/wiki/">Mercurial</a> |
856de7e8f494
Update for 6.1, plus some tweaks here and there.
Brett Smith <brettcsmith@brettcsmith.org>
parents:
64
diff
changeset
|
120 | repository. A |
64
d7b46cae939b
Add notes about the hg repo.
Brett Smith <brett@brettcsmith.org>
parents:
63
diff
changeset
|
121 | <a href="http://www.brettcsmith.org/2007/dtrx/dtrx/">web repository</a> is |
d7b46cae939b
Add notes about the hg repo.
Brett Smith <brett@brettcsmith.org>
parents:
63
diff
changeset
|
122 | available, or you can just run:</p> |
d7b46cae939b
Add notes about the hg repo.
Brett Smith <brett@brettcsmith.org>
parents:
63
diff
changeset
|
123 | |
d7b46cae939b
Add notes about the hg repo.
Brett Smith <brett@brettcsmith.org>
parents:
63
diff
changeset
|
124 | <pre>$ hg clone http://www.brettcsmith.org/2007/dtrx/dtrx</pre> |
d7b46cae939b
Add notes about the hg repo.
Brett Smith <brett@brettcsmith.org>
parents:
63
diff
changeset
|
125 | |
63 | 126 | <h2>Requirements</h2> |
127 | ||
128 | <p>If you have Python 2.4 or greater, this should work out of the box. If | |
75
856de7e8f494
Update for 6.1, plus some tweaks here and there.
Brett Smith <brettcsmith@brettcsmith.org>
parents:
64
diff
changeset
|
129 | you're stuck on Python 2.3, you can use this if you install |
856de7e8f494
Update for 6.1, plus some tweaks here and there.
Brett Smith <brettcsmith@brettcsmith.org>
parents:
64
diff
changeset
|
130 | the <a href="http://www.lysator.liu.se/~astrand/popen5/">subprocess |
856de7e8f494
Update for 6.1, plus some tweaks here and there.
Brett Smith <brettcsmith@brettcsmith.org>
parents:
64
diff
changeset
|
131 | module</a>. You'll need the usual tools for the archive types you want to |
856de7e8f494
Update for 6.1, plus some tweaks here and there.
Brett Smith <brettcsmith@brettcsmith.org>
parents:
64
diff
changeset
|
132 | extract: for example, if you're extracting <span class="pname">zip</span> |
856de7e8f494
Update for 6.1, plus some tweaks here and there.
Brett Smith <brettcsmith@brettcsmith.org>
parents:
64
diff
changeset
|
133 | files, you'll need <span class="pname">zipinfo</span> |
856de7e8f494
Update for 6.1, plus some tweaks here and there.
Brett Smith <brettcsmith@brettcsmith.org>
parents:
64
diff
changeset
|
134 | and <span class="pname">unzip</span>. See the INSTALL file included |
856de7e8f494
Update for 6.1, plus some tweaks here and there.
Brett Smith <brettcsmith@brettcsmith.org>
parents:
64
diff
changeset
|
135 | with <span class="pname">dtrx</span> for a complete list of necessary |
856de7e8f494
Update for 6.1, plus some tweaks here and there.
Brett Smith <brettcsmith@brettcsmith.org>
parents:
64
diff
changeset
|
136 | utilities.</p> |
63 | 137 | |
138 | <h2>Installation</h2> | |
139 | ||
140 | <p>You can just put <span class="pname">scripts/dtrx</span> wherever is | |
141 | convenient for you, but if you want to install the program system-wide, you | |
142 | can also run the following command as root or equivalent:</p> | |
143 | ||
144 | <pre>python setup.py install</pre> | |
145 | ||
146 | <p>See the included <tt>INSTALL</tt> file for more information.</p> | |
147 | ||
148 | </body> | |
149 | </html> |