Apt

ubuntu 8.04lts + rdiff-backup:我應該從原始碼安裝而不是使用 apt 儲存庫嗎?

  • July 2, 2010

我正在嘗試使用rdiff-backup來製作 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']

在客戶端或伺服器上,執行“aptitude search rdiff-backup”。

您可能會在軟體包名稱中看到帶有特定版本號的 rdiff-backup 版本(我在 Debian 上得到了這個)。解除安裝通用版本並安裝客戶端和伺服器上可用的最高編號版本。

遇到同樣的問題後,我創建了一個 PPA,它提供了目前的 rdiff-backup,即使對於舊的 Ubuntu 版本也是如此。

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

當然,你真的不應該安裝陌生人提供的隨機 deb 文件。因此,您可能希望首先了解包源文件,以了解這些包與原始上游源的不同之處。

引用自:https://serverfault.com/questions/141140