Как распаковать каталог с сохранением не только прав, но и владения

37

Я должен сжать каталог, используя tar.gz, сохраняя не только права доступа, но и владельца / группы.

И в этом каталоге есть много файлов, которые принадлежат многим пользователям.

Пауло Коги - Восстановить Монику
источник

Ответы:

39

Вы ищете -pфлаг, чтобы пример был tar -cvpf file.tar folderToCompress, будьте осторожны при использовании tarкоманды, поскольку файлы легко перезаписать, если ваш синтаксис команды неверен.

Владельцы файла сохраняются нормально, при распаковке нужно использовать --same-ownerфлаг. Например, tar --same-owner -xvf file.tarхотя флаг рекомендуется только для суперпользователей.

Проверьте страницу man tar .

SupaJord
источник
9
Это должно быть tar -cvpf file.tar(или, возможно, еще лучше с точки зрения ясности -cvp -f file.tar). В противном случае -fpчасть интерпретируется как --file pи tarзаписывается в файл с именем pвместо file.tar.
КТ.
4
Кроме того, учитывая, что в ответе упоминается сжатие, и люди, как правило, копируют и вставляют ответы из сообщений, не задумываясь, позвольте мне отметить, что популярной формой архивирования со сжатием будет: tar -czvpf file.tar.gz folderToCompressили tar -cjvpf file.tar.bz2 folderToCompress.
КТ.
@KT - вы правы, поэтому я установил -fфлаг - хотя я не установил -zфлаг сжатия . Для сжатия я бы рекомендовал -Ipigz(это заглавная буква I) вместо -z; в многоядерных системах pigz может быть значительно быстрее.
NVRAM
13
Этот ответ неверен. pэто флаг извлечения , он не будет действовать при создании архива. Это также влияет на права доступа к файлам, а не на владение. Соответствующий флаг для владельца есть --same-owner, который включен по умолчанию при извлечении как root.
Владимир Пантелеев
1
@NVRAM SnowRep отменил ваши изменения (!!!). SnowRep, я понижаю вас и восстанавливаю редактирование NVRAM, что правильно . Пожалуйста, не размещайте на сайте некорректную информацию!
Кайл Стрэнд,
24

Я должен сжать каталог, используя tar.gz, сохраняя не только права доступа, но и владельца / группы.

По умолчанию, tarсохранит права доступа к файлам и собственности при создании архива.

Чтобы извлечь права доступа к файлу и владельца, вам нужно будет работать tarот имени root при извлечении, поскольку изменение владельца файла обычно требует привилегий суперпользователя. Смотрите этот вопрос для получения дополнительной информации.

Владимир Пантелеев
источник
1
Когда вы говорите, что это сохраняет право собственности, означает ли это и пользователя, и группу?
CMCDragonkai
1
Правильно. И владелец, и группа записываются по умолчанию (по крайней мере, в GNU tar).
Владимир Пантелеев