Local --fake-super restore failing(?) and creating local directories instead

za3k at za3k.com za3k at za3k.com
Sat Jul 15 06:15:26 UTC 2023


I am on rsync  version 3.2.7  protocol version 31, currently on an Arch 
Linux.

The following seems I would expect to copy the contents of 'a' to 'c', based 
on my understanding of the the advice of `man rsync`:
-----
mkdir a b c
touch a/hello
rsync -M--fake-super -a a/ b/
rsync --super -M--fake-super -a b/ c/
-----

Instead I see 'c' unchanged, and a garbage directory created with the 
expected contents in the local directory:
---
~/tmp $ ls
''$'\001'   a   b   c
~/tmp $ ls -la *
''$'\001':
total 8
drwxr-xr-x 2 zachary users 4096 Jul 15 02:10 .
drwxr-xr-x 6 zachary users 4096 Jul 15 02:10 ..
-rw-r--r-- 1 zachary users    0 Jul 15 02:10 hello

a:
total 8
drwxr-xr-x 2 zachary users 4096 Jul 15 02:10 .
drwxr-xr-x 6 zachary users 4096 Jul 15 02:10 ..
-rw-r--r-- 1 zachary users    0 Jul 15 02:10 hello

b:
total 8
drwxr-xr-x 2 zachary users 4096 Jul 15 02:10 .
drwxr-xr-x 6 zachary users 4096 Jul 15 02:10 ..

c:
total 8
drwxr-xr-x 2 zachary users 4096 Jul 15 02:10 .
drwxr-xr-x 6 zachary users 4096 Jul 15 02:10 ..
---

I'm running into this as a blocking problem restoring a backup previously 
made with -M--fake-super. Note, this always writes the garbage directory into 
the current directory, even if it is on a different filesystem than the 
source, destination, and (/tmp or -T).

I'm on a live USB trying to restore my root disk. Please advise, thanks!



More information about the rsync mailing list