4

When using "Backups" (a.k.a. deja-dup) - it doesn't find duplicity, although it's installed:

I have been trying to backup using "Backups" (a.k.a. deja-dup), and it turns out that the current duplicity (which deja-dup uses) still has the "Unicode bug" (it fails when dealing with Unicode strings). (I have "Backups" (a.k.a. deja-dup) installed on my system: "deja-dup backup tool" v 37.0, and had duplicity v 0.7.17).

My system:

~$ lsb_release -a
Description:   Ubuntu 18.04.3 LTS; Release:  18.04; Codename:   bionic

So, I then removed the existing installation of duplicity, and installed duplicity 0.8 from source: https://launchpad.net/duplicity. It installs duplicity at: /usr/local/bin. It's in PATH:

~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

After loading and installing all the requirements, duplicity 0.8 itself runs fine:

~$ duplicity -V
duplicity 0.8.05

But, when running "Backups" (deja-dup), it doesn't find it. A window pops up, saying:

INSTALL PACKAGES

In order to continue, the following package needs to be installed: duplicity

I installed dconf-editor, found /org/gnome/deja-dup, but I don't see there any settings for the duplicity path.

nautilus and "apt list --installed" don't see it, either.

Note: cross posted here

4 Answers4

2

To solve your original issue of Unicode errors, I would recommend trying the snap version of Deja Dup. It has the 0.8 version of duplicity bundled in.

1

Programs can run with different PATH values. The most common that has bitten me is that sudo commands use a limited set of path values.

To Check the environment that a program is running with run ps axeww | grep deja-dup. The output will include the value of PATH used, towards the end of the output.

If the executable is not in the PATH used by deja-dup, you can add a symbolic link. For example to add a symbolic link in /usr/bin/ run a command similar to the following.

sudo ln -s /usr/local/bin/duplicity /usr/bin

J. Starnes
  • 1,979
1

If Deja-Dup does check for duplicity package instead of command, you may try faking a Debian package like in this case MySQL 5.6 depends on client 5.5 , which is about a dependency issue.

equivs may help to create dummy packages.

  1. Install equivs:

    sudo apt-get install equivs
    
  2. Generate control file from template:

    equivs-control duplicity
    
  3. Open duplicity file for edit. Change name and version if needed:

    ...
    Package: duplicity
    Version: 0.8.05
    ...
    
  4. Build then install it:

    equivs-build duplicity
    sudo dpkg -i duplicity*.deb
    

Notes:

  • It can be uninstalled like any package. If you are using this method on large scale (company computers), write something in description (step 3) to indicate it's a dummy/fake package.
  • For general case, some packages have Provides:.. field, check original package and copy that line from its control file, add it with step (3).
user.dz
  • 49,176
1

Install snap version of duplicity, purge apt duplicity, and create link from snap to apt default location(/usr/bin/duplicity). And reboot.

See here: https://bugs.launchpad.net/ubuntu/+source/duplicity/+bug/1770929/comments/30