壊れたzipファイルからデータを復旧する

Flickrからダウンロードしたアーカイブがダウンロードに失敗したのか内容が見られないです．
アーカイブが壊れている場合 -F でどうにかなりそう?

$ zip -l data-download-1.zip
zip warning: missing end signature--probably not a zip file (did you
zip warning: remember to use binary mode when you transferred it?)
zip warning: (if you are trying to read a damaged archive try -F)

zip error: Zip file structure invalid (data-download-1.zip)

-F では駄目で -FF を試してみる

$ zip -F data-download-1.zip --out data-download-1_fix.zip
Fix archive (-F) - assume mostly intact archive
zip warning: bad archive - missing end signature
zip warning: (If downloaded, was binary mode used? If not, the
zip warning: archive may be scrambled and not recoverable)
zip warning: Can't use -F to fix (try -FF)

zip error: Zip file structure invalid (data-download-1.zip)

-FF である程度救える感じ

$ zip -FF data-download-1.zip --out data-download-1_fix.zip
Fix archive (-FF) - salvage what can
zip warning: Missing end (EOCDR) signature - either this archive
is not readable or the end is damaged
Is this a single-disk archive? (y/n): y
Assuming single-disk archive
Scanning for entries...
copying: img_20140426_180357_13952989767_o.jpg (1935629 bytes)
copying: img_20140723_180327_14575993850_o.jpg (2639807 bytes)
copying: img_20140723_180323_14576035839_o.jpg (3302817 bytes)
copying: img_20140723_180400_14576043890_o.jpg (3611376 bytes)
:
copying: imgp1491_15854514735_o.jpg
zip warning: no end of stream entry found: imgp1491_15854514735_o.jpg
zip warning: rewinding and scanning for later entries

こういう耐障害性は非圧縮tarやafioとかのほうが強いでしょうがWindowsなんかでは多分標準で扱えないしダウンロードに失敗した場合は再度試みることが出来るのでやっぱzipでいいのかな．

ちなみに今回はFlickrから同じファイルを3回ダウンロードしても全部同じ内容で壊れていたので恐らくFlickr側で壊れているなてことでデータを再リクエストしました……．

環境

$ dpkg-query -W zip tar afio
afio 2.5.1.20160103+gitc8e4317-1
tar 1.30+dfsg-2
zip 3.0-11+b1
$ lsb_release -d
Description: Debian GNU/Linux unstable (sid)
$ uname -m
x86_64