Próbuję tak prosty rsync na dysk twardy USB, polecenie jest
rsync -az --modify-window=2 /home /mnt/exthd/tmp/
Używam tego jako root.
ale otrzymuję wiele błędów, które wydają się odnosić do niewystarczających uprawnień:
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]
To jest wersja 3.0.7. Próbowałem użyć opcji --super bez efektu. Jakieś pomysły?
mount | grep /mnt/exthd
powinno ci powiedzieć.Odpowiedzi:
System plików FAT (który system Linux nazywa vfat) nie jest w stanie przechowywać niektórych danych dotyczących uprawnień i własności przechowywanych na temat plików po stronie Linux.
Dostępne opcje to:
--fake-super
opcji, aby rsync zapisał xattrs w pliku zamiast używać atrybutów systemu plikówźródło
--no-owner
aby nie próbować dopasować właściciela. (FAT nie ma własności właściciela) i możliwe--no-perms
.rsync: failed to write xattr user.rsync.%stat
na początku.Rsync próbuje wykonać operację (chown i dowiązanie symboliczne), na którą system plików nie pozwala lub nie może wykonać. Domyślam się, że twój zewnętrzny HD ma system plików FAT.
Jeśli chcesz zrobić właściwą kopię zapasową, możesz użyć tar.
źródło