Fix Corrupted Zip Files in Linux [Quick Tip]
By on July 17th, 2008


It’s been a long time since I have talked about Linux, so here is something to get started again. This post talks about a common problem, Corrupted Zip Filewhich people face while downloading zip files from the Internet.

Not all the zip files can be recovered but using a few simple commands, you can try and recover the content without having to re-download the file again.

You can easily repair repairablezip files downloaded on Linux by issuing the following command;

zip F filename.zip

Issuing this command will tell the zip command to try to fix the zipfile if necessary. You can also issue the following command to make it the zip command work more harder on fixing the zip file.

zip FF filename.zip

I initially used this command as a patch to a shell script that read contents from a zip file, that was uploaded by a wizard, the patch was put in for zip files which were corrupted when uploaded over slower Internet connections.

Here is a part of the shell script for the geeks and power users reading Techie Buzz.

   1: unzip -tqqq $x >> /dev/null;
   2:     if [ $? -ne 0 ]; then
   3:       #Run Recovery mode first - do not remove this code - kd
   4:       zip -FF $x;
   5:       unzip -tqqq $x >> /dev/null;
   6:       if [ $? -ne 0 ]; then
   7:         echo "Could not unzip $x. Renaming it to BADZIP-$x";
   8:         mv $x BADZIP-$x;
   9:         continue;
  10:       fi
  11:     fi

Enjoy and look forward to more Linux Tips.

Tags:
Author: Keith Dsouza Google Profile for Keith Dsouza
I am the editor-in-chief and owner of Techie Buzz. I love coding and have contributed to several open source projects in the past. You can know more about me and my projects by visiting my Personal Website. I am also a social networking enthusiast and can be found active on twitter, you can follow Keith on twitter @keithdsouza. You can click on my name to visit my Google+ profile.

Keith Dsouza has written and can be contacted at keith@techie-buzz.com.
  • http://www.technixupdate.com abhishek

    gud tip, keep them coming more.

  • http://www.technobuzz.net Raj

    Nice Tip.
    Thanks

    Stumbled

  • http://davenjudy.org/davesBlog Dave Miller

    So, what do you suggest if zip -FF still doesn't file the problem:

    [dave@bend cng258]# zip -FF recovered_tysonorc.zip –out rebuilt.tysonorc.zip
    Fix archive (-FF) – salvage what can
    Found end record (EOCDR) – says expect single disk archive
    Scanning for entries…
    copying: tyson&orc.jpg (48494 bytes)
    Central Directory found…
    EOCDR found ( 1 48596)…
    [dave@bend cng258]# unzip rebuilt.tysonorc.zip
    Archive: rebuilt.tysonorc.zip
    [rebuilt.tysonorc.zip] tyson&orc.jpg password:
    replace tyson&orc.jpg? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
    inflating: tyson&orc.jpg
    error: invalid compressed data to inflate

    Cheers,
    Dave

  • Chatty

    Thanks, It certainly worked for me

  • spiriad

    good 2 no

  • http://www.wannabegeekster.com WannaBeGeekster

    Thanks for the script. This is great for looping over large collections.

 
Copyright 2006-2012 Techie Buzz. All Rights Reserved. Our content may not be reproduced on other websites. Content Delivery by MaxCDN