ZIP 不會解壓縮 Debian 上的所有文件

ZIP 不會解壓縮 Debian 上的所有文件

我的機器運行Debian 6.0.7並且我有Zip 3.0 (July 5th 2008), by Info-ZIP。當我嘗試解壓縮 .zip 檔案時,十有八九有 2~3 次無法解壓縮所有內容。將會遺失 2-3 個檔案。

起初我以為這是因為檔案大小和一些我不知道的限制,但後來我注意到它對於 150MB 的小檔案也是如此。然後我想也許是因為我透過 bash 腳本文件解壓縮它,所以我測試了手動解壓縮文件,這又不是問題。

今天終於用 140MB 的 .zip 檔案檢查了它。我手動和使用 .sh 腳本提取了該文件 10 次,每次ls -h -R > ../test_n.txt解壓縮後我都會運行以保留資料夾的記錄。比較所有 20 個檔案後,我發現 20 次中有 7 次會遺失 .zip 檔案中的 2 到 8 個檔案。

有人知道為什麼會發生這種情況嗎?

答案1

我完全不知道會發生什麼......但是,您可以嘗試以下一些方法來調試問題:

  • 如果該zip版本有一個-l標誌或其他東西來檢查 zip 檔案中的檔案而不解壓縮它,這可能會有所幫助。

    zip -l file.zip
    

    這將向您顯示 zip 檔案的內容,因此解壓縮後您應該期望得到相同數量的檔案 - 您可以在腳本中使用它作為測試,只是為了確保您始終解壓縮所有檔案。

  • zip 檔案確實正確嗎?如果您從其他來源取得該文件,請對該文件進行校驗和,然後將其與您嘗試解壓縮的 zip 檔案進行比較。如果不同,則檔案損壞可能是導致此問題的原因。

  • 命令的返回碼是什麼zip?使用 解壓縮檔案後zip,發出echo $?命令以檢查它的回傳代碼 - 如果不為零,則程式告訴您,在某種程度上,程式總體執行不成功。請注意,這個值可能會有所不同,但據我所知,使用零表示成功,使用其他數字表示錯誤/警告是 UNIX/Linux 實用程式的標準做法。

我希望這有幫助 :)

相關內容