Zoeken op website

Dtrx - Een intelligente archiefextractie (tar, zip, cpio, rpm, deb, rar) tool voor Linux


We kunnen allemaal wel eens met een situatie te maken hebben gehad toen we de Linux tar.gz, tar.bz2, tbz commando's gebruikten . Zoveel archieftypen, zoveel commando's om te onthouden... Nou ja, niet meer, dankzij de dtrx tool.

  1. 18 Tar-opdrachten voor het maken en extraheren van archieven in Linux
  2. RAR-bestanden openen, extraheren en maken in Linux

Wat is Dtrx?

Dtrx staat voor “Do The Right Extraction“, het is een open source en zeer effectieve opdrachtregeltoepassing voor *nix-systemen die het uitpakken van archieven eenvoudiger maakt.

De opdracht dtrx is een vervanging van de opdrachten “tar -zxvf” of “tar -xjf” en biedt één enkele opdracht om archieven uit te pakken in een aantal verschillende formaten, waaronder tar, zip, rpm, deb, gem >, 7z, cpio, rar en nog veel meer. Het kan ook worden gebruikt om bestanden te decomprimeren die zijn gecomprimeerd met bzip2, gzip enz.

Standaard extraheert dtrx inhoud naar een speciale map en worden ook toestemmingsproblemen opgelost (zoals toestemming geweigerd) waarmee de gebruiker te maken krijgt tijdens het extraheren van inhoud om ervoor te zorgen dat de eigenaar alles kan lezen en schrijven die bestanden.

Dtrx-functies

  1. Verwerkt vele archieftypen: het biedt slechts één eenvoudige opdracht om tar, zip, rar, gz, bz2, xz, rpm, deb, gem, zelfuitpakkende zip-bestanden en vele andere formaten van exe-bestanden uit te pakken .
  2. Houdt alles georganiseerd: het zal archieven uitpakken in hun eigen speciale mappen.
  3. Gezonde rechten: het zorgt er ook voor dat de gebruiker al die bestanden kan lezen en schrijven na extractie, waarbij de toestemming intact blijft.
  4. Recursieve extractie: Het kan archieven in het archief vinden en deze ook uitpakken.

Hoe Dtrx op Linux te installeren

De dtrx-tool is standaard opgenomen in Ubuntu-opslagplaatsen. Het enige dat u hoeft te doen is eenvoudig een apt-get uitvoeren om op uw systeem te installeren.

Op Debian/Ubuntu/Linux Mint

sudo apt-get install dtrx

Op RHEL/CentOS/Fedora

Op op Red Hat gebaseerde systemen is dtrx niet beschikbaar via standaardrepository's. U moet een dtrx-script downloaden en het programma systeembreed installeren met behulp van onderstaande opdrachten als root-gebruiker.

wget http://brettcsmith.org/2007/dtrx/dtrx-7.1.tar.gz
tar -xvf dtrx-7.1.tar.gz 
cd dtrx-7.1
python setup.py install --prefix=/usr/local
Voorbeelduitvoer
running install
running build
running build_scripts
creating build
creating build/scripts-2.6
copying and adjusting scripts/dtrx -> build/scripts-2.6
changing mode of build/scripts-2.6/dtrx from 644 to 755
running install_scripts
copying build/scripts-2.6/dtrx -> /usr/local/bin
changing mode of /usr/local/bin/dtrx to 755
running install_egg_info
Creating /usr/local/lib/python2.6/site-packages/
Writing /usr/local/lib/python2.6/site-packages/dtrx-7.1-py2.6.egg-info

Hoe de dtrx-opdracht te gebruiken

Het dtrx-commando lijkt een beetje op de enige ring die ze allemaal regeert in Lord of The Rings. In plaats van dat u de syntaxis voor elk archief hoeft te onthouden, hoeft u alleen maar de opdracht dtrx te onthouden.

1. Eén archief extraheren

Ik wil bijvoorbeeld een archiefbestand uitpakken met de naam “tecmint27-12-2013.gz“, ik voer alleen de opdracht dtrx uit zonder vlaggen te gebruiken.

[root@tecmint]# dtrx tecmint27-12-2013.gz

Naast het vereenvoudigen van de extractie, heeft het nog een aantal andere opties, zoals het uitpakken van het bestand naar een map en het recursief extraheren van alle andere archieven binnen een bepaald archief.

2. Meerdere archieven extraheren

Stel dat u een bestand “dtrAll.zip“ heeft, bestaande uit dtr1.zip, dtr2.zip en dtr3.zip< elk bestaande uit respectievelijk dtr1,dtr2 en dtr3. In plaats van dat u eerst handmatig de dtrAll zip moet uitpakken en vervolgens elk van de dtr1, dtr2 en dtr3 moet uitpakken je kunt het direct uitpakken in de respectievelijke mappen door dtrx te gebruiken en door de optie “a“ te selecteren, worden alle zip-bestanden recursief uitgepakt.

[root@tecmint]# dtrx dtrAll.zip
Voorbeelduitvoer
dtrx: WARNING: extracting /root/dtrAll.zip to dtrAll.1
dtrAll.zip contains 3 other archive file(s), out of 3 file(s) total.
You can:
 * _A_lways extract included archives during this session
 * extract included archives this _O_nce
 * choose _N_ot to extract included archives this once
 * ne_V_er extract included archives during this session
 * _L_ist included archives
