0

My laptop has just been repaired and I have a fresh, clean install of Ubuntu 18.04. I would like to restore the data in my home directory, using the backups I made on an external hard drive, using the Deja-dup backup tool. But it does not work at all, and I am in serious trouble. I first tried using the graphical user interface, but the error message was not informative. After a look at various posts, I tried the command line:

duplicity restore --no-encryption file:///media/path/to/backups /home/me/restore

where /home/me/restore is a directory where I would like to restore my data, and /media/path/to/backups is where the backup is stored, i.e., a directory with many files named duplicity-full.*.vol*.difftar.gz.

The error message I get is:

    Traceback (innermost last):
  File "/usr/bin/duplicity", line 1555, in <module>
    with_tempdir(main)
  File "/usr/bin/duplicity", line 1541, in with_tempdir
    fn()
  File "/usr/bin/duplicity", line 1393, in main
    do_backup(action)
  File "/usr/bin/duplicity", line 1472, in do_backup
    restore(col_stats)
  File "/usr/bin/duplicity", line 728, in restore
    restore_get_patched_rop_iter(col_stats)):
  File "/usr/bin/duplicity", line 750, in restore_get_patched_rop_iter
    backup_chain = col_stats.get_backup_chain_at_time(time)
  File "/usr/lib/python2.7/dist-packages/duplicity/collections.py", line 974, in get_backup_chain_at_time
    raise CollectionsError("No backup chains found")
 CollectionsError: No backup chains found

I also tried

duplicity list-current-files --no-encryption file:///media/path/to/backups/

which produces the same (error) output.

Edit: I have copied the content of /media/path/to/backups/ to a directory in my new home: /home/me/path/to/backups. The command:

$ ls -l *

outputs a list of files with the same permissions, similar to:

-rwxr-xr-x 1 me me 240414720 avril  3 17:16 duplicity-full.20200318T095811Z.vol100.difftar

where me replaces my real user name. The command:

$ sudo duplicity list-current-files --no-encryption file:///home/me/path/to/backups/

outputs:

gpg: Attention : le propriétaire du répertoire personnel « /home/me/.gnupg »
            n'est pas sûr
Les métadonnées locales et distantes sont déjà synchronisées. Aucune synchronisation nécessaire.
Avertissement, jeux de sauvegarde incomplets trouvés, probablement laissés par des sessions interrompues
Date de la dernière sauvegarde complète : aucune
Traceback (innermost last):
  File "/usr/bin/duplicity", line 1555, in <module>
    with_tempdir(main)
  File "/usr/bin/duplicity", line 1541, in with_tempdir
    fn()
  File "/usr/bin/duplicity", line 1393, in main
    do_backup(action)
  File "/usr/bin/duplicity", line 1476, in do_backup
    list_current(col_stats)
  File "/usr/bin/duplicity", line 702, in list_current
    sig_chain = col_stats.get_signature_chain_at_time(time)
  File "/usr/lib/python2.7/dist-packages/duplicity/collections.py", line 998, in get_signature_chain_at_time
    raise CollectionsError("No signature chains found")
 CollectionsError: No signature chains found

So it seems pointless to test the restoration of a single file.

I could not find a file with "signature" in its name at this place.

However, I use [this post]Extract duplicity files manually to extract manually the content of the backup. It happens that for 8 .gz file, extraction fails with an error:

gzip: duplicity-full.20200318T095811Z.vol57.difftar.gz: invalid compressed data--format violated

So in the end, I was able to recover a (tiny) fraction of my data, and I have lost hope completely for the rest.

I might have done something wrong (this is difficult to trace now), but at the very least, duplicity did not warn me that the backup was corrupted.

5
  • Did you backup as root or as your own user ID? Was it the same userid number as on the original save or was your Id (the number in the password file) "user:x:userid_number: etc". Have you tried restoring (say just one file) as root?
    – jpezz
    Apr 2, 2020 at 22:00
  • Thanks for your comment. I did my backup using my own user ID. I do not know how to check whether the userid number has changed or not (your 2nd question). I have not tried anything as root. I just tried a sudo duplicity list-current-files but the message stays the same.
    – AsMa
    Apr 3, 2020 at 7:48
  • Try doing the list as root. Try restoring one file as root. Look at file permissions and ownership ("ls -l filename"). Post results as part of your question, not as a comment.
    – jpezz
    Apr 6, 2020 at 1:34
  • Thanks for your comment @jpezz. I have edited my question accordingly.
    – AsMa
    Apr 7, 2020 at 12:57
  • Version of duplicity? Also, in backup folder, there should be text file with list of files. Will have "signature" in name. Do "tar tf that_file_name | more" to see if the file names are legit. Be sure there are lots of other files in directory named "duplicity-full...vol...bz. Those are the backup. Do "ls -l" on files. Is owner your user name? Are you SURE you used absolute path names? Rerun restore w/ "-v9" option & replace your output with the output from that verbose version. Files can be manually restored also. See wiki.gnome.org/Apps/DejaDup/Help/Restore/WorstCase#Restoring_by_Hand
    – jpezz
    Apr 8, 2020 at 13:59

1 Answer 1

0

Not sure if this answers your question, but I had a similar issue by using the command line for restoring. I gave up and tried finding other solutions and came across this one. I'm sure it's well known, but thought of posting anyway. Before you install deja dup, you'll have to follow these instructions for ubuntu and setup flatpak. Once you set up flatpak and install the deja dup GUI, you'll be able to recover any files as they're shown in the restore folder. you can choose to restore whatever you want from there.

1
  • 1
    While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes. - From Review
    – Pilot6
    May 17, 2022 at 13:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .