Nhìn vào lỗi mà bạn đang thấy cùng với thực tế là bạn thực sự có thể giải nén nó nói rằng tệp là tệp lưu trữ TAR / Gzip chính hãng, nhưng có lẽ không phải là TAR ngay lập tức được tạo sau Gzip.
Có nghĩa là, nếu bạn đã tải xuống cái này từ máy chủ web, đôi khi nén Gzip được áp dụng cho nội dung web ở cấp máy chủ để tăng tốc tải xuống nội dung. Nhưng nếu không được đặt đúng trên máy chủ để bỏ qua nội dung đã được nén như thế này, nó có thể vô tình nhân đôi tệp Gzip.
Với ý nghĩ đó tôi sẽ thấy nếu chỉ đơn giản là giải nén nó khỏi dòng lệnh để xem điều gì sẽ xảy ra. Sử dụng một lệnh như thế này:
gzip -d ldtp_3.5.0.orig.tar.gz
Và xem các tập tin kết quả là gì. Tôi có một cảm giác buồn cười sau khi bạn chạy lệnh đó, bạn sẽ không thấy một ldtp_3.5.0.orig.tar
thư mục nào mà thay vào đó là một tệp có tên giống như nguồn ldtp_3.5.0.orig.tar.gz
- nhưng có lẽ với sự thay đổi đã thay đổi? Nếu đó là trường hợp, nó thực sự được nhân đôi. Vì vậy, tại thời điểm này, ngay sau đó, không có Gzip, bạn có thể chạy tar
lệnh bạn có như thế này:
tar -xvzf ldtp_3.5.0.orig.tar.gz
Và bây giờ nó nên giải nén đúng cách lưu trữ TAR đầy đủ.
Một cách khác để làm điều gì đó tương tự như quá trình hai bước là ống đầu ra của gzip
để tar
như thế này:
gzip -dc ldtp_3.5.0.orig.tar.gz | tar -xvzf -
Các c
trong gzip
cũng như -
ở phần cuối của lệnh là chìa khóa:
- Các
c
lựa chọn cho gzip
sẽ nói gzip
để giải nén vào dòng đầu ra tiêu chuẩn.
- Ở
-
cuối tar
lệnh có nghĩa là sử dụng đầu vào tiêu chuẩn. Vì vậy, kết hợp với đầu -c
vào gzip
, đường ống sau đó sẽ lấy luồng đầu ra tiêu chuẩn được dẫn đến từ đó gzip
và kết nối nó với đầu vào tiêu chuẩn tar
.
gzip -d ldtp_3.5.0.orig.tar.gz
và tôi (lẻ) nhận được một.tar
tập tin. Tuy nhiên, khi tôi dùng thử,tar -xvf ldtp_3.5.0.orig.tar
tôi gặp lỗi:tar: v: Cannot open: No such file or directory tar: Error is not recoverable: exiting now