# cat filelist.txt

# cat filelist.txt

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

Пример:

# cat filelist.txt

файл1.txt

dir1/file2.txt

dir1/dir2/file3.txt

# tar cf files.tar -T filelist.txt

# tar xf файлы.tar

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

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

решение1

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

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команды.

Связанный контент