CAB (souborový formát)

Z Wikipedie, otevřené encyklopedie
Jump to navigation Jump to search

CAB je v softwarových produktech firmy Microsoft nativně používaný kompresní algoritmus pro instalační balíčky a současně přípona souboru pro tímto algoritmem vzniklé archivy. Formát, jehož soubory Microsoft nenazývá archivy, nýbrž balíčky, je využíván na instalačních médiích jeho operačních systémů i aplikací. Zkratka pochází ze slova cabinet (česky mj. sbírka).

Algoritmus je optimalizován pro co nejúčinnější kompresi souborů obsahujících strojový kód (spustitelných souborů a samostatných knihoven), ale velmi dobrých výsledků dosahuje také v případě textových souborů; o poznání horší výstupy zaznamenává stran multimediálního obsahu. Přestože se jedná o proprietární technologii, metoda komprese a dekomprese není obchodním tajemstvím — byla zveřejněna.

Vlastnosti[editovat | editovat zdroj]

Z důvodu zachování zpětné kompatibility do již vytvořeného archivu nelze přidávat další soubory — pro změnu obsahu je nutné celý archiv vytvořit znovu. I proto — jelikož rozšiřování obsahu je typickou vlastností archivů — Microsoft tyto soubory jako archivy neoznačuje (jinou příčinou je přizpůsobení terminologii užívané konkurenčními operačními systémy a programy, konkrétně názvosloví linuxových distribucí[1]).

Balíček může být rozprostřen přes více souborů.[2]

Algoritmus nepodporuje šifrování.

Podpora[editovat | editovat zdroj]

Každá verze systému Windows ve své standardní výbavě disponuje prostředky, jimiž se lze k obsahu balíčků dostat — bez ohledu na to, zda tyto nástroje zpřístupňuje uživateli.[3] V novějších verzích ke komprimovaným souborům uživatel může přistoupit prostřednictvím výchozího správce souborů, kterým je shell Průzkumník — archivy lze otevírat jako složky. Alternativu představuje systémový nástroj msconfig.

Jako příklady programů třetích stran[4] pro práci s formátem .cab je možno jmenovat WinAce Archiver nebo Cab File Maker; obě tyto aplikace balíčky dokáží rozbalovat i produkovat.

Historie[editovat | editovat zdroj]

Algoritmus byl využíván již v systémech MS-DOS (předchůdce Microsoft Windows), ale jeho výstupy se neukládaly do souborů s příponou .cab. V prostředí MS-DOSu platilo, že v jednom archivu byl obsažen pouze jeden komprimovaný soubor, a jmenná konvence byla taková, že archiv (tehdy ne balíček) se jmenoval jako pojmutý soubor s tím, že místo třetího (posledního) znaku přípony měl znak podtržítka.

Archivy s jedním souborem a příponou končící podtržítkem se extrahovaly programem expand, jenž patřil do základní výbavy DOSu. Program se standardně volal se dvěma parametry: prvním byl název archivu, druhým jméno souboru, do něhož se měl zapsat výstup[5]. Utilita expand.exe byla pevnou součástí softwarového vybavení operačních systémů firmy Microsoft od MS-DOSu verze 5.0 do Windows Millenium Edition.

Jiné významy[editovat | editovat zdroj]

Přípona .cab je používána taktéž jinými vývojáři softwaru než společností Microsoft; obvyklé je to u tvůrců počítačových her. Proto se může stát, že se najde soubor s touto příponou, jejž nástrojem pro práci s formátem .cab firmy Microsoft nebude možné zpracovat, ačkoli tento soubor bude konzistentní.

Související články[editovat | editovat zdroj]

Reference[editovat | editovat zdroj]

  1. Ve srovnání s linuxovými instalačním balíčky v souborech .cab nejsou zahrnuty instalační instrukce — tyto obsahují pouze data pro instalaci.
  2. Smyslem je umožnit pohodlný přenos archivu i tehdy, když jeho velikost přesáhne kapacitu k tomuto účelu použitého média.
  3. Navzdory tomu, že CAB je dílo Microsoftu, oficiální archivační metoda v Microsoft Windows je ZIP, a to od Windows 98 Second Edition. Je však třeba uvést, že oficiální kompresní algoritmus by měl být přenositelný mezi platformami, a připomenout, že CAB je optimalizován pro kompresi strojového kódu, zatímco oficiálnímu kompresnímu algoritmu podléhají data všeho druhu.
  4. Programy třetích stran jsou programy, jež k práci s daným formátem dat nejsou schváleny jeho tvůrcem, resp. správcem.
  5. Vzhledem k počtu různých běžně užívaných přípon a tomu, že komprimovány byly zpravidla binární soubory s příponami .com, .dll a .exe, nebylo obtížné si znak chybějící v názvu souboru domyslet.