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

m
bez shrnutí editace
mBez shrnutí editace
Linuxové archivační nástroje jsou založeny na principu spojování více souborů do jednoho. Liší se způsobem jak to dělají a také tím, jakým způsobem zachovávají metainformace o archivovaných souborech.
 
=Přehled nástrojů=
==ar==
 
Formát archívů vytvářených utilitou '''ar''' nebyl nikdy standardizován. Od historických unixových dob '''ar''' postupně vystřídal několik navzájem odlišných formátů. V současné době se používají dvě varianty - BSD a GNU
# Od verze BSD 4.4 se začala používat úprava, která problém dlouhých názvů a mezer vyřešila, ale souběžně vznikla GNU verze, kterou dnes používá GNU/Linux
 
===Popis formátu===
 
Archiv který byl vytvořen nástrojem '''ar''' začíná [[magickým řetězcem]] "!<arch>" následovaný znakem LF (Line Feed - zalomení řádku, neboli také "\n"). Zbytek archívu tvoří objekty. Každý objekt je složen z hlavičky souboru a jeho obsahu. Hlavička souboru obsahuje metainformace o souboru, které jsou v rámci unixu přenositelné (název souboru,nastavení práv, čas, velikost) a obsah souboru - je-li čitelný, je čitelný i když je v archívu.
; GNU ar : oproti BSD řešení do pole názvu vkládá znaky "//" které signalizují že název teprve bude následovat. Skutečný název souboru se pak na začátek datové části s obsahem souboru. A to tak, že datová část začne lomítkem, následovaným decimální hodnotou offsetu (posunu) začátku vlastního obsahu, vlastním názvem, který je opět ukončen lomítkem. Archívy které tvoří '''GNU ar''' také používají sekvenci lomítka následovaného mezerou ("/ ") která uvádí index, který ''' GNU ar''' používá pro rychlejší pohyb v rámci archívu.
 
===Použití===
 
Dnes se '''ar''' používá převážně jenom pro vytváření a aktualizaci statických knihoven, které používá [[linker]], jako tedy je součástí balíčku [[binutils]] výjimkou je systém instalačních balíčků [[DEB]]
Pro použití při práci s deb balíčky viz [[Instalační balíčky]]
 
==cpio==
 
http://rightsock.com/~kjw/Ramblings/tar_v_cpio.html
* cpio je také platformně závislé
 
===Popis formátu===
 
===Použití===
 
'''cpio''' zpracovává archív podle předaného seznamu souborů k archivaci, proto na rozdíl od archivačního programu '''tar''', kterému stačí jako parametr předat cestu k adresáři vyžaduje při tvorbě archívu spolupráci s utilitou [[Linux:find]], která mu předává [[Linux:roura|rourou]] seznam souborů ke zpracování. Na druhou stranu tím však získává mocný nástroj pro tvorbu sofistikovaných filtrů.
user@stroj:~$ find cesta -depth -print | cpio -pamVd /cilovy/adresar
 
====Použití cpio skrze [[Linux:ssh|ssh]]====
 
:'''Kopírování lokálního adresáře <code>./cesta</code> na vzdálený počítač <code>host</code>'''
user@stroj:~$ ssh user@host "cpio -imVd < archiv.cpio" | cpio -pamVd
 
====cpio a rpm====
 
''cpio'' se používá také u instalačního systému [[RPM]]. Od RPM verze 4 je součástí instalačního balíku '''rpm''' utilita [[Linux:rpm2cpio]] která vytvoří z proudu dat vytaženého z rpm balíčku cpio archív, se ketrým lze dále skrze rouru pracovat.
user@stroj:~$ rpm2cpio finger-0.17-9.i386.rpm | cpio -imVd ./usr/share/man/man1/finger.1.gz
 
==afio==
 
Uvedené nedostatky zálohovací utility '''cpio''' měla odstranit '''afio''', ovšem poslední vydaná verze je z 21. prosince 2003, tudíž je otázkou jak je to s jeho dalším vývojem. '''afio''' má také některá omezení z hlediska délky názvů souborů, aj. '''afio''' se od '''cpio''' liší mj. tím, že do archívů přidává navíc takzvané kontrolní soubory, díky kterým lze pak rozbalit i poškozený archiv.
 
===Popis formátu===
 
===Použití===
 
==tar==
 
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). V linuxu se používá verze programu vyvinutá v rámci projektu [[GNU]] která obsahuje spoustu nejrůznějších voleb a modifikátorů.
* 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 ]].
 
 
====Syntaxe==Použití==
 
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ů.''
 
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.
 
''Pozn.: Opět se nejedná o všechny možné modifikátory. Viz:'' <tt>$ tar --help</tt>
 
==pax==
 
===Popis formátu===
 
===Použití===
 
=Další zdroje=
 
[[Wikipedia:en:Archive formats]]
 
[[Kategorie:Linux|Nástroje pro archivaci]]
1 002

editací