Sé que puede hacer -W al crear un archivo, pero ¿cómo verifica un archivo ya creado? tvWf dice que no es un archivo tar válido?
$ mkdir tmp
$ echo asdkfjh > tmp/a
$ echo qweroiu > tmp/b
$ ls
tmp
$ tar cvf archive.tar tmp
tmp/
tmp/a
tmp/b
$ tar tvWf archive.tar
tar: This does not look like a tar archive
tar: Skipping to next header
tar: VERIFY FAILURE: 1 invalid header detected
tar: Error exit delayed from previous errors
Lo mismo sucede con tar 1.15 (que es el valor predeterminado del sistema en centos 5) y 1.26 (que es la versión más nueva de gnu).
t
solo solo enumera el contenido del archivo. Quiero verificar que los archivos en el tar tengan el mismo contenido que los originales (todavía en el sistema de archivos), lo que pensé que era lo queW
debería hacer (¿verdad?).tar tvWf t.tar
tar: --verify cannot be used with -t
:tar (GNU tar) 1.27.1
GNU
tar
tiene una--compare
opción. Consulte la sección Comparación de miembros del archivo con el sistema de archivos de la documentación para obtener más detalles.fuente
tar -df /path/to/archive.tar.bz2
, mostrará diferencias entre los archivos en el archivo y el sistema de archivos, resolviendo rutas relativas en el archivo contra el directorio de trabajo actual.Joerg Schillings
star
tiene una opción diff , que puede comparar archivos en un archivo tar con su original. Puede indicar lo que debe reconocerse como diferencia.Tenga en cuenta que se menciona
testfile
como de diferente tamaño y datos. Si no hubiera excluido los tiempos (¡incluido el tiempo de acceso!) También habría indicado el tiempo de acceso, y también enumeraría todos los archivos cuyos tiempos habían cambiado con solo mirarlos.Desde la desaparición de BerliOS,
star
se puede encontrar en sourceforge . Es altamente portátil y se compila sin problemas en la mayoría de los sistemas unixoides y similares.fuente
schilytools
paquete fuente.