¿Cómo puedo verificar la validez de un archivo gz? No tengo el hash del archivo, lo estoy usando gzip -tpero no devuelve ningún resultado.
Gracias
El gzip -tcomando solo devuelve un código de salida al shell que indica si el archivo pasó la prueba de integridad o no.
Ejemplo (en un script):
if gzip -t file.gz; then
echo 'file is ok'
else
echo 'file is corrupt'
fi
Agregar -vhará que realmente informe el resultado con un mensaje.
Ejemplo:
$ gzip -v -t file.gz
file.gz: OK
Entonces el archivo está bien. Vamos a corromper el archivo (escribiendo el carácter 0en el byte 40 en el archivo) e intente nuevamente.
$ dd seek=40 bs=1 count=1 of=file.gz <<<"0"
1+0 records in
1+0 records out
1 bytes transferred in 0.000 secs (2028 bytes/sec)
$ gzip -v -t file.gz
file.gz: gzip: file.gz: Inappropriate file type or format
La integridad de un archivo con respecto a su compresión no garantiza que el contenido del archivo sea lo que usted cree que es. Si tiene una suma de verificación MD5 (o alguna suma de verificación similar) del archivo de quien lo proporcionó, entonces podría obtener una confirmación adicional de que el archivo no solo es un gziparchivo válido , sino también que su contenido es lo que espera. ser - estar.
gzip -tno tiene ningún resultado, que no sea el código de retorno, si es un archivo comprimido gzip correcto.
Solo devuelve un error si lo está probando en algo que no es un archivo comprimido de gzip:
steamsrv@leviathan:~$ gzip -t commands.txt
gzip: commands.txt: not in gzip format
Conclusión: su archivo es casi seguro un archivo comprimido de gzip. Lo que no puedo decirte es si es el archivo exacto que crees que se supone que es, que es para lo que el hash sería útil ...