Cpio

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

cpio je archivační program a formát souboru dostupný primárně na unixových systémech. Program byl původně vytvořen pro zálohování na magnetickou pásku jako součást balíku Programmer's Workbench (PWB/UNIX), a od té doby je součástí většiny distribucí operačního systému Unix. Jméno vychází z , které popisuje použití standardního vstupu a výstupu tímto programem.

Známějším archivačním programem v unixovovém prostředí je program tar. Formát cpio se stal důležitým díky svému použití v balíčkovacím systému RPM, programu initramfs v linuxových jádrech od verze 2. +more6 a instalačnímu programu pax na počítačích Apple.

Od počátečního návrhu prošel program a formát cpio několika významnými změnami (z nichž některé vedly k porušení zpětné kompatibility). Nejvýznamnější změnou byl přechod od binárního formátu meta informací o souborech na textový formát. +more Na použití původního formátu lze přepnout pomocí parametru.

Historie

Program cpio se poprvé objevil ve Version 7 Unix v Programmer's Workbench (PWB/UNIX).

Funkce a formát archivu

Program cpio byl navržen pro zálohování na magnetickou pásku, kam se archiv zapisuje jako jeden souvislý sekvenční soubor. Program cpio sám neprovádí žádnou komprimaci obsahu, ale vytvářené archivy lze komprimovat externím komprimačním programem (např. +more programem gzip).

Vytváření archivu

Při použití parametru -o cpio čte seznam jmen souborů a adresářů ze standardního vstupu a výsledný archiv zapisuje na standardní výstup. Cpio se proto obvykle používá s programy, které vytvářejí seznam souborů, které mají být archivovány, například s příkazem find.

Výsledný archiv je posloupnost souborů a adresářů spojených do jediného souboru, kterému se obvykle dává přípona . cpio. +more Soubor obsahuje hlavičky s metainformacemi o souborech, jako jméno souboru, číslo inode, vlastnictví, oprávnění a časová razítka.

Následující příkaz používá program find pro vytvoření seznamu jmen souborů s cestou začínající v aktuálním adresáři pro vytvoření archivu stromu adresářů:

$ find . -depth -print | cpio -o > /path/archive.cpio

Rozbalování archivu

Při použití parametru -i načítá cpio archiv ze standardního vstupu a soubory v něm uložené zapisuje do systému souborů operačního systému.

$ cpio -i -vd

Volba -d udává, že cpio má vytvářet potřebné adresáře. Volba -v vypisuje jména rozbalovaných souborů.

Všechny argumenty zadané na příkazovém řádku kromě voleb slouží jako žolíkové zápisy jmen souborů; cpio vybalí z archivu pouze soubory, jejichž jména vyhovují zadaným zápisům. Následující příklad vybalí z archivu pouze soubor etc/fstab:

$ cpio -i -d etc/fstab

Výpis obsahu archivu

Při použití parametru -t vypíše cpio soubory obsažené v archivu:

$ cpio -i -t

Je vhodné si vypsat obsah archivu před jeho rozbalením, protože archiv může obsahovat absolutní cesty (například /bin/ls místo bin/ls).

Kopírování souborů

Při použití volby -p bude cpio kopírovat soubory. Tento režim kombinuje operace a a nevytváří archiv. +more Stejně jako při operaci čte cpio v tomto režimu cesty ze standardního vstupu, ale místo vytváření archivu vytváří adresáře a soubory v jiném místě systému souborů, které je zadané parametrem.

Následující příklad zkopíruje adresářový strom s kořenem v aktuálním adresáři do adresáře cíl v systému souborů, přičemž zachovává práva souborů (-m), vytváří potřebné adresáře (-d), přepisuje existující soubory bez dotazu (-u) a vypisuje informace na standardní výstup (-v):

$ find . -depth -print | cpio -p -dumv cíl

POSIX standardizace

Program cpio byl standardizovaný v POSIX. 1-1988, ale není obsažen v POSIX. +more1-2001, mimo jiné kvůli svému omezení velikosti výsledného souboru. GNU verze nabízí různé volby výstupního formátu, jako bin (implicitní a zastaralé) a ustar, které mají omezení velikosti souboru na 2 GB, resp. 8 GB.

Formáty souborů cpio, ustar a pax jsou definovány ve standardu POSIX. 1-2001 pro program pax, který je v současnosti kompatibilní s POSIX 1003. +more1-2008, a proto může číst i vytvářet archívy ve formátech cpio a ustar.

Implementace

Většina linuxových distribucí obsahuje GNU verzi programu cpio. FreeBSD a macOS používá cpio poskytnutý s libarchive s licencí BSD.

Odkazy

Reference

Související články

Seznam unixových utilit * Seznam archivačních formátů

Externí odkazy

[url=http://man. freebsd. +moreorg/cpio]FreeBSD cpio(1) manuál[/url] * [url=https://www. gnu. org/software/cpio/manual/html_mono/cpio. html]Manuál GNU verze programu cpio[/url] * [url=https://www. gnu. org/software/cpio/cpio. html]Webová stránka GNU verze programu cpio[/url] * [url=http://rightsock. com/kjw/Ramblings/tar_v_cpio. html]Porovnání archivačních programů tar a cpio[/url] * [url=http://people. freebsd. org/~kientzle/libarchive/man/cpio. 5. txt]Popis formátu cpio archivů[/url].

Kategorie:Archivační programy Kategorie:Kompresní formáty Kategorie:Software pro Unix Kategorie:Zálohovací software

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top