¿Cómo puedo verificar la validez de un archivo gz? No tengo el hash del archivo, lo estoy usando gzip -t
pero no devuelve ningún resultado.
Gracias
El gzip -t
comando 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 -v
hará 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 0
en 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 gzip
archivo válido , sino también que su contenido es lo que espera. ser - estar.
gzip -t
no 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 ...