Archivační program

Archivační program je počítačový program, který kombinuje několik souborů do jednoho archivního souboru (případně rozděleného na několik částí) pro snazší manipulaci. Archivační programy mohou používat bezeztrátovou kompresi pro zmenšení velikosti archivu.

Nejjednodušší archivační programy pouze vezmou seznam souborů a zřetězí jejich obsahy do archívu. Archivní soubory však musí také obsahovat metadata, přinejmenším jména a délky původních souborů. Pokročilejší archivační programy ukládají další atributy souborů jako například datum a čas vytvoření a/nebo poslední změny souboru, oprávnění případně ACL informace.

Proces vytvoření archivního souboru nazýváme archivací nebo zabalením, získání původních souborů z archivu rozbalením nebo extrakcí.

Historie

editovat

K nejstarším archivačním programům patří příkaz archive v operačních systémech CTSS a Multics, který neprováděl komprimaci. Multics obsahoval také příkaz „tape_archiver“, zkráceně ta k archivaci na magnetickou pásku, který lze považovat ze předchůdce unixového příkazu tar.[1]

Unixové archivační programy

editovat

Unixové nástroje ar, tar a cpio fungují jako archivační programy, ale neprovádějí kompresi. Pro kompresi lze vybrat z programů compress, gzip, bzip2 nebo xz. V obou krocích se ke jménu souboru obvykle přidává přípona, takže například po archivaci sady souborů příkazem tar a následné kompresi archivního souboru programem gzip bude mít výsledný soubor jméno zakončené .tar.gz.

Tento přístup má své výhody:

  1. Odpovídá filosofii Unixu, podle které má každý program provádět jen jednu činnost, na rozdíl od filosofie usilující dosáhnout všeho jedním nástrojem. Jak se komprimační technologie vyvíjejí, mohou uživatelé používat různé komprimační programy, bez toho, že by museli měnit archivační program.
  2. Při archivaci mnoha malých souborů s podobným obsahem, může archivační program dosáhnout lepšího kompresního poměru, než když komprimují každý soubor jednotlivě.

i nevýhody:

  1. Je obtížné rozbalit nebo aktualizovat obsah jednoho souboru. Rozbalení jednoho souboru může vyžadovat rozbalení celého archivu, což může být časově a prostorově náročné. Úprava jednoho znamená, že soubor se musí vrátit do archivu a provést opětovná komprese celého archivu.
  2. Při poškození archivního souboru může způsobit, že nebude možné rozbalit žádný soubor.
  3. Snížení redundance mezi soubory nelze využít, pokud komprimační okno je menší než velikost jednotlivých souborů. Gzip používá algoritmus DEFLATE, který má okno o velikosti 32768 bytů, zatímco bzip2 používá Burrowsovu-Wheelerovu transformaci, která používá okno přibližně 27krát větší. Xz má implicitně okno o velikosti 8 MiB, ale podporuje i mnohem větší okna.

Archivační programy pro Windows

editovat

Archivační program vestavěný v Microsoft Windows i archivační software třetích stran, jako například WinRAR a 7-zip, obvykle používají grafické uživatelské rozhraní. Často poskytují i rozhraní příkazového řádku. Archivační programy pro Windows provádějí archivaci i komprimaci. WinRAR a 7-zip umožňují volitelně komprimovat společně více souborů.

Reference

editovat

V tomto článku byl použit překlad textu z článku File archiver na anglické Wikipedii.

  1. VAN VLECK, Tom. Multics Glossary [online]. [cit. 2016-01-06]. Dostupné online. 

Externí odkazy

editovat