File nén phổ biến ngày nay. Dung lượng file tăng, nén là giải pháp thường dùng. Khi giải nén, nhiều người gặp lỗi End-of-central-directory signature not found. Lỗi xuất hiện khi dùng tiện ích unzip. Mô tả chi tiết kèm theo.
Nguyên nhân rõ ràng, thậm chí có trong thông báo lỗi: file tải về không hoàn chỉnh hoặc lỗi khi tải. Tuy nhiên không phải nguyên nhân duy nhất. Dưới đây phân tích chi tiết. Lỗi dễ sửa, không quá lo lắng.
- File hỏng (Corrupted File): Giải nén file hỏng do tải không hoàn tất. Giải pháp: xóa file lỗi, tải lại.
- Sai tiện ích (Incorrect Utility): Dùng unzip cho file không hỗ trợ (.gz, gunzip) sẽ báo lỗi. Cần dùng gunzip hoặc tar cho file .gz.
- File nén nhiều phần (Multipart Archive): File chia nhiều phần, cần gộp đủ rồi mới giải nén.
Đã hiểu nguyên nhân, xem các phương pháp khắc phục.
Phương pháp 1: Dùng tiện ích thay thế
Unzip tìm dòng code kết thúc file nén. Không tìm thấy thì báo lỗi. Có tiện ích khác không cần code kết thúc, giải nén được. Hướng dẫn:
7zip
Tiện ích miễn phí 7zip. Cách dùng:
- Cài đặt 7zip.
- Mac: dùng brew:
brew install p7zip
- Ubuntu:
sudo apt install p7zip-full

- Windows: tải từ trang chủ.
- Giải nén lệnh:
7z x filename.zip

- Kiểm tra xem lỗi đã hết chưa.
Fastjar và Ditto
Fastjar (Java) và ditto (macOS built-in) cũng hiệu quả. Hướng dẫn:
- Ubuntu cài fastjar:
sudo apt install fastjar

- Windows: tải từ SourceForge, cd vào thư mục công cụ.
- Giải nén:
jar xvf filename.zip

- Mac dùng ditto:
ditto -xk YourZipfile.zip ./
./ là thư mục hiện tại, file giải nén ra đây.
Lưu ý:
Thường gặp lỗi khi dùng unzip cho file .gz. Cần dùng gunzip hoặc tar để giải nén .gz (phổ biến trên Ubuntu).
Phương pháp 2: Tải lại file
Lỗi thường do file tải không đúng hoặc hỏng khi tải. Unzip không đọc được, báo lỗi. Khắc phục: tải lại file đúng, sẽ giải nén bình thường nếu phương pháp 1 không hiệu quả.