Назад | Перейти на главную страницу

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 против 1.2.8). Таким образом, я получаю ошибки, когда пытаюсь заставить их работать вместе.

Поэтому мне нужно, чтобы обе версии были одинаковыми.

Какова стандартная процедура в этих случаях? Должен ли я пытаться обновить версию на сервере или понизить версию на клиенте? И как мне это сделать?

В случае, если это будет полезно, я хотел бы указать, что у apt-package rdiff-backup есть некоторые зависимости: 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']

Испытав те же проблемы, я создал PPA, который обеспечивает текущую резервную копию rdiff даже для более старых версий Ubuntu.

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

Конечно, вам действительно не следует устанавливать случайные deb-файлы, предоставленные незнакомцами. Следовательно, вы можете сначала взглянуть на исходные файлы пакета, чтобы увидеть, чем пакеты отличаются от исходного исходного кода.

На клиенте или на сервере запустите aptitude search rdiff-backup.

Вы можете увидеть версии rdiff-backup с определенными номерами версий в именах пакетов (я получил это в Debian). Удалите общую версию и установите версию с наибольшим номером, доступным как на клиенте, так и на сервере.