cpioarchiwizator plików i format plików.

Oprogramowanie cpio zostało stworzone by archiwizować dane na taśmach magnetycznych i jako takie, było częścią PWB/UNIX, jak również częścią UNIX System III i UNIX Systemu V. Jednak użycie formatu tar, jego szeroko dostępnego odpowiednika, zostało uznane za lepszy wybór[1]. Format cpio jest wykorzystywany m.in. wewnątrz pakietów RPM a Oracle Corporation rozprowadza znaczną część swojego oprogramowania w tym formacie.

Archiwum cpio

edytuj

Archiwum cpio jest strumieniem plików i katalogów w jednym pliku, którego nazwa często kończy się rozszerzeniem .cpio. Archiwum posiada nagłówek, który pozwala aplikacjom, takim jak GNU cpio, na wyodrębnienie plików i katalogów do systemu plików. Nagłówek zawiera także informacje o nazwach plików, znacznikach czasu, właścicielach i uprawnieniach.

Archiwum cpio jest podobne w funkcjonowaniu do archiwum tar i zostało stworzone by przechowywać kopie na taśmach w przylegający sposób. Podobnie do formatu tar, archiwa cpio są często kompresowane przy użyciu programu Gzip i rozprowadzane jako pliki .cpgz.

POSIX i cpio

edytuj

Program cpio został ujednolicony w POSIX.1-1988. Zostało to porzucone w późniejszej rewizji, począwszy od POSIX.1-2001 ze względu na 8 GB limit pliku. Zamiast niego można użyć programu pax, który jest zgodny ze standardem POSIX, do odczytu i zapisu archiwów cpio.

GNU cpio

edytuj

Aplikacja GNU cpio jest powszechnym narzędziem, która może być użyta do dodawania danych do archiwów cpio i tar. Aplikacja cpio jest wolnym oprogramowaniem i jest dostępna ze strony domowej GNU[2].

Przykłady użycia

edytuj

Jeśli chcemy dodać do archiwum całe drzewo katalogów, komenda find może dostarczyć listę plików dla programu cpio:

% find . -depth -print | cpio -ov > drzewo.cpio

Aby rozpakować pliki z archiwum cpio, przekaż archiwum do programu cpio jako jego standardowe wejście
Uwaga: Jeśli wykonamy polecenie z prawami roota, pliki, w naszym systemie plików, które już istniały, mogą zostać zastąpione przez te w obrazie cpio.

% cpio -id < plik.cpio

Flaga -i oznacza, że cpio rozpakowuje pliki, natomiast flaga -d informuje cpio, żeby tworzył katalogi, jeśli będzie to wymagane. Można też użyć flagi -v by wypisać wszystkie nazwy plików aktualnie rozpakowanych plików.

Każdy argument linii poleceń, który nie jest opcją jest uważany za globalny wzór powłoki (ang. shell globbing patter); każdy plik w archiwum, który będzie pasował do przynajmniej jednego wzoru, zostanie skopiowany z archiwum. Poniższy przykład rozpakuje plik etc/fstab z archiwum (zawartość archiwum powinna być wcześniej sprawdzona za pomocą polecenia cpio -l, jak ścieżka jest skonstruowana):

% cpio -id etc/fstab < plik.cpio

Przypisy

edytuj
  1. Peek J, O'Reilly T, Loukides M. 1997. Unix Power Tools. O'Reilly & Associates, Inc. ISBN 1-56592-260-3.
  2. Cpio - GNU Project - Free Software Foundation (FSF) [online], www.gnu.org [dostęp 2017-11-22] (ang.).

Linki zewnętrzne

edytuj