What do you want to do?  (a/o/N/v/l) a

Na het uitpakken kan de inhoud van de uitgepakte map worden geverifieerd met behulp van de opdracht ls.

[root@tecmint]# cd dtrAll
[root@tecmint]# ls 

dtr1  dtr1.zip  dtr2  dtr2.zip  dtr3  dtr3.zip

3. Specifiek archief extraheren

Stel dat u het eerste archief wilt uitpakken en niet de archieven erin. Door N te selecteren, wordt alleen het opgegeven archief uitgepakt en geen andere archieven daarin.

[root@tecmint]# dtrx dtrAll.zip
Voorbeelduitvoer
dtrx: WARNING: extracting /root/dtrAll.zip to dtrAll.1
dtrAll.zip contains 3 other archive file(s), out of 3 file(s) total.
You can:
 * _A_lways extract included archives during this session
 * extract included archives this _O_nce
 * choose _N_ot to extract included archives this once
 * ne_V_er extract included archives during this session
 * _L_ist included archives
What do you want to do?  (a/o/N/v/l) N

De inhoud van de uitgepakte map kan worden geverifieerd met de opdracht ls, zoals weergegeven.

[root@tecmint]# cd dtrAll
[root@tecmint]# ls

dtr1.zip dtr2.zip dtr3.zip

4. Pak elke archieflaag uit

Om elke archieflaag binnen het archief van geval tot geval te extraheren, d.w.z. als u de tweede laag met archieven wilt extraheren, maar niet de derde laag, kunt u de optie “o” gebruiken.

Stel dat u een zipbestand “dtrNewAll.zip“ heeft, met als inhoud “dtrAll.zip” en “dtrNew”. Als u nu de inhoud van “dtrNewAll” en “dtrAll” ook wilt extraheren, maar niet van dtr1.zip, dtr2 .zip en dtr3.zip, kunt u de opties “o” en “n” gebruiken, zoals hieronder weergegeven.

dtrx dtrNewAll.zip
Voorbeelduitvoer
dtrNewAll.zip contains 1 other archive file(s), out of 2 file(s) total.
You can:
 * _A_lways extract included archives during this session
 * extract included archives this _O_nce
 * choose _N_ot to extract included archives this once
 * ne_V_er extract included archives during this session
 * _L_ist included archives
What do you want to do?  (a/o/N/v/l) o
dtrAll.zip contains 3 other archive file(s), out of 3 file(s) total.
You can:
 * _A_lways extract included archives during this session
 * extract included archives this _O_nce
 * choose _N_ot to extract included archives this once
 * ne_V_er extract included archives during this session
 * _L_ist included archives
What do you want to do?  (a/o/N/v/l) n

De inhoud van de uitgepakte map kan worden geverifieerd met de opdracht ls, zoals weergegeven.

[root@tecmint]# cd dtrNewAll
[root@tecmint]# ls

dtrAll  dtrAll.zip  dtrNew
[root@tecmint]# cd dtrAll
[root@tecmint]# ls

dtr1.zip dtr2.zip dtr3.zip

We selecteren eerst de optie “o”, wat betekent dat alle archieven binnen dtrNewAll worden uitgepakt. Later selecteren we de optie “n” voor dtrAll.zip, wat betekent dat de archieven erin dtr1.zip, dtr2.zip en dtr3.zip worden niet uitgepakt.

5. Extraheer metadata uit .deb-, .rpm- en .gem-bestanden

De optie “-m” extraheert de metadata uit de archieven .deb, .rpm en .gem, in plaats van hun normale inhoud. Hier is een voorbeeld van de opdracht.

[root@tecmint]# dtrx -m openfire_3.8.2_all.deb 
[root@tecmint]# dtrx -m openfire-3.8.2-1.i386.rpm
[root@tecmint]# ls

conffiles  control  md5sums  postinst  postrm  prerm

Er zijn nog veel meer dtrx-opties om te verkennen. Voer gewoon “dtrx –help” uit om de beschikbare opties weer te geven.

[root@tecmint]# dtrx  --help

Usage: dtrx [options] archive [archive2 ...]

Intelligent archive extractor

Options:
  --version             	show program's version number and exit
  -h, --help            	show this help message and exit
  -l, -t, --list, --table      	list contents of archives on standard output
  -m, --metadata        	extract metadata from a .deb/.gem
  -r, --recursive       	extract archives contained in the ones listed
  -n, --noninteractive  	don't ask how to handle special cases
  -o, --overwrite       	overwrite any existing target output
  -f, --flat, --no-directory    extract everything to the current directory
  -v, --verbose         	be verbose/print debugging information
  -q, --quiet           	suppress warning/error messages

Referentiekoppelingen

dtrx-startpagina

Ik denk dat je dtrx eens moet proberen, omdat het het enige krachtige opdrachtregelprogramma is dat één enkele opdracht geeft om elk formaat archiefbestanden te decomprimeren. Dat is het voor nu, en vergeet niet om uw opmerking achter te laten in het commentaargedeelte.