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

Přidáno 2 855 bajtů ,  před 15 lety
m
→‎cpio: příklady použití
m (→‎cpio: příklady použití)
 
===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 -oaV > archiv.cpio
s využitím přesměrování standardního výstupu. Se stejným efektem lze také použít parametr '''-O'''
user@stroj:~$ find ./cesta -depth -print | cpio -oaV -O archiv.cpio
 
Vytvářený archív lze dále předávat - opět [[Linux:roura|rourou]] - k dalšímu zpracování komprimační aplikaci a tím dosáhnout redukované velikosti vytvořeného archívu.
 
user@stroj:~$ find ./cesta -depth -print | cpio -oaV | gzip -c > archiv.cpio.gz
 
:'''Rozbalení cpio archívu'''
user@stroj:~$ cpio -imVd < archiv.cpio
user@stroj:~$ cpio -imVd -O archiv.cpio
:'''Výpis obsahu z cpio archívu'''
user@stroj:~$ cpio -it < archiv.cpio
user@stroj:~$ cpio -it -O archiv.cpio
:'''Využití archivační utility cpio ke zkopírování adresáře'''
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:~$ find ./cesta -depth -print | cpio -oaV | ssh user@host 'cpio -imVd'
 
:'''Obnovení zálohy ze vzdáleného počítače <code>host</code> na lokální <code>stroj</code>'''
 
user@stroj:~$ ssh user@host "find cesta -depth -print | cpio -oaV" | cpio -pamVd
 
Pro vytvoření archívu stačí přidat přesměrování do souboru <code>archiv.cpio</code>:
 
user@stroj:~$ find ./cesta -depth -print | cpio -oaV | ssh user@host 'cpio -oaV -O archiv.cpio'
 
a pro jeho obnovení z něj naopak číst:
 
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.
 
'''Výpis obsahu z rpm balíčku'''
 
user@stroj:~$ rpm2cpio finger -0.17-9.i386.rpm | cpio -it
./usr/bin/finger
./usr/share/man/man1/finger.1.gz
...
 
'''Extrakce souboru z rpm balíčku'''
 
user@stroj:~$ rpm2cpio finger -0.17-9.i386.rpm | cpio -imVd
 
V případě že chcemez tohoto balíčku extrahovat pouze jeden určitý soubor, pak předáme pouze jeho cestu, získanou předchozím příkazem:
 
user@stroj:~$ rpm2cpio finger-0.17-9.i386.rpm | cpio -imVd ./usr/share/man/man1/finger.1.gz
 
==afio==
1 002

editací