backup: follow symbolic links
For a long time Qubes backup did not include symlinked files, which apparently is quite common practice for users with multiple disks (for example HDD + SSD). It is covered in documentation (https://www.qubes-os.org/doc/secondary-storage/), but better solution would be to simply include symlinked files. Restore of such files would (of course) not preserve the symlinks - normal files will be restored instead. But that's fine. If the user want to move the data to another location, he/she can do that and restore the symlink. The only possible breakage from this change is having a copy (instead of symlink) to a VM icon. But storing that symlink in a backup was broken for some time (because of --xform usage) and it is handled during restore, so not a real problem. This doesn't cover all the problems with symlinked VM images - the other one is qvm-block behaviour, which would treat such images as non-system disks, so easily detachable (which would break VM operation). But that's another story. Fixes QubesOS/qubes-issues#1384
This commit is contained in:
parent
6051a89227
commit
f714a8224b
@ -555,6 +555,7 @@ def backup_do(base_backup_dir, files_to_backup, passphrase,
|
|||||||
tar_cmdline = ["tar", "-Pc", '--sparse',
|
tar_cmdline = ["tar", "-Pc", '--sparse',
|
||||||
"-f", backup_pipe,
|
"-f", backup_pipe,
|
||||||
'-C', os.path.dirname(filename["path"]),
|
'-C', os.path.dirname(filename["path"]),
|
||||||
|
'--dereference',
|
||||||
'--xform', 's:^%s:%s\\0:' % (
|
'--xform', 's:^%s:%s\\0:' % (
|
||||||
os.path.basename(filename["path"]),
|
os.path.basename(filename["path"]),
|
||||||
filename["subdir"]),
|
filename["subdir"]),
|
||||||
|
Loading…
Reference in New Issue
Block a user