You are not logged in.
Pages: 1
Hi all,
I'm about to migrate a small server from Gentoo to Devuan. After solving some problems (e.g. Radicale not starting), I hit the next one:
Rdiff-backup does not work. I used rdiff-backup to automatically create backups. Running the very same backup script now fails, rdiff-backup crashes. I can't even backup a single file to my (no_root_squash) NFS share:
# cd
# mkdir foo
# touch foo/bar
# rdiff-backup foo/ /nas/backup/test/
Exception '[Errno 22] Invalid argument' raised of class '<class 'OSError'>':
File "/usr/lib/python3/dist-packages/rdiff_backup/Main.py", line 395, in error_check_Main
Main(arglist)
File "/usr/lib/python3/dist-packages/rdiff_backup/Main.py", line 417, in Main
take_action(rps)
File "/usr/lib/python3/dist-packages/rdiff_backup/Main.py", line 353, in take_action
Backup(rps[0], rps[1])
File "/usr/lib/python3/dist-packages/rdiff_backup/Main.py", line 442, in Backup
backup.Mirror(rpin, rpout)
File "/usr/lib/python3/dist-packages/rdiff_backup/backup.py", line 39, in Mirror
DestS.patch(dest_rpath, source_diffiter)
File "/usr/lib/python3/dist-packages/rdiff_backup/backup.py", line 269, in patch
ITR(diff.index, diff)
File "/usr/lib/python3/dist-packages/rdiff_backup/rorpiter.py", line 313, in __call__
last_branch.fast_process(*args)
File "/usr/lib/python3/dist-packages/rdiff_backup/backup.py", line 587, in fast_process
if self.patch_to_temp(mirror_rp, diff_rorp, tf):
File "/usr/lib/python3/dist-packages/rdiff_backup/backup.py", line 636, in patch_to_temp
rpath.copy_attribs(diff_rorp, new)
File "/usr/lib/python3/dist-packages/rdiff_backup/rpath.py", line 238, in copy_attribs
rpout.write_ea(rpin.get_ea())
File "/usr/lib/python3/dist-packages/rdiff_backup/rpath.py", line 1664, in write_ea
ea.write_to_rp(self)
File "/usr/lib/python3/dist-packages/rdiff_backup/eas_acls.py", line 131, in write_to_rp
self.clear_rp(rp)
File "/usr/lib/python3/dist-packages/rdiff_backup/eas_acls.py", line 106, in clear_rp
rp.conn.xattr.remove(rp.path, name, rp.issym())
Traceback (most recent call last):
File "/usr/bin/rdiff-backup", line 32, in <module>
rdiff_backup.Main.error_check_Main(sys.argv[1:])
File "/usr/lib/python3/dist-packages/rdiff_backup/Main.py", line 395, in error_check_Main
Main(arglist)
File "/usr/lib/python3/dist-packages/rdiff_backup/Main.py", line 417, in Main
take_action(rps)
File "/usr/lib/python3/dist-packages/rdiff_backup/Main.py", line 353, in take_action
Backup(rps[0], rps[1])
File "/usr/lib/python3/dist-packages/rdiff_backup/Main.py", line 442, in Backup
backup.Mirror(rpin, rpout)
File "/usr/lib/python3/dist-packages/rdiff_backup/backup.py", line 39, in Mirror
DestS.patch(dest_rpath, source_diffiter)
File "/usr/lib/python3/dist-packages/rdiff_backup/backup.py", line 269, in patch
ITR(diff.index, diff)
File "/usr/lib/python3/dist-packages/rdiff_backup/rorpiter.py", line 313, in __call__
last_branch.fast_process(*args)
File "/usr/lib/python3/dist-packages/rdiff_backup/backup.py", line 587, in fast_process
if self.patch_to_temp(mirror_rp, diff_rorp, tf):
File "/usr/lib/python3/dist-packages/rdiff_backup/backup.py", line 636, in patch_to_temp
rpath.copy_attribs(diff_rorp, new)
File "/usr/lib/python3/dist-packages/rdiff_backup/rpath.py", line 238, in copy_attribs
rpout.write_ea(rpin.get_ea())
File "/usr/lib/python3/dist-packages/rdiff_backup/rpath.py", line 1664, in write_ea
ea.write_to_rp(self)
File "/usr/lib/python3/dist-packages/rdiff_backup/eas_acls.py", line 131, in write_to_rp
self.clear_rp(rp)
File "/usr/lib/python3/dist-packages/rdiff_backup/eas_acls.py", line 106, in clear_rp
rp.conn.xattr.remove(rp.path, name, rp.issym())
OSError: [Errno 22] Invalid argument
Trying to do some rdiff-backup run from my other machines (running Gentoo and Artix) on the same share works without a problem. The even run the same version of rdiff-backup: v2.0.5.
I'm out of ideas right now … can anybody help me? Having this automated backup up and running is crucial for the migration :-(
Offline
Using a more verbose output, one can see that the crash happens after already having copied the file, when applying the attributes:
2022-11-21 12:26:22.184387 +0100 <CLIENT-2738> Copying attributes from (b'bar',) to /nas/backup/test/rdiff-backup.tmp.1
Offline
This also happens using Debian. I just tried it with a new installation of Debian Bullseye, with only nfs-common and rdiff-backup installed. Same error.
Offline
afaik nfs doesn't support xattrs.
Maybe duplicity would work for you instead?
Online
I don't use xattrs. Also, as said, it works when using Gentoo or Artix! So I'm pretty sure this is a Devuan/Debian specific problem …
Last edited by l3u (2022-11-21 12:27:51)
Offline
Okay, I think I found it. Neither do I use xattrs, nor have I set the user_xattr option for any entry in my fstab.
Nevertheless, rdiff-backup seems to think that I use xattrs:
# rdiff-backup -v 5 foo/ /nas/backup/test/
...
-----------------------------------------------------------------
Detected abilities for source (read only) file system:
...
Extended attributes On
...
-----------------------------------------------------------------
...
Detected abilities for destination (read/write) file system:
...
Extended attributes On
...
-----------------------------------------------------------------
Explicitely disabling the use of xattrs via the --no-eas option works.
Seems to be a bug?!
Last edited by l3u (2022-11-21 13:46:54)
Offline
Just in case anybody else runs into this and finds this post: I created a bug report about this: https://github.com/rdiff-backup/rdiff-backup/issues/789
Last edited by l3u (2022-11-22 07:49:34)
Offline
Pages: 1