Ответ 1
Поставьте опцию --same-owner
в tar при извлечении.
tar --help
сообщает:
--same-owner
create extracted files with the same ownership
В настоящее время я пишу автоматическое резервное копирование script для наших серверов. Я использую tar-команду UNIX в script для архивации репозиториев кода.
в моем PERL script Я использую команду tar:
system("tar -jcpf $destPath/$string.tar.bz2 -X $exclusionFile $targetPath");
Я хочу сохранить владельцы файлов при извлечении tar-архива. Я попытался перечислить содержимое tar-архива с помощью
tar -jtvf
и список содержит правильные владельцы файлов для каждого файла, но при извлечении архива право собственности файла изменяется на текущего пользователя.
Есть ли способ извлечь архив tar и сохранить исходные файлы для каждого файла?
Поставьте опцию --same-owner
в tar при извлечении.
tar --help
сообщает:
--same-owner
create extracted files with the same ownership
Вы хотите "сохранить" атрибуты файла, делая tar -x
с помощью переключателя -p
. Очевидно, для этого нужно быть root, чтобы получить желаемый результат.
-p, --insecure, --preserve-permissions
(x mode only) Preserve file permissions. Attempt to restore the
full permissions, including owner, file modes, file flags and
ACLs, if available,
Многие системы POSIX также отправляют pax
, cpio
, которые могут работать как альтернативы tar
.