Impossible to back up Steam directory
Summary
The ~/.steam/root
directory is both silently ignored and impossible to back up, even with it explicitly added in the include list.
Silently excluding the Steam directory violates the simple impression the tool is trying to make by going against the user intuition that their entire home directory is backed up. Excluding it by default also doesn't have a significant enough benefit, as modern disks are cheap enough to have more than enough capacity to accommodate backing up Steam files. Furthermore, some games may save their game save files on the disk, so if excluded by default could cause unexpected data loss by users who restored from backup after losing the original files only to realize that their game save file is never backed up, which has already happened to some (link to Launchpad bug). This is different than the other default exclusion rules where it can be reasonably argued that they are temporary files and can be easily regenerated anyways after restore.
Also, currently there seems to be no way of overriding this default by explicitly adding the Steam directory, since I made a backup after explicitly including the directory and it's still not in the file list. This means that users who wish to back up their Steam files will be unable to use Deja Dup. This seems to be caused by passing the user inclusion/exclusion flags to duplicity
at the end of the default rules, which Duplicity ignores after picking up the first matching rules.
To remedy the aforementioned issues, I suggest to:
- Remove the default Steam exclusion rule, and
- Include all the default rules as included or excluded folders since it is already used to exclude
Trash
,- This makes the feature easily discoverable to the user and don't come as surprises at restore time
- Or, if not possible or deemed to cluster the UI:
- Treat user provided inclusion/exclusion rules as higher priority than default rules to allow manual overriding,
- And provide easily discoverable notice that there are default exclusion rules, since Deja Dup appears to be a simple tool and so people are less likely to dig through the help page
Reproduction Steps
- (Add
~/.steam/root
to the included folders,) - Make a backup,
- Go to the restore tab,
- And observer that it is not backed up.
Debug Information
System Details: OS=Ubuntu 21.04 Desktop=ubuntu-xorg Locale=en_US.UTF-8 Home=/home/tbxcq Version=42.7 Tool Name=Duplicity Tool Version=0.8.17
GSettings: [org.gnome.DejaDup] exclude-list=['$TRASH', '/home/tbxcq/jkfviql/uoclkt', '/home/tbxcq/jkfviql/ulgmu', '/home/tbxcq/jkfviql/dqmajlqsux', '/home/tbxcq/jkfviql/simtmq-dp-fs', '/home/tbxcq/jkfviql/wur'] periodic-period=1 prompt-check='disabled' include-list=['$HOME', '/home/tbxcq/.traee/oapt'] periodic=true delete-after=365 last-restore='2021-07-07T08:03:40.418977Z' nag-check='2021-07-09T17:41:13.102353Z' last-backup='2021-07-09T18:17:25.098120Z' last-run='2021-07-09T17:48:45.248227Z' backend='remote'
[org.gnome.DejaDup.Local] folder='dyc-rmcw'
[org.gnome.DejaDup.Google] folder='dyc-rmcw'
[org.gnome.DejaDup.Remote] folder='/olt/uoclkt/tbxcq' uri='ssh://tsouhikqedu'
Latest Duplicity Log: DEBUG 1 . Found manifest volume 8799
DEBUG 1 . Found manifest volume 8800
DEBUG 1 . Found manifest volume 8801
DEBUG 1 . Found manifest volume 8802
DEBUG 1 . Found manifest volume 8803
DEBUG 1 . Found manifest volume 8804
DEBUG 1 . Found manifest volume 8805
DEBUG 1 . Found manifest volume 8806
DEBUG 1 . Found manifest volume 8807
DEBUG 1 . Found manifest volume 8808
DEBUG 1 . Found manifest volume 8809
DEBUG 1 . Found manifest volume 8810
DEBUG 1 . Found manifest volume 8811
DEBUG 1 . Found manifest volume 8812
DEBUG 1 . Found manifest volume 8813
DEBUG 1 . Found manifest volume 8814
DEBUG 1 . Found manifest volume 8815
DEBUG 1 . Found manifest volume 8816
DEBUG 1 . Found manifest volume 8817
DEBUG 1 . Found manifest volume 8818
DEBUG 1 . Found manifest volume 8819
DEBUG 1 . Found manifest volume 8820
DEBUG 1 . Found manifest volume 8821
DEBUG 1 . Found manifest volume 8822
DEBUG 1 . Found manifest volume 8823
DEBUG 1 . Found manifest volume 8824
DEBUG 1 . Found manifest volume 8825
DEBUG 1 . Found manifest volume 8826
DEBUG 1 . Found manifest volume 8827
DEBUG 1 . Found manifest volume 8828
DEBUG 1 . Found manifest volume 8829
DEBUG 1 . Found manifest volume 8830
DEBUG 1 . Found manifest volume 8831
INFO 1 . Found 8831 volumes in manifest
DEBUG 1 . Registering (mktemp) temporary file /home/tbxcq/.cache/deja-dup/tmp/duplicity-grsl_q55-tempdir/yxooar-u_pnwcgd-j
INFO 1 . Deleting /home/tbxcq/.cache/deja-dup/tmp/duplicity-grsl_q55-tempdir/yxooar-u_pnwcgd-j
DEBUG 1 . Forgetting temporary file /home/tbxcq/.cache/deja-dup/tmp/duplicity-grsl_q55-tempdir/yxooar-u_pnwcgd-j
INFO 2 1 8832 . Processed volume 1 of 8832
INFO 1 . Processing local manifest b /home/tbxcq/.cache/deja-dup/jqfnlijntdohcmajddykynriauwhvhji/duplicity-inc.20210707T070545Z.to.20210709T175931Z.manifest (34733)
DEBUG 1 . Found manifest volume 1
INFO 1 . Found 1 volumes in manifest
DEBUG 1 . Registering (mktemp) temporary file /home/tbxcq/.cache/deja-dup/tmp/duplicity-grsl_q55-tempdir/wlopyi-whyairkx-p
INFO 1 . Deleting /home/tbxcq/.cache/deja-dup/tmp/duplicity-grsl_q55-tempdir/wlopyi-whyairkx-p
DEBUG 1 . Forgetting temporary file /home/tbxcq/.cache/deja-dup/tmp/duplicity-grsl_q55-tempdir/wlopyi-whyairkx-p
INFO 2 2 8832 . Processed volume 2 of 8832
ERROR 19 . home/tbxcq/yvdbkfiub/tnlfqeo/wymbnr/ush fkd.bvb not found in archive - no files restored.
DEBUG 1 . Releasing lockfile b /home/tbxcq/.cache/deja-dup/jqfnlijntdohcmajddykynriauwhvhji/lockfile
DEBUG 1 . Removing still remembered temporary file /home/tbxcq/.cache/deja-dup/tmp/duplicity-grsl_q55-tempdir/pkubceb-fuumehqj-u
DEBUG 1 . Releasing lockfile b /home/tbxcq/.cache/deja-dup/jqfnlijntdohcmajddykynriauwhvhji/lockfile
DEBUG 1 . Releasing lockfile b /home/tbxcq/.cache/deja-dup/jqfnlijntdohcmajddykynriauwhvhji/lockfile