Kho lưu trữ Tar sẽ không giải nén - Đường dẫn chứa '..'


8

Tên của tập tin 2014-12-12 04-00-01.tar. Tôi đã thực hiện lệnh:

tar xvf 2014-12-12\ 04-00-01.tar

Đầu ra có nhiều dòng có dạng:

x ../server/: Path contains '..'

Và sau đó một vài hình thức:

tar: copyfile unpack (../server/logs/.DS_Store) failed: No such file or directory

Có vẻ như tôi đã không cẩn thận khi viết kịch bản sao lưu. Làm thế nào tôi có thể giải nén các tập tin?

Câu trả lời:


11

Bạn sẽ muốn thêm cờ P(hoặc -P) vào dòng lệnh của mình. Từ trang hướng dẫn:

-P Bảo toàn tên đường dẫn. Theo mặc định , tên đường dẫn tuyệt đối (những tên bắt đầu bằng dấu / ký tự đã loại bỏ dấu gạch chéo hàng đầu khi tạo tài liệu lưu trữ và trích xuất từ ​​chúng. Ngoài ra, tar sẽ từ chối trích xuất các mục lưu trữ có tên đường dẫn chứa .. hoặc thư mục đích sẽ bị thay đổi bởi symlink. Tùy chọn này ngăn chặn những hành vi này.

Hãy thử tar Pxvf 2014-12-12\ 04-00-01.tar. Lưu ý rằng bạn sẽ cần quyền truy cập ghi vào thư mục mẹ của thư mục làm việc nơi bạn gọi lệnh.


Điều đó đã lừa
Thom Smith

0

Bạn có thể thử:
mkdir ./dir
tar xvf 2014-12-12\ 04-00-01.tar -C --./dir


tar: could not chdir to '--./dir'
Thom Smith

Lạ thật. Hãy thử tar xvf 2014-12-12\ 04-00-01.tar -C --dirthay thế.
LDC3

Dấu gạch ngang đôi là gì?
Xen2050

Nó nằm trong tệp man, tôi nghĩ rằng nó chỉ ra rằng các chữ cái theo sau là một phần của lệnh vì bạn có thể cótar xv -C --dir -f --2014-12-12\ 04-00-01.tar
LDC3
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.