cpio

Un article de Wikipédia, l'encyclopédie libre.

cpio est un utilitaire d'archivage ainsi qu'un format de fichier utilisé sur UNIX. Il était conçu à l'origine comme un moyen de sauvegarder des données sur bande magnétique sur les premières versions d'UNIX System III et UNIX System V. Il est cependant dépassé en popularité par tar[1], mais reste important, et est employé notamment par le RPM Package Manager et par les archives distribuées par Oracle.

Sommaire

[modifier] Archive cpio

Une archive cpio est un assemblage de fichiers et de répertoires à l'intérieur d'un seul fichier d'archive. Elle utilise souvent le suffixe .cpio. Le format comporte un en-tête qui permet à des utilitaires comme le GNU cpio de reconnaître le format et d'en extraire les fichiers. L'archive mentionne les attributs de chaque fichier, comme son nom, sa date de modification, son possesseur et ses permissions.

Le fomat cpio est fonctionnellemet similaire à celu de tar, et a été conçu pour conserver des copies de sauvegarde sur bande magnétique de façon contigue. Comme pour tar, les archives cpio ne sont pas comprimées, et on fait souvent appel à un outil de compression séparé, comme gzip ou bzip2 quand c'est utile.

[modifier] cpio et POSIX

L'utilitaire cpio a été standardisé par la norme POSIX.1-1988. Il a été abandonné par des versions ultérieures de la norme à partir de POSIX.1-2001, en raison de sa limitation aux fichiers de 8 GB. L'outil standard POSIX pax peut être utilisé pour lire et écrire des archives cpio.

[modifier] GNU cpio

La version GNU de cpio permet la création d'archives, le format est identique à celui de GNU tar et les deux outils peuvent être utilisés indifféremment.

[modifier] Utilisation

Contrairement à tar, en mode de création d'archive (option o), cpio accepte une liste de fichiers sur l'entrée standard et produit l'archive sur la sortie standard :

find . -depth -print | cpio -ov > archive.cpio

Ou avec compression via bzip2 :

find . -depth -print | cpio -ov | bzip2 > archive.cpio.bz2

Dans cet exemple, les options de la commande find peuvent être utilisée pour limiter le contenu de l'archive à certains types de fichiers (selon leur taille, leur date de modification, leur propriétaire, etc.).

Il est également possible d'utiliser cpio comme un outil de copie d'une partie de l'arborescence de fichiers vers une autre, sans utiliser de fichier intermédiaire :

find . -depth -print0 | cpio --null -pvd NouveauRepertoire

Pour l'extraction de fichiers d'une archive (option i), cpio lit l'archive sur l'entrée standard :

cpio -id < archive.cpio

On peut aussi extraire des fichiers individuels en précisant leur chemin en argument :

cpio -id etc/fstab < archive.cpio

[modifier] Notes

  1. Peek J, O'Reilly T, Loukides M. 1997. Unix Power Tools. O'Reilly & Associates, Inc. ISBN 1-56592-260-3.

[modifier] Voir aussi

[modifier] Liens externes