I’ve been using deja-dup front end to duplicity to backup my Ubuntu Linux. This has worked fine. The only problems I had were trying to restore files I had not backed up (/etc….) – a Defective End User problem.
Restoring one of these files was a little challenge, with bumps in the road… here’s how I did it. I’ve listed the errors I received while using duplicity.
A high level thought – should you change the repository name every year – such as including the year?
Where am I backing up to (where do I restore from)?
Use the deja-dup application (use the Linux show applications and find backup).
Under Storage location will be location and folder.
If this is an external drive it may be mounted under /mnt/… or /media/.
High level view
duplicity collection-status file:///media/colinpaice/UbuntuBackup/home/Backup2023
gave
Last full backup date: Sun Jan 1 17:02:48 2023 Collection Status ----------------- Connecting with backend: BackendWrapper Archive directory: /home/colinpaice/.cache/duplicity/52b5c01605d52d0976f1434440a7c11a Found 0 secondary backup chains. Found primary backup chain with matching signature chain: ------------------------- Chain start time: Sun Jan 1 17:02:48 2023 Chain end time: Tue Jan 10 08:19:05 2023 Number of contained backup sets: 10 Total number of contained volumes: 250 Type of backup set: Time: Number of volumes: Full Sun Jan 1 17:02:48 2023 238 Incremental Mon Jan 2 08:25:38 2023 1 Incremental Tue Jan 3 08:50:23 2023 1 Incremental Wed Jan 4 08:53:01 2023 1 Incremental Thu Jan 5 08:22:41 2023 1 Incremental Fri Jan 6 08:36:31 2023 4 Incremental Sat Jan 7 10:23:00 2023 1 Incremental Sun Jan 8 12:16:58 2023 1 Incremental Mon Jan 9 09:02:31 2023 1 Incremental Tue Jan 10 08:19:05 2023 1 ------------------------- No orphaned or incomplete backup sets found.
List files in the backup
duplicity list-current-files file:///media/colinpaice/UbuntuBackup/home/Backup2023/
I saved the list of files using
duplicity list-current-files file:///media/colinpaice/UbuntuBackup/home/Backup2023 >dup.lst
Synchronising remote metadata to local cache…
GnuPG passphrase for decryption:
This took over a minute (it has to check thousands of files names). I think it scans every “signature” file to build a list. The more signature files – the longer it takes.
Inside dup.lst it had entries like
Tue Aug 14 11:41:33 2018 etc/NetworkManager/system-connections/LG-D855_2292
This says the backed up file was from the given date in 2018.
List files available on a given date
I used
duplicity list-current-files –time 5D file:///media/colinpaice/UbuntuBackup/home/Backup2023 > aa.lst
to get a list of files available 5 days ago.
Restore the file
duplicity restore -t 3D –file-to-restore etc/NetworkManager/system-connections/LG-D855_2292 file:///media/colinpaice/UbuntuBackup/home/Backup2023 /home/colinpaice/secret/abc
where
- -t ( or –time) specify a time period
- 3D for three days ago. Other options s, m, h, D, W, M, or Y. 1M3d is 33 days ago.
- etc/Network…. this is the file I wanted to restore. Note no leading / .
- file:///media…/home/Backup2023 from this backup location.
- /home/colinpaice/secret/abc and put the file here. The file/directory must not exist.
Restore a directory
Specify the folder (ending in /) and specify a target directory (/home/colinpaice/secret/abcd). It will create the directory if needed.
If you specify a name like etc/…/* it will report it was not found in archive.
duplicity restore -t 3D –file-to-restore etc/NetworkManager/system-connections/ file:///media/colinpaice/UbuntuBackup/home/Backup2023 /home/colinpaice/secret/abcd
Error messages
gpg: WARNING: unsafe permissions on homedir
This says the contents of your secret directory are publicly available. Change the permissions.
chmod 600 /home/colinpaice/.gnupg/*
chmod 700 /home/colinpaice/.gnupg/
Local and Remote metadata are synchronized, no sync needed.
This is OK. It means the metadata is the same in the local cache as in the remote store.
duplicity.dup_collections.CollectionsError: No signature chains found
You have the wrong backup repository name,
- it needs ///
- ls should give a filename like /media/colinpaice/UbuntuBackup/…./duplicity-new-signatures.20230101T170248Z.to.20230102T082538Z.sigtar.gpg
Error ‘[Errno 1] Operation not permitted: b’/home/colinpaice/secret/abc” processing .
After the restore, duplicity was not able to use chown on the file to restore it to the original owner.
GPGError: GPG Failed, see log below:
===== Begin GnuPG log ===== gpg: AES256 encrypted data gpg: gcry_kdf_derive failed: Invalid data gpg: encrypted with 1 passphrase gpg: decryption failed: No secret key ===== End GnuPG log =====
I got this asking for a date before backups were taken. See
duplicity collection-status file:///media/colinpaice/UbuntuBackup/home/Backup2023
I was looking for a backup in 2002 – which was not in the 2003 backup.