“备份”(deja-dup):从源代码安装 duplicity 0.8 后,“备份”找不到它

“备份”(deja-dup):从源代码安装 duplicity 0.8 后,“备份”找不到它

当使用“备份”(又名 deja-dup)时 - 它找不到 duplicity,尽管它已经安装:

我一直在尝试使用“Backups”(又名 deja-dup)进行备份,结果发现当前的 duplicity(deja-dup 使用)仍然有“Unicode 错误”(处理 Unicode 字符串时会失败)。(我的系统上安装了“Backups”(又名 deja-dup):“deja-dup 备份工具”v 37.0,并安装了 duplicity v 0.7.17)。

我的系统:

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

因此,我删除了现有的 duplicity 安装,并从源代码安装了 duplicity 0.8:https://launchpad.net/duplicity。它将 duplicity 安装在:/usr/local/bin。它位于 PATH 中:

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

加载并安装所有必需项后,duplicity 0.8 本身运行良好:

~$ duplicity -V
duplicity 0.8.05

但是,运行“备份”(deja-dup)时,找不到它。弹出一个窗口,显示:

安装软件包

为了继续,需要安装以下软件包:duplicity

我安装了 dconf-editor,找到了 /org/gnome/deja-dup,但我没有看到 duplicity 路径的任何设置。

nautilus 和“apt list --installed”也看不到它。

注:交叉发布这里

答案1

为了解决您最初的 Unicode 错误问题,我建议您尝试使用 Deja Dup 的 snap 版本。它捆绑了 0.8 版的 duplicity。

答案2

如果 Deja-Dup 确实检查了 duplicity 包而不是命令,您可以尝试伪造 Debian 包,就像本例中一样,MySQL 5.6 依赖于客户端 5.5,这是关于依赖性的问题。

equivs可能有助于创建虚拟包。

  1. 安装 equivs:

    sudo apt-get install equivs
    
  2. 从模板生成控制文件:

    equivs-control duplicity
    
  3. 打开duplicity文件进行编辑。如果需要,请更改名称和版本:

    ...
    Package: duplicity
    Version: 0.8.05
    ...
    
  4. 构建然后安装:

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

笔记:

  • 它可以像任何软件包一样被卸载。如果您大规模使用此方法(公司计算机),请在描述(步骤 3)中写一些内容以表明它是一个虚拟/假软件包。
  • 对于一般情况,有些包有Provides:..字段,检查原始包并从其control文件中复制该行,然后按照步骤(3)添加它。

答案3

程序可以使用不同的 PATH 值运行。最常见的困扰是sudo命令使用一组有限的路径值。

使用 run 检查程序运行的环境ps axeww | grep deja-dup。输出将包括使用的 PATH 值,位于输出末尾。

如果可执行文件不在 deja-dup 使用的 PATH 中,您可以添加符号链接。例如,要添加符号链接,请运行/usr/bin/类似于以下命令。

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

答案4

安装 snap 版本的 duplicity,清除 apt duplicity,然后从 snap 创建到 apt 默认位置 (/usr/bin/duplicity) 的链接。然后重启。

看这里:https://bugs.launchpad.net/ubuntu/+source/duplicity/+bug/1770929/comments/30

相关内容