Hlavní navigace

Tip: DTRX aneb Do The Right Extraction

7. 8. 2013 13:37 | Petr Krčmář

Určitě vás už někdy naštval autor komprimovaného archivu tím, že dovnitř nedal adresář. Kdo má čistit ten nepořádek na disku? DTRX je jednoduché řešení.

Na letošním CryptoFestu jsem se potkal s Jendou Hrachem. Jako obvykle jsme si povídali o všem možném a on se během oběda zmínil o utilitě s krkolomným názvem DTRX. Jde o zkratku slov „Do The Right Extraction“ neboli „rozbal to správně“.

Jde o univerzální rozbalovač archivů, který:

  1. zjistí, čím je archiv zabalený
  2. podívá se, jestli je uvnitř jeden společný adresář
    • pokud ne, na disku ho vytvoří
  3. rozbalí archiv do jednoho společného adresáře
  4. vyřeší práva na rozbalené adresáře a soubory

DTRX podporuje haldu různých kompresních formátů jako tar, zip, cpio, deb, rpm, gem, 7z, cab, lzh, rar, gz, bz2, lzma, xz, různé exe, samorozbalovací zipy, ale i různě do sebe vnořované archivy a podivné vymyšlenosti.

Naprosto skvělá je kontrola jednoho společného adresáře. Určitě to znáte: když v podadresáři src rozbalíte nové zdrojáky a ony se vám tam rozsypou, protože nemají jeden společný adresář. Pokud se toho naopak bojíte a ten podadresář vytváříte ručně, často zůstanete vnoření zbytečně dvakrát. Je to otrava! DTRX to odhalí předem a pokud je to třeba, založí adresář sám. Takže pokud rozbalujete soubor foo-1.2.tar.gz, automaticky se vám pro něj vytvoří podadresář  foo-1.2.

Podobné problémy nastávají u práv, protože některé (unixové) archivační nástroje (třeba tar) umí zachovávat při archivaci i práva z původního souborového systému. Na jiném počítači pak skončíte po rozbalení s tím, že nemůžete vstoupit do vybalených adresářů a musíte si měnit práva na něco slušného ručně. DTRX to zkontroluje a udělá za vás tak, abyste mohli do adresářů a měli právo číst a psát do souborů.

A teď to nejlepší: je to v distribucích. V Debianu tedy stačilo zavolat aptitude install dtrx a bylo. Od CryptoFestu už nepoužívám k rozbalování archivů nic jiného.