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