GNU/Linux >> Tutoriales Linux >  >> Linux

Datos comprimidos no válidos:¿formato infringido?

Ubicación alternativa de fixgz de Gzip Utilidad

En caso de que ya no puedas encontrar fixgz en el sitio web de gzip.org, aquí hay un enlace a una versión disponible en archive.org:https://web.archive.org/web/20180624175352/http://www.gzip.org/fixgz.zip.

Código fuente para fixgz Utilidad

Además, en caso de que desaparezca también, a continuación se muestra el código fuente del fixgz utilidad:

/* fixgz attempts to fix a binary file transferred in ascii mode by
 * removing each extra CR when it followed by LF.
 * usage: fixgz  bad.gz fixed.gz

 * Copyright 1998 Jean-loup Gailly <[email protected]>
 *   This software is provided 'as-is', without any express or implied
 * warranty.  In no event will the author be held liable for any damages
 * arising from the use of this software.

 * Permission is granted to anyone to use this software for any purpose,
 * including commercial applications, and to alter it and redistribute it
 * freely.
 */

#include <stdio.h>

int main(argc, argv)
     int argc;
     char **argv;
{
    int c1, c2; /* input bytes */
    FILE *in;   /* corrupted input file */
    FILE *out;  /* fixed output file */

    if (argc <= 2) {
    fprintf(stderr, "usage: fixgz bad.gz fixed.gz\n");
    exit(1);
    }
    in  = fopen(argv[1], "rb");
    if (in == NULL) {
    fprintf(stderr, "fixgz: cannot open %s\n", argv[1]);
    exit(1);
    }
    out = fopen(argv[2], "wb");
    if (in == NULL) {
    fprintf(stderr, "fixgz: cannot create %s\n", argv[2]);
    exit(1);
    }

    c1 = fgetc(in);

    while ((c2 = fgetc(in)) != EOF) {
    if (c1 != '\r' || c2 != '\n') {
        fputc(c1, out);
    }
    c1 = c2;
    }
    if (c1 != EOF) {
    fputc(c1, out);
    }
    exit(0);
    return 0; /* avoid warning */
}


Su comando es correcto. Pero parece que el archivo está dañado. Es fácil saberlo cuando algunos archivos se extraen correctamente (por ejemplo, ./dokuwiki/.htaccess.dist ), pero no el resto.

Recrea el dokuwiki.20151010.tar.gz y asegúrese de que no informe errores mientras lo hace. Si descargó el archivo de algún lugar, verifique la suma de verificación o, al menos, el tamaño del archivo.

La conclusión es que el archivo se creó o descargó incorrectamente. El comando que tiene debería funcionar bien con un .tar.gz archivo.


Linux
  1. ¿Orden de redirecciones?

  2. ¿Ordenar parte de un archivo?

  3. ¿Sistema de archivos comprimido dentro de un archivo en Linux?

  4. Archivo de licencia no válido:cPanel y WHM

  5. Actualización de un solo archivo en un tar comprimido

Cómo ver el contenido de un archivo o archivo comprimido en Linux

Editor VIM

C fopen vs abierto

glibc:archivo elf OS ABI inválido

¿Cómo imprimir la última línea de un archivo comprimido gz en la línea de comando?

cp -L frente a cp -H