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