Zum Inhalt springen

Cpio

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 22. Januar 2007 um 21:35 Uhr durch Ardo Beltz (Diskussion | Beiträge) (Vergleich zu tar: Quelle: cpio-howto). Sie kann sich erheblich von der aktuellen Version unterscheiden.

cpio ist ein Archivierungsprogramm und Dateiformat aus dem Unix-Umfeld, welches in seiner Funktionsweise dem Kommando tar ähnelt. Die Abkürzung cpio steht für „copy in, copy out“. Mit cpio können Dateien sequentiell in eine Archivdatei oder auf Magnetband geschrieben werden. cpio-Dateien werden oft mit der Dateiendung .cpio versehen. Ebenso wie tar-Dateien sind cpio-Archive größer als die Summe der im Archiv enthaltenen Einzeldateien, so dass unter Umständen eine Datenkomprimierung sinnvoll ist. Zur Komprimierung wird unter Unix in der Regel compress, gzip oder bzip2 verwendet.

Die GNU-Version des cpio-Kommandos kann neben verschiedenen cpio-Formaten auch tar-Archivformate verwenden. Ein weiteres Programm, welches das cpio-Dateiformat verwendet, ist afio.

POSIX-Standard

cpio ist im POSIX.1-1988-Standard enthalten. Aus späteren Versionen, ab POSIX.1-2001, wurde er aufgrund seiner maximalen Dateigröße von 8 GB entfernt. Das neue POSIX-Kommando pax unterstützt jedoch sowohl das tar- als auch das cpio-Format. Der Name pax (Lateinisch für „Frieden“) wurde gewählt, um Frieden zwischen den beiden rivalisierenden Programmen cpio und tar zu schaffen.

Beispielaufrufe

cpio verfügt über drei Grundfunktionen, welche über die Optionen -o („Copy-Out-Modus“, Erzeugen eines Archivs), -i („Copy-In-Modus“, Extrahieren aus einem Archiv) und -p („Copy-Pass-Modus“, Kopieren von Verzeichnisbäumen).

Erzeugen einer cpio-Datei, welche die Dateien des aktuellen Verzeichnisses enthält:

ls | cpio -o > verzeichnis.cpio

Erzeugen einer cpio-Datei, welche die Dateien und Unterverzeichnisse des aktuellen Verzeichnisses enthält:

find . -print -depth | cpio -o > verzeichnis.cpio

Wiederherstellen von Dateien aus einem cpio-Archiv:

cpio -i < archiv.cpio

Auflisten der im Archiv enthaltenen Dateien, ohne diese zu extrahieren:

cpio -it < archiv.cpio

Vergleich zwischen cpio und tar

Von den beiden Unix-Kommandos cpio und tar ist tar bekannter und weiter verbreitet. Dennoch hat cpio Vorteile zu bieten: beim cpio-Format gibt es in der Regel keine Kompatibilitätsprobleme zwischen verschiedenen Unix-Plattformen. Des Weiteren ist cpio, anders als tar, in der Lage Device-Inodes im Archiv zu speichern. Ein weiterer Vorteil gegenüber tar ist, dass bei cpio über das find-Kommando einfach Dateien selektiv aus einer Reihe von Dateien oder Verzeichnissen ausgewählt werden können, da das Argument von cpio eine Liste von Namen aus dem Eingabestrom ist.

Siehe auch