Cpio
# Cpio

En informatique, 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, mais reste important, et est employé notamment par le RPM Package Manager et par initrd, ainsi que pour les archives distribuées par Oracle. Une des versions les plus répandues de ce logiciel est celle du projet GNU.

## 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 format cpio est fonctionnellement similaire à celui de tar, et a été conçu pour conserver des copies de sauvegarde sur bande magnétique de façon contiguë. Comme pour tar, les archives cpio ne sont ni comprimées ni chiffrées contrairement à DAR, et on fait souvent appel à un outil de compression séparé, comme gzip ou bzip2 quand c'est utile.

## 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.

## Implémentations

* GNU cpio, l'implémentation par le projet GNU est aujourd'hui présente dans la plupart des distributions GNU/Linux et est identique à celui de GNU tar et les deux outils peuvent être utilisés indifféremment
* Mac OS X utilise bsdcpio, du projet FreeBSD
* Le projet Heirloom Toolchest, qui a repris des utilitaires Open Source des sociétés Sun Microsystems et SCO Group à présent disparues, propose une version de cpio
* On en trouve différentes implémentations sur les systèmes Unix Cray UNICOS, SGI IRIX, UnixWare, Tru64 UNIX, etc.
