¿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.
Respuesta1
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 guión):
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. Corrompemos el archivo (escribiendo el carácter 0
en el byte 40 del archivo) e intentemos 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 nonogarantizar que el archivocontenidoes lo que crees 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á obtener una confirmación adicional de que el archivo no solo es un gzip
archivo válido, sino también de que su contenido es el que usted espera. ser.
Respuesta2
gzip -t
notenercualquier salida, que no sea el código de retorno, si es un archivo comprimido gzip correcto.
Sólo devuelve un error si lo estás probando en algo queno esun archivo comprimido gzip:
steamsrv@leviathan:~$ gzip -t commands.txt
gzip: commands.txt: not in gzip format
Conclusión: Es casi seguro que su archivo sea un archivo comprimido con gzip. Lo que no puedo decirte es si es el archivo exacto que crees que se supone que es, para qué sería útil el hash...