rsync "Operation not permitted"
I am trying to so a simple rsync to a USB hard disc, the command is
rsync -az --modify-window=2 /home /mnt/exthd/tmp/
I am running this as root.
but I get a lot of errors that all seem to relate to insufficient permissions :
rsync: chown "/mnt/exthd/tmp/home/someuser" failed: Operation not permitted (1)
rsync: chown "/mnt/exthd/tmp/home/someuser/.bash_logout" failed: Operation not permitted (1)
rsync: chown "/mnt/exthd/tmp/home/someuser/.bash_profile" failed: Operation not permitted (1)
rsync: chown "/mnt/exthd/tmp/home/someuser/.bashrc" failed: Operation not permitted (1)
rsync: chown "/mnt/exthd/tmp/home/guest" failed: Operation not permitted (1)
rsync: chown "/mnt/exthd/tmp/home/guest/.bash_logout" failed: Operation not permitted (1)
rsync: chown "/mnt/exthd/tmp/home/guest/.bash_profile" failed: Operation not permitted (1)
rsync: chown "/mnt/exthd/tmp/home/guest/.bashrc" failed: Operation not permitted (1)
rsync: symlink "/mnt/exthd/tmp/home/guest/fred2" -> "fred" failed: Operation not permitted (1)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1042) [sender=3.0.7]
This is version 3.0.7. I have tried using the --super option to no effect. Any ideas?
Solution 1:
The FAT file system (which Linux's mount calls vfat) is not able to store some of the permission and ownership data that is stored about your files on the Linux side.
Your options seem to be:
- Format the disk with ext3/4 or some other file system that supports these attributes. I think even NTFS would do the job if you are sharing with Windows.
- Store those extra properties using the
--fake-super
option so rsync writes xattrs in the file instead of using the file system attributes - Ignore the error, those properties will just be lost.
- Wrap your data set in a tar file and put the tar file on FAT system. All the attributes are maintained and will be present if you ever extract it.
Solution 2:
Rsync is trying an operation (chown and symlink) that the filesystem doesn't allow, or cannot perform. I'm guessing your external HD has a FAT filesystem.
If you want to make a proper backup, you might want to use tar.