Câu trả lời:
Sử dụng nhựa đường
Để tạo:
tar --acls -cpf backup.tar some-dir-or-file
Để cởi trói:
tar --acls -xpf backup.tar
tar: unrecognized option '--acls'
không hoạt động.
--acls
tar
không hỗ trợ --acls
cho đến khi jessie. (Xem lỗi # 732071. ) Tính năng này cũng có sẵn trong gói từ wheezy-backports
.
Trên thực tế, tôi tin rằng câu hỏi không phải là về các bit cho phép tệp (tiêu chuẩn), mà là thông tin ACL mở rộng (xem setfacl (1) hoặc acl (5)).
Theo hiểu biết của tôi, GNU tar chưa sửa đổi bỏ qua thông tin ACL. (Trang hướng dẫn cho GNU tar 1.15.1 khi được gửi cùng với RHEL 5.2 có đề cập đến các công tắc --acls và --no-acls, nhưng tôi đã không làm cho chúng hoạt động.)
Tuy nhiên, chương trình sao có thể sao lưu và khôi phục ACL, nếu bạn chọn định dạng exustar :
star -c -p -acl artype=exustar -f archive.tar files...
star -x -acl -f archive.tar
Trang chủ của ngôi sao: ít nhất là http://cdrecord.berlios.de/new/private/star.html Sao có sẵn trong ubfox.
star
không có sẵn trên Debian và dường như không được duy trì bởi một "nhóm". Dự án vẫn còn sống và duy trì sau hơn 30 năm. Hãy thử bsdtar
nếu bạn muốn một cái gì đó khác.
Tôi đang tìm kiếm một giải pháp cho đến nay tôi đã tìm thấy điều này:
đầu tiên làm một getfactl từ thư mục của tôi
getfacl -R /a_folder > folder.acl
sau đó làm một tar thông thường
tar -czvf folder.tar.gz /a_folder
khi tôi giải nén nó
tar -xvf folder.tar.gz
làm một setfacl cho các quyền.
setfacl --restore=folder.acl
cái này hiệu quả với tôi
Nếu bạn đang tìm kiếm một giải pháp mạnh mẽ nhưng dễ sử dụng, tôi khuyên bạn nên rdiff-backup
.
Về cơ bản, nó tạo một bản sao của thư mục nguồn vào thư mục đích nhưng nó cũng lưu thông tin bổ sung để bạn có thể quay ngược thời gian bất cứ khi nào bạn muốn.
Và, tất nhiên, nó bảo tồn các liên kết tượng trưng, các tệp đặc biệt, liên kết cứng, quyền, quyền sở hữu uid / gid và thời gian sửa đổi.
Tôi đề nghị bạn sử dụng bsdtar
.
bsdtar
sao lưu ACL mở rộng theo mặc định , nó sử dụng cú pháp tương tự như GNU tar
, và tài liệu lưu trữ mà nó tạo ra có thể đọc được GNU tar
.
Tên gói và tên (theo phân phối dựa trên Debian) là bsdtar
.
bsdtar cf archive.tar /my/folder/using/extd_acl
bsdtar xf archive.tar
Lệnh 2 (giải nén) khôi phục ACL.
Từ trang tar Man.
-p, --same-allow, --preserve-allow
bỏ qua umask khi giải nén tập tin (mặc định cho root)
Đây không thực sự là hành động lưu trữ làm thay đổi quyền truy cập (ACL), mà là hành động giải nén chúng. Tar là rất thường được sử dụng để phân phối tập tin từ một người dùng khác, và vì vậy nó được nghĩ thuận tiện để áp dụng một người dùng umask khi giải nén.
Để duy trì các quyền trước đây, chỉ cần quảng cáo cho các tùy chọn của bạn. Ví dụ
Tar thẳng:
tar xvp some-file
bz.tar:
tar xvjp some-file
gz.tar:
tar xvzp some-file