Linux:Nástroje pro archivaci: Porovnání verzí

Smazaný obsah Přidaný obsah
Woodcraft (diskuse | příspěvky)
Woodcraft (diskuse | příspěvky)
Řádek 133:
 
Archivační nástroj '''tar''' byl původně navržen jako obslužný program pro archivaci velkého množství souborů a celách adresářů na magnetickou pásku. Z toho byl také odvozen jeho název ('''T'''ape '''AR'''chiver).
 
První stabilní verze archivační utility '''tar''' 1.0 se objevila v červnu 1989.
* Od verze 1.11.2 ( 26. března 1993 ) začal tar používat místo kompresní utility místo '''compress''' '''gzip'''
* Od verze 1.13.18 ( 29. října 2000 ) podporuje '''bzip2''' kompresi přes parametr ''-j''
* Od verze 1.20 ( 14. dubna 2008 ) podporuje '''lzma''' kompresi přes parametr ''--lzma''
* Od verze 1.22 ( 5. března 2009 ) podporuje vícevláknovou '''xz''' kompresi přes parametr ''-J'' který má stejný efekt jako ''--xz''
 
===Popis formátu===
 
Tar je schopen sloučit do jednoho velkého souboru několik souborů i včetně adresářové struktury a přístupových práv. Tento archivní soubor má velikost jako součet velikostí souborů v něm obsažených, plus režie (názvy souborů apod.). Nejedná se o kompresní program jen spojuje více souborů do jednoho většího. Ke komprimaci výstupního archivu využívá externích [[ Linux:Kompresní utility | komprimačních utilit ]].
===Použití===
 
 
==Syntaxe==
 
tar '''volby''' ['''modifikátory'''] ['''seznam-souborů''']
 
==Volby==
V příkazovém řádku lze použít jednu z následujících voleb, která specifikují typ operace. Každou operaci lze modifikovat pomocí tzv. ''modifikátorů.''
 
;--append (-r): Po zadání volby '''-r''' se soubory uvedené v seznamu '''seznam-souborů''' zařadí na konec archivního souboru. Původní soubory zůstanou nedotčeny, proto hrozí, že v archívu bude uloženo několik duplicitních kopií jednoho souboru. Při obnově se jako aktuální extrahuje poslední kopie.
 
;--create (-c): Po uvedení volby '''-c''' se soubory uvedené v seznamu uloží do nového archivního souboru. Pokud soubor již soubor se stejným názvem existuje, bude nejdříve zrušen. Pokud argument '''seznam-souborů''' jméno adresáře, '''tar''' provede rekurzivní kopírování všech souborů, včetně podadresářů, z tohoto adresáře.
 
;--extract nebo --get (-x): Po zadání této volby program provede extrakci všech souborů z archívu. Každý existující soubor se stejným jménem bude přepsán. Pokud se neuvede argument '''seznam-souborů''', budou budou extrahovány všechny soubory z archívu. Jestliže argument '''seznam-souborů''' obsahuje jméno adresáře, provede '''tar''' extrakci všech souborů z tohoto adresáře včetně jeho podaresářů. '''Tar''' se snaží zachovávat všechny atributy souborů. Když '''tar''' přečte tentýž soubor vícekrát, pak novější verze vždy přepíše starší.
 
;--list (-t): Jestliže není zadán seznam souborů '''seznam-souborů''', zobrazí '''tar''' seznam všech souborů uložených v archívu. Když je '''seznam-souborů''' zadán, zobrazí se seznam jmen souborů z tohoto seznamu, které jsou uloženy v archívu. S touto volbou se pojí ještě volba '''--verbose'''. Při jejím užití program zobrazí podrobné informace o každém souboru v archívu.
 
;--update (-u): Do archivního souboru se po užití této volby přidají soubory uvedené v seznamu '''seznam-souborů''', pokud se v archívu již nenacházejí nebo pokud jsou novější. Protože se v tomto módu musejí dělat četné kontroly, běží program poněkud pomaleji.
 
;--help: Po zadání volby '''--help''' se zobrazí návod , jak '''tar''' používat. Dále se zobrazí seznam voleb a modifikátorů spolu s jejich popisem.
 
Pozn.: Nejedná se zdaleka o všechny volby. Popis se zabývá jen těmi nejčastěji používanými.
 
==Modifikátory==
Za každou volbou je možné specifikovat jeden nebo více '''modifikátorů'''. Jestliže je použit jednoznakový zástupce pro modifikátor, není třeba před něj psát pomlčku. Přesto je doporučeno pomlčky používat.
 
Jestliže má za modifikátorem následovat argument, pak musí být modifikátor uveden ve skupině na konci. V následujícím příkladu jsou argumenty uspořádány správně:
 
$ tar -cb 10 -f /dev/ftape
 
Další příklad správný není a způsobí chybové hlášení:
 
$ tar -cbf 10 /dev/ftape
tar: invalid value for blocksize
 
Tato chybová hláška se objeví proto, že modifikátor '''-b''' akceptuje argument, ale není uveden jako poslední ve skupině. V tom se liší starší verze programu používaných v [[Operační systém|operačních systémech]] [[Unix]], kde byla takováto syntaxe povolena.
 
;--absolute-path (-P): Program jako implicitní uvažuje relativní nastavení cest. Tato volba zajistí, že se všechny cesty budou považovat za absolutní.
 
;--block-size [''n''] (-b): Po zadání této volby se při běhu programu zapisují bloky o velikosti '''''n'''''. Číslo '''''n''''' označuje počet bloků o velikosti 512 bajtů. Jestliže není specifikováno, bude použita implicitní hodnota 20.
 
;--compress nebo --uncompress (-Z): Při yvtváření archívu se použije komprimace a při obnově se použije dekomprimace.
 
;--directory directory (-C): Před zpracováním archívu se změní pracovní adresář podle hodnoty argumentu '''''directory'''''.
 
;--gzip nebo --gunzip (-z): Po zadání této volby se bude archív během svého vytváření komprimovat a při obsluze dekomprimovat. Při dekomprimaci '''tar''' určí, zda byl archív komprimován obslužným programem '''compress'''. Pokud ano, bude k dekomprimaci použit program '''uncompress''' a ne [[gzip|'''gunzip''']].
 
;--verbose (-v): Jestliže bude tato volba zadána, bude zobrazeno jméno každého zpracovávaného souboru. Společně s volbou '''-t''' bude zobrazovat další informace, jako je vlastník souboru, práva, velikost ap.
 
''Pozn.: Opět se nejedná o všechny možné modifikátory. Viz:'' <tt>$ tar --help</tt>
 
==Zajímavosti==
V [[Operační systém|operačním systému]] [[Linux]] se používá verze programu vyvinutá v rámci projektu [[GNU]] a obsahuje spoustu voleb a modifikátorů. Kompletní seznam je obsažen v manuálových stránkách nebo v dokumentaci k programu '''tar'''.
 
Při vytváření archivního souboru je možné použít nejednoznačná jména souborů, ale nikoliv při čtení archívu. Pokud bude při archivaci zadáno jméno souboru prostřednictvím relativního jména, bude v archívu uložen s tímto relativním jménem, počínaje od pracovního adresáře. Při použití volby '''-P''' budou v archívu zaznamenávat absolutní cesty.
 
==pax==