Duplicity kann unter OS X nur als root wiederhergestellt werden

951
aperiodic

Wenn ich versuche, Dateien aus meiner Duplizitätssicherung in S3 auf meinem OS X-Computer aufzulisten oder wiederherzustellen, tritt ein Berechtigungsfehler auf:

 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' 

Die Berechtigungen für die betreffende Datei sind 600, und ich bin der Besitzer:

$ 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 

Wenn ich duplicity als root ausführen kann, kann ich Dateien wie erwartet auflisten. Die Dateien wurden ursprünglich auf einem VPS mit Debian 7 gesichert. Hat jemand eine Ahnung, was dies verursacht?

3

1 Antwort auf die Frage

4
hashier

Dies sollte Ihr Problem beheben:

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

Weitere Informationen zu diesem Fehler (und eine zweite Problemumgehung, die für mich nicht funktionierte): https://bugs.launchpad.net/duplicity/+bug/1077647