Копирование файлов без потери прав доступа к файлам / папкам
Как я могу скопировать файлы / папки с компьютера с Ubuntu в файловой системе ext4 на другой компьютер с Ubuntu, который также находится в файловой системе Ext4, используя USB-флешку, которая использует файловую систему vfat без потери прав доступа к файлам?
Я попробовал базовый ctrl-c с исходного компьютера, затем ctrl-v на usb, затем ctrl-c с usb, затем ctrl-v на целевой компьютер, и ни одно из разрешений для файлов / папок не осталось неизменным.
3 ответа
Вы можете создать tar-архив источника, скопировать его на другой компьютер с помощью USB-накопителя и распаковать его там. Tar сохраняет права доступа к файлам.
1 - На исходном компьютере:
cd /path/to/folder/to/copy
tar cvpzf put_your_name_here.tar.gz .
2 - Копировать put_your_name_here.tar.gz
на USB-накопитель, а затем на другой компьютер
3 - На конечном компьютере:
cd /path/to/destination/folder
tar xpvzf put_your_name_here.tar.gz
tar
воссоздаст структуру архивных папок со всеми разрешениями без изменений.
Эти команды будут архивировать содержимое исходной папки, а затем извлекать их в папку назначения. Если вы хотите скопировать саму папку, то на шаге 1:
cd /path/to/parent/folder
tar cvpzf put_your_name_here.tar.gz folder_to_copy
Тот же механизм может быть использован для отдельных файлов.
Если вы можете подключиться с одного компьютера на другой, используя ssh
, @siddharthart ответ (rsync
) может быть более практичным.
Вы могли бы попробовать rsync
с -a
флаг для сохранения всех разрешений при копировании. Я не знаю более простого решения, но в прошлом я использовал его для какой-то цели.
Rsync прекрасно поддерживает повторное копирование, обновление папок и т. Д., Оставаясь невероятно быстрым.
Я думаю, что тарирование и последующее удаление должны работать как с файлами, так и с каталогами.
смолить:
tar cvpfz /target.tar.gz /source/
распаковать
tar xvpfz /source/
p
флаг обозначает --preserve-permissions
,
Тебе следует увидеть man tar
для получения дополнительной информации.