tar: Một khối không đơn độc tại 343398


10

trong khi cố gắng giải nén một tập tin tar.gz trong thiết bị đầu cuối Ubuntu, đã xảy ra lỗi int câu cuối cùng ở đây là: tar: Một khối không đơn độc tại 343398

giải pháp cho vấn đề này là gì ???

Câu trả lời:


18

Nó phụ thuộc vào việc nó xảy ra với tất cả tar.gzcác tập tin hay chỉ cái này. Tập tin cụ thể này có thể bị hỏng và vì vậy sẽ không mở đúng cách. Nếu sử dụng tar để giải nén, bạn cần sử dụng ztùy chọn, vì điều đó là cần thiết khi kho lưu trữ được nén tar xzvf <file.tar.gz>. Ngoài ra, nó cũng đáng để thử giải nén nó vớigunzip <file.tar.gz>

Để tìm hiểu xem tập tin có bị hỏng hay không, hãy chạy gzip -t <file.tar.gz>; lệnh này sẽ kiểm tra tệp để tìm lỗi và nếu tìm thấy chúng sẽ xuất hiện trong terminal. Điều này sẽ cho bạn biết liệu tập tin bị hỏng.

Nếu tệp là âm thanh và lỗi xảy ra, điều đó có nghĩa đó có thể là sự cố đã biết với tar xảy ra khi một tệp không có một cặp zero blocksở cuối của nó, như GNU tar mong đợi. Giải pháp cho vấn đề này là thêm -itùy chọn bỏ qua zero blocks. Vì vậy, sử dụng tar ixzvf <file.tar.gz>Vấn đề được ghi lại ở đây một cách chi tiết.


1

Điều tương tự cũng xảy ra với tôi bởi vì tôi đã dẫn cả thiết bị xuất chuẩn thiết bị xuất chuẩn thông qua một kênh không tách rời thiết bị xuất chuẩn và thiết bị xuất chuẩn (phiên cuối của thiết bị đầu cuối adb Android).

Bằng cách đó, một số thông báo lỗi đã kết thúc trong luồng. Đây là lệnh bị lỗi:

  • Lệnh bị lỗi, adb shell chỉ hợp nhất stderr và stdout cục bộ => rác! :
    adb shell tar -cf - /some/dir \| uuencode bla | uudecode -o - > backup.tar

  • Đã sửa lệnh:
    adb shell tar -cf - /some/dir 2>/dev/null\| uuencode bla | uudecode -o - > backup.tar

Điều tương tự sẽ xảy ra nếu bạn thực hiện một lệnh tương tự trên SSH như cách truyền phát nhanh tar này qua ssh nếu bạn quên chuyển hướng stderr sang / dev / null:

ssh user@host tar -czf /some/remote/path 2\>/dev/null > /local/path/to/file.tar.gz


1
Nắm bắt tốt. Nó cũng xảy ra nếu bạn đặt RequestTTY yestrong ssh_config. Có thể bị vô hiệu hóa rõ ràng với -T Disable pseudo-tty allocation.Đối với tôi, lỗi tar: Skipping to next headerban đầu, khối không đơn độc xảy ra khi tôi thử với --posix..
eMPee584

0

Tôi đã gặp lỗi này vào một ngày khác khi cố gắng gỡ bỏ một kho lưu trữ không được nén. Không rõ nguồn gốc của tệp nhưng tôi đoán rằng người tạo có thể sử dụng catđể kết hợp nhiều tars thành một. Điều này khiến cho điểm đánh dấu số cuối của tệp được đọc bởi tartiện ích ở giữa kho lưu trữ kết hợp, do đó hiển thị lỗi "Khối không đơn độc".

Nếu đây là trường hợp thì --ignore-zeroshoặc -itùy chọn có thể giúp loại bỏ các lỗi này. Xin vui lòng xem man tarhoặc liên kết này là một tài liệu tham khảo.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.