GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Ungültige komprimierte Daten – Format verletzt?

Alternativer Speicherort von Gzips fixgz Dienstprogramm

Falls Sie fixgz nicht mehr finden können Auf der Website von gzip.org finden Sie hier einen Link zu einer Version, die auf archive.org verfügbar ist:https://web.archive.org/web/20180624175352/http://www.gzip.org/fixgz.zip.

Quellcode für fixgz Dienstprogramm

Für den Fall, dass auch das verschwindet, finden Sie unten den Quellcode für fixgz Dienstprogramm:

/* 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 */
}


Dein Befehl ist richtig. Aber es scheint, dass die Datei beschädigt ist. Es ist leicht zu erkennen, ob einige Dateien korrekt extrahiert wurden (zum Beispiel ./dokuwiki/.htaccess.dist ), aber nicht der Rest.

Erstellen Sie dokuwiki.20151010.tar.gz neu Datei und stellen Sie sicher, dass dabei keine Fehler gemeldet werden. Wenn Sie die Datei von irgendwoher heruntergeladen haben, überprüfen Sie die Prüfsumme oder zumindest die Dateigröße.

Unter dem Strich wurde die Datei entweder falsch erstellt oder heruntergeladen. Der Befehl, den Sie haben, sollte mit einem .tar.gz problemlos funktionieren Datei.


Linux
  1. Linux – Alles ist eine Datei?

  2. Wie scanne ich auf Gedit nach ungültigen Zeichen?

  3. Zeilen in einer Datei zählen?

  4. Ungültige Lizenzdatei:cPanel &WHM

  5. Die Macht der Z-Befehle – Beispiele für Zcat, Zless, Zgrep, Zdiff

So zeigen Sie den Inhalt eines Archivs oder einer komprimierten Datei unter Linux an

VIM-Editor

Aktualisieren einer einzelnen Datei in einem komprimierten tar

glibc:Elf-Datei OS ABI ungültig

Wie erstelle ich eine Datei in Linux aus dem Terminalfenster?

id_rsa.pub-Datei SSH-Fehler:ungültiges Format