Je deviens fou avec un fichier gzip.
Je peux décompresser le fichier sous Windows en utilisant WinRAR mais il est impossible sur n'importe quel système d'exploitation UNIX.
le fichier semble correct. Si je fais
file the_name_of_the_file.gz
Je reçois:
the_name_of_the_file.gz: gzip compressed data, from Unix, last modified: Sun Jan 30 14:10:21 2011
Mais si je le fais
gunzip -f the_name_of_the_file.gz
Je reçois toujours:
gzip: the_name_of_the_file.gz: unexpected end of file
Le même problème se produit lorsque j'essaie d'extraire le fichier à l'aide de l'outil GUI dans Ubuntu ou MacOSX,
Des idées?
file
commande ne vérifiera pas tout le fichier. Il suffit de regarder quelques octets dans l'en-tête pour comprendre qu'il s'agit d'ungz
fichier codé.Réponses:
Une solution de contournement pour décompresser un fichier en cas d'
gzip
échec avec «fin de fichier inattendue» est d'utiliserzcat
(également généralement fournie par le package gzip de votre distribution).$ zcat file.raw.gz > file.raw
la source
Avez-vous par hasard transféré le fichier de Win * vers Unix via ftp en mode ascii? Cela peut l'expliquer. Le fichier a-t-il la même taille sous Win * et Unix?
la source
Je soupçonne que vous corrompez le fichier lorsque vous le copiez sur la machine * nix.
FTP il en mode binaire.
la source
J'ai résolu le problème en utilisant l'utilitaire P7zip , un port de 7za.exe pour les systèmes POSIX.
la source
Basé sur quelques expériences avec WinRar, ma première supposition est qu'il extrait des fichiers incomplets ou corrompus sans donner d'erreur, tandis que gzip donne (correctement) une erreur.
Que fait 7zip de votre fichier?
Quelle version
gzip -V
annonce?Qu'est-ce que ça
gzip -t the_name_of_the_file.gz
vous dit? (probablement le même EOF inattendu, mais mérite un essai)la source
J'ai eu le même problème et, dans mon cas, c'était dû au fait que le fichier était un fichier vide (0 octet)
gz
, créé avec latouch
commande:gzip ne pouvait pas le décompresser, lorsqu'il était appelé avec la commande:
La manière correcte de représenter un
txt
fichier vide aurait été de générer d'abord letxt
fichier, puis de le compresser et, enfin, de le décompresser:Je ne sais pas si ce scénario représente votre cas, mais il peut vous donner un indice ou aider quelqu'un d'autre.
la source