Recibí una distribución de software de Unix como un archivo cpio comprimido. ¿Cuál es el mejor comando para extraer los archivos?
Recibí una distribución de software de Unix como un archivo cpio comprimido. ¿Cuál es el mejor comando para extraer los archivos?
Respuestas:
gzip -cd foo.cpio.gz | cpio -idmv
mkdir archive
cd archive
zcat ../archive.cpio.gz | cpio -idmv --no-absolute-filenames
Si bien esta es una pregunta antigua, aparece en Google, por lo que pensé que podría actualizarla. Estoy de acuerdo con la respuesta aceptada en general, pero debe agregar "--no-absolute-filenames" a menos que tenga la intención de sobrescribir archivos importantes del sistema en su máquina. Además, personalmente, prefiero "zcat" sobre "gzip -cd" o "gunzip -c".
Finalmente, tenga en cuenta que necesita ejecutar cpio como root (por ejemplo, sudo) si está extrayendo un sistema de archivos raíz que contiene nodos de dispositivo.
Esta página de Wikipedia cpio
tiene algunas buenas notas.
Para más detalles, consulte el cpio
manual .
Un enlace de la misma página de Wikipedia discute la comparación con los tar
archivos .
Y, aquí hay un ejemplo de uso cpio
con el tar
formato .
Por ejemplo, para extraer el contenido archivado de / etc / httpd / en el directorio actual, creando subdirectorios ./etc/httpd/
mkdir restored-etc-httpd
cd restored-etc-httpd
zcat archive.cpio.gz | cpio -idmv --no-absolute-filenames "*etc/httpd/*"
La respuesta aceptada y la de Matt fueron útiles para mí, pero me quedé perplejo por un tiempo debido a tres detalles:
--no-absolute-filenames
debe preceder al patrón en la línea de comando/
de los nombres de archivo, el patrón coincidente también debe omitir el inicio/
man cpio
lo que viste?