Відповіді:
Використання дьогтю
Створити:
tar --acls -cpf backup.tar some-dir-or-file
Щоб зняти знімок:
tar --acls -xpf backup.tar
tar: unrecognized option '--acls'
не працює.
--acls
tar
не підтримують --acls
до Джессі. (Див. Помилка № 732071. ) Ця функція також доступна в пакеті від wheezy-backports
.
Власне, я вважаю, що питання стосувалося не стандартних бітів дозволу файлів, а розширеної інформації про ACL (див. Setfacl (1) або acl (5)).
Наскільки мені відомо, немодифікований гурток GNU ігнорує інформацію ACL. (Сторінка man для GNU tar 1.15.1, що постачається разом із RHEL 5.2, згадує перемикачі --acls і --no-acls, але я не змусив їх працювати.)
Однак програма зірок може створити резервну копію та відновити ACL, якщо ви виберете формат exustar :
star -c -p -acl artype=exustar -f archive.tar files...
star -x -acl -f archive.tar
Домашня сторінка зірки: http://cdrecord.berlios.de/new/private/star.html Зірка доступна принаймні в ubuntu.
star
недоступний на Debian і, схоже, не підтримується "командою". Проект все ще живий і підтримується через 30+ років. Спробуйте, bsdtar
якщо хочете чогось іншого.
Я шукаю рішення, і поки що я знайшов це:
спочатку зробіть getfactl з моєї папки
getfacl -R /a_folder > folder.acl
потім робіть звичайний дьоготь
tar -czvf folder.tar.gz /a_folder
коли я його добуваю
tar -xvf folder.tar.gz
зробіть setfacl для дозволів.
setfacl --restore=folder.acl
це працює для мене.
Якщо ви шукаєте просте у використанні, але потужне рішення, я рекомендую rdiff-backup
.
В основному це робить копію вихідного каталогу в каталог призначення, але також зберігає додаткову інформацію, щоб ви могли повернутися в часі, коли захочете.
І, звичайно, він зберігає символьні посилання, спеціальні файли, жорсткі посилання, дозволи, власність uid / gid та час модифікації.
Я пропоную вам скористатися bsdtar
.
bsdtar
підпірки розширеної ACL за замовчуванням , він використовує той же синтаксис , як GNU tar
і архіви вона виробляє доступні для читання GNU tar
.
Ім'я пакета та команди (у дистрибутивах на базі Debian) є bsdtar
.
bsdtar cf archive.tar /my/folder/using/extd_acl
bsdtar xf archive.tar
2-а команда (витяг) відновлює ACL.
Із дьогтю Сторінка людини.
-p, --same-permissions, --preserve-permissions,
ігнорує umask під час вилучення файлів (типовий для root)
Фактично не архіваційний акт змінює дозволи доступу (ACL), а акт їх розпакування. Тар дуже часто використовується для розповсюдження файлів від одного користувача до іншого, і тому вважається зручним застосовувати користувацьку umask, коли вони розпаковуються.
Щоб зберегти попередні дозволи для файлів, просто додайте оголошення до ваших параметрів. Наприклад
Прямий дьоготь:
tar xvp some-file
bz.tar:
tar xvjp some-file
gz.tar:
tar xvzp some-file