Двуличность можно восстановить только как root на OS X

883
aperiodic

Когда я пытаюсь составить список или восстановить файлы из резервной копии с дублированием в S3 на моем компьютере с OS X, я сталкиваюсь с ошибкой разрешений:

 Traceback (most recent call last): File "/usr/local/bin/duplicity", line 1411, in <module> with_tempdir(main) File "/usr/local/bin/duplicity", line 1404, in with_tempdir fn() File "/usr/local/bin/duplicity", line 1282, in main sync_archive(decrypt) File "/usr/local/bin/duplicity", line 1082, in sync_archive copy_to_local(fn) File "/usr/local/bin/duplicity", line 1031, in copy_to_local tdp.move(globals.archive_dir.append(loc_name)) File "/Library/Python/2.7/site-packages/duplicity/path.py", line 618, in move self.copy(new_path) File "/Library/Python/2.7/site-packages/duplicity/path.py", line 444, in copy self.copy_attribs(other) File "/Library/Python/2.7/site-packages/duplicity/path.py", line 449, in copy_attribs util.maybe_ignore_errors(lambda: os.chown(other.name, self.stat.st_uid, self.stat.st_gid)) File "/Library/Python/2.7/site-packages/duplicity/util.py", line 65, in maybe_ignore_errors return fn() File "/Library/Python/2.7/site-packages/duplicity/path.py", line 449, in <lambda> util.maybe_ignore_errors(lambda: os.chown(other.name, self.stat.st_uid, self.stat.st_gid)) OSError: [Errno 1] Operation not permitted: '/Users/dlp/.cache/duplicity/duply_default/duplicity-full-signatures.20130611T011527Z.sigtar.gz' 

Разрешения для рассматриваемого файла 600, и я владелец:

$ ls -alh ~/.cache/duplicity/duply_default/duplicity-full-signatures.20130611T011527Z.sigtar.gz  -rw------- 1 dlp staff 11M Jun 11 15:31 /Users/dlp/.cache/duplicity/duply_default/duplicity-full-signatures.20130611T011527Z.sigtar.gz 

Если я запускаю duplicity от имени root, я могу вывести список файлов, как ожидается. Файлы были изначально сохранены на VPS, работающем под управлением Debian 7. Кто-нибудь знает, что может быть причиной этого?

3

1 ответ на вопрос

4
hashier

This should fix your problem:

$ mkdir -p ~/.cache/tmp $ duplicity <your options> --tempdir=~/.cache/tmp 

More informations about this bug (and a second workaround that didn't work for me): https://bugs.launchpad.net/duplicity/+bug/1077647