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 cpiotiene algunas buenas notas.
Para más detalles, consulte el cpiomanual .
Un enlace de la misma página de Wikipedia discute la comparación con los tararchivos .
Y, aquí hay un ejemplo de uso cpiocon el tarformato .
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-filenamesdebe 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 cpiolo que viste?