ubuntu 8.04lts + rdiff-backup:我应该从源代码安装而不是使用 apt 存储库吗?

ubuntu 8.04lts + rdiff-backup:我应该从源代码安装而不是使用 apt 存储库吗?

我正在尝试使用rdiff-备份为了备份 Ubuntu 8.04LTS 服务器内的某些文件夹。

我正在尝试在另一台装有较新版 Ubuntu 发行版 (9.10) 的服务器上进行备份。我将这台服务器称为“客户端”。

rdiff-backup 需要安装在客户端和服务器上。它在两台机器的 apt 存储库中都有,所以我使用 安装了它sudo apt-get install rdiff-backup

问题是服务器上安装的版本比客户端上的版本旧(1.1.15 vs 1.2.8)。因此,当我尝试让它们一起工作时,会出现错误。

所以我需要两个版本相同。

在这些情况下,标准程序是什么?我应该尝试升级服务器上的版本,还是降级客户端上的版本?我该怎么做?

如果它有用,我想指出 rdiff-backup apt-package 有一些依赖项 - librsync1&python-support

附上我遇到的错误,希望它们有帮助:

rdiff-backup egarcia@test::/var/rails/ohwr/backup /home/kikito/backup/files
Warning: Local version 1.2.8 does not match remote version 1.1.15.
Exception '
Warning Security Violation!
Bad request for function: rpath.make_file_dict
with arguments: ['/var/rails/ohwr/backup']
' raised of class '<class 'rdiff_backup.Security.Violation'>':
  File "/usr/lib/pymodules/python2.6/rdiff_backup/Main.py", line 304, in error_check_Main
    try: Main(arglist)
  File "/usr/lib/pymodules/python2.6/rdiff_backup/Main.py", line 321, in Main
    rps = map(SetConnections.cmdpair2rp, cmdpairs)
  File "/usr/lib/pymodules/python2.6/rdiff_backup/SetConnections.py", line 78, in cmdpair2rp
    return rpath.RPath(conn, filename).normalize()
  File "/usr/lib/pymodules/python2.6/rdiff_backup/rpath.py", line 884, in __init__
    else: self.setdata()
  File "/usr/lib/pymodules/python2.6/rdiff_backup/rpath.py", line 908, in setdata
    self.data = self.conn.rpath.make_file_dict(self.path)
  File "/usr/lib/pymodules/python2.6/rdiff_backup/connection.py", line 450, in __call__
    return apply(self.connection.reval, (self.name,) + args)
  File "/usr/lib/pymodules/python2.6/rdiff_backup/connection.py", line 370, in reval
    if isinstance(result, Exception): raise result

Traceback (most recent call last):
  File "/usr/bin/rdiff-backup", line 30, in <module>
    rdiff_backup.Main.error_check_Main(sys.argv[1:])
  File "/usr/lib/pymodules/python2.6/rdiff_backup/Main.py", line 304, in error_check_Main
    try: Main(arglist)
  File "/usr/lib/pymodules/python2.6/rdiff_backup/Main.py", line 321, in Main
    rps = map(SetConnections.cmdpair2rp, cmdpairs)
  File "/usr/lib/pymodules/python2.6/rdiff_backup/SetConnections.py", line 78, in cmdpair2rp
    return rpath.RPath(conn, filename).normalize()
  File "/usr/lib/pymodules/python2.6/rdiff_backup/rpath.py", line 884, in __init__
    else: self.setdata()
  File "/usr/lib/pymodules/python2.6/rdiff_backup/rpath.py", line 908, in setdata
    self.data = self.conn.rpath.make_file_dict(self.path)
  File "/usr/lib/pymodules/python2.6/rdiff_backup/connection.py", line 450, in __call__
    return apply(self.connection.reval, (self.name,) + args)
  File "/usr/lib/pymodules/python2.6/rdiff_backup/connection.py", line 370, in reval
    if isinstance(result, Exception): raise result
rdiff_backup.Security.Violation: 
Warning Security Violation!
Bad request for function: rpath.make_file_dict
with arguments: ['/var/rails/ohwr/backup']

答案1

在客户端或服务器上,运行“aptitude search rdiff-backup”。

您可能会看到 rdiff-backup 版本在软件包名称中带有特定版本号(我在 Debian 上看到过)。卸载通用版本并安装客户端和服务器上可用的最高版本号的版本。

答案2

遇到了同样的问题后,我创建了一个 PPA,它甚至为旧版本的 Ubuntu 提供了当前的 rdiff 备份。

https://launchpad.net/~rdiff-backup-pkgs/+archive/ppa/+packages

当然,你真的不应该安装陌生人提供的随机 deb 文件。因此,你可能希望首先查看软件包源文件,看看这些软件包与原始上游源有何不同。

相关内容