|
|
|
|
Administración de Sistemas Operativos
| ||
| Inicio ASO | Aula Virtual |
cpio ( Copy In/Out) es una utilidad que nos permite copiar ficheros a/o un contenedor cpio; que no es más que un fichero que almacena otros ficheros e información sobre ellos (permisos, nombres, propietario...). Este contenedor puede ser un disco, un fichero, una cinta o incluso una tuberÃa, mientras que los ficheros a copiar pueden ser ficheros normales, pero también dispositivos o sistemas de ficheros completos.
En la tabla 1 se muestran las opciones de cpio más utilizadas. La sintaxis de esta orden es bastante más confusa que la de tar debido a la interpretación de lo que cpio entiende por “dentro†y “fueraâ€. Cuando copiamos “fuera'†generamos un contenedor en salida estándar (que con toda probabilidad desearemos redireccionar). Mientras que copiar “dentro†es lo contrario, es decir, extraer ficheros de la entrada estándar (también es seguro que debemos redireccionarla).
| Tabla 1. Opciones de la orden cpio |
| Opción | Acción Realizada |
|---|---|
| o | Copiar 'fuera' (out) |
| i | Copiar 'dentro' (in) |
| m | Conserva fecha y hora de los ficheros |
| t | Crea tabla de contenidos |
| A | Añade ficheros a un contenedor existente |
| v | Modo verbose |
Por ejemplo, si deseamos copiar los ficheros de /export/home/ en el fichero contenedor /tmp/backup.cpio podemos utilizar la siguiente sintaxis:
Como podemos ver, cpio lee la entrada estándar esperando los nombres de ficheros a guardar, por lo que es conveniente utilizarlo tras una tuberÃa pasándole esos nombres de fichero. Además, hemos de redirigir su salida al nombre que queramos asignarle al contenedor, ya que de lo contrario se mostrarÃa el resultado en salida estándar (lo que evidentemente no es muy utilizado para realizar backups). Podemos fijarnos también en que estamos usando la orden find en lugar de un simple ls. Ésto es debido a que ls mostrarÃa sólo el nombre de cada fichero (por ejemplo, passwd) en lugar de su ruta completa (/etc/passwd), por lo que cpio buscarÃa dichos ficheros a partir del directorio actual.
Una vez creado el fichero contenedor quizás resulte interesante chequear su contenido, con la opción “tâ€. Por ejemplo, la siguiente orden mostrará en pantalla el contenido de /tmp/backup.cpio:
Igual que para almacenar ficheros en un contenedor hemos de pasarle a cpio la ruta de los mismos, para extraerlos hemos de hacer lo mismo. Si no indicamos lo contrario, cpio -i extraerá todos los ficheros de un contenedor, pero si sólo nos interesan algunos de ellos podemos especificar su nombre de la siguiente forma:
Para conocer más profundamente el funcionamiento de cpio, asà como opciones propias de cada distribución, es indispensable consultar la ayuda en lÃnea man.