Verificar la validez del archivo gz

Verificar la validez del archivo gz

¿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.

Respuesta1

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 guión):

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. Corrompemos el archivo (escribiendo el carácter 0en 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 gziparchivo válido, sino también de que su contenido es el que usted espera. ser.

Respuesta2

gzip -tnotenercualquier 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...

información relacionada