rsync выдаёт ошибки "имя файла слишком длинное"

Я пытаюсь использовать rsync сделать архивную копию файловой системы. Большинство файлов копируются в порядке. Однако некоторые файлы не могут быть скопированы с ошибками, такими как следующие:

rsync: recv_generator: failed to stat "/offsite/secure/backup/equality/image/home/.ecryptfs/richw/.Private/ECRYPTFS_FNEK_ENCRYPTED.FWZCrxWC57ny9UTn1cFNZL5w.27.bkB806NyASyVhlkjDSj8409CPYuh4U--/ECRYPTFS_FNEK_ENCRYPTED.FWZCrxWC57ny9UTn1cFNZL5w.27.bkB806NyN3crxC.r7IEshHGdDkRwJU--/ECRYPTFS_FNEK_ENCRYPTED.FZZCrxWC57ny9UTn1cFNZL5w.27.bkB806NyAT1fljq1oLjEFLY7WuGBIKEQb0Lw-70GL..7i70mP89OnSy2Lg88XZ-s5bs2ugEt16Xwqzd.SS1Gn-sditaJ6k--": File name too long (36)

Что я могу сделать, чтобы обойти эту проблему?

Исходный компьютер работает под управлением Ubuntu 16.04.4 LTS (GNU/Linux 4.4.0-122-generic x86_64) с исходной файловой системой ZFS.

На конечном компьютере установлена ​​Ubuntu 18.04 LTS (GNU/Linux 4.15.0-23-generic x86_64) с файловой системой ecryptfs поверх ext4.

1 ответ

Как уже упоминалось в Unix StackExchange, максимальное имя файла в системе ext4 составляет 255 символов. Поскольку у вас есть зашифрованные имена файлов, включенные в вашей целевой файловой системе eCryptfs, и поскольку eCryptfs - это просто многоуровневая файловая система поверх вашей файловой системы ext4, все элементы пути к именам файлов после их шифрования должны содержать не более 255 символов. Точно так же полный путь любого из ваших зашифрованных имен файлов должен быть не более 4096 символов.

Кажется, что по крайней мере один из ваших исходных файлов имеет путь и / или имя, которое нарушает это ограничение.

На ум приходит несколько вариантов, чтобы позволить rsync завершить свою работу:

  1. Найдите все файлы в вашей исходной файловой системе, которые имеют элементы пути длиннее 143 символов (или общее количество путей больше, возможно, двух или трех тысяч символов) и переименуйте их, чтобы они были меньше этого. (143 взято из ранее упоминавшегося поста Unix StackExchange из-за зашифрованного заполнения имени файла). Это может или не может быть возможно, в зависимости от того, могут ли соответствующие файлы быть переименованы, сохраняя функциональность, которая вам нужна в вашей системе.
  2. Отключите шифрование имени файла в вашей системе eCryptfs. Конечно, вы потеряете анонимность имен ваших файлов, но это может быть приемлемо для вас.
Другие вопросы по тегам