Я создаю tar-файл из списка файлов с опцией -T. При извлечении файла tar разрешения подкаталога являются root:root, а не разрешения для самого каталога? Любые идеи, как это исправить?

Пример:

# cat filelist.txt

file1.txt

dir1/file2.txt

dir1/dir2/file3.txt

# tar cf files.tar -T filelist.txt

# tar xf files.tar

Владение извлеченными файлами совпадает с первоначальным владением для file1.txt, file2.txt и file3.txt. Владение для dir1 и dir2 не совпадает. Владелец - root:root

При извлечении архива tar я мог следовать решению, аналогичному сохранению прав собственности и прав родительского каталога, но надеялся, что есть другой способ, который может добавить дополнительную работу для нескольких каталогов.

1 ответ1

0

Вам необходимо выполнить резервное копирование каталогов, а также файлов, для которых вы должны сделать две вещи:

1) Добавьте каталоги в свой список файлов:

file1.txt
dir1
dir1/file2.txt
dir1/dir2
dir1/dir2/file3.txt

2) Добавьте --no-recursion к строке запуска резервного копирования, чтобы остановить включение всех остальных файлов в каталогах:

tar cf files.tar --no-recursion -T filelist.txt

Обратите внимание, что порядок важен: каталоги должны предшествовать любой ссылке в подкаталоге или файле; и параметр --no-recursion должен предшествовать -T , но после команды cf FileName .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .