web-dev-qa-db-ja.com

Deja Dup復元エラーヘルプください

Ubuntu 12.10を実行しています

  • Intel i5
  • 8Gb
  • 1TB
  • ギガバイトMB

すべてのデータ(ホームフォルダーのみ)を外部HDDにバックアップしました。今日、同じバージョンのUbuntuでOSを新規インストールした後、データを復元できません。

コマンドラインを使用しようとするたびに、次のエラーが表示されます。

duplicity --gio file:///media/backup /tmp/restore

同じエラー

raceback (most recent call last):
  File "/usr/bin/duplicity", line 1412, in <module>
    with_tempdir(main)
  File "/usr/bin/duplicity", line 1405, in with_tempdir
    fn()
  File "/usr/bin/duplicity", line 1339, in main
    restore(col_stats)
  File "/usr/bin/duplicity", line 630, in restore
    restore_get_patched_rop_iter(col_stats)):
  File "/usr/lib/python2.7/dist-packages/duplicity/patchdir.py", line 522, in Write_ROPaths
    for ropath in rop_iter:
  File "/usr/lib/python2.7/dist-packages/duplicity/patchdir.py", line 495, in integrate_patch_iters
    final_ropath = patch_seq2ropath( normalize_ps( patch_seq ) )
  File "/usr/lib/python2.7/dist-packages/duplicity/patchdir.py", line 462, in patch_seq2ropath
    assert first.difftype != "diff", patch_seq
AssertionError: [(('home', 'harry', '.apport-ignore.xml') reg)]

助けてください。

3
mygnu

私はUbuntu 12.04を使用していますが、Deja-DupまたはDuplicityを使用してバックアップを復元するのに問題がありました。 2日間の調査と試行錯誤の後、次の手順をお勧めします(クイックリストアソリューションが必要な場合は手順4にジャンプしますが、手順1〜3で問題が再発することに注意してください)

ステップ1:Terminal with Duplicityを使用してバックアップを復元してください。

  1. Deja Dupでエラーが発生した場合は、ターミナルを開いて試してください

    duplicity --gio file:///media/backup /tmp/restore
    
  2. DuplicityはURLを想定しているため、必ずfile:///を使用してください。
  3. うまくいかなかった?ここにあるLaunchpadからテストスクリプトを実行して、Duplicityに問題があるかどうかを確認します。 https://bugs.launchpad.net/duplicity/+bug/1252484 。直接リンク: https://bugs.launchpad.net/duplicity/+bug/1252484/comments/1

ステップ2:必要に応じて提案バージョンにアップグレードすることにより、重複エラーを修正します。

  1. ここで提案されたリポジトリを有効にします:アプリケーション→Ubuntu Software Center→編集→ソフトウェアソース→更新提案されたレポはベータ版であるため、今すぐシステムを更新しないでください!
  2. これらのコマンドでのみDuplicityをアップグレードします(/preciseをUbuntuバージョン名に置き換えます)。詳細は https://wiki.ubuntu.com/Testing/EnableProposed

    Sudo apt-get update
    Sudo apt-get install duplicity/precise-proposed
    
  3. 提案されたリポジトリを無効にします!

  4. 再起動して、テストスクリプトを再度実行します。エラーはなくなるはずです!

ステップ3:Duplicityの他のエラーを確認します。

  1. 冗長モードでDuplicityを再度実行します(おそらくまだエラーが発生します)。

    duplicity -v9 --gio file:///media/backup /tmp/restore
    
  2. 端末出力の開始時に次のエラーを確認します。

    Import of duplicity.backends.sshbackend Failed: No module named paramiko 
    
  3. このエラーが見つかった場合は、別のパッケージをインストールしてください(ここで確認できます: http://www.rubenortiz.es/2012/12/11/ubuntu-no-module-named-paramiko/ ):

    apt-get install  python-paramiko
    

ステップ4:Deja Dupの問題を見つけて修正します。

  1. ターミナルで複製を再度実行します。

    duplicity -v9 --gio file:///media/backup /tmp/restore
    
  2. まだAssertionErrorがあり、ログは、重複によって受け入れられないため、バックアップの一部がスキップされることを示しています。
  3. バックアップフォルダーに移動します。
  4. 次のような名前のファイルを見つけます:duplicity-full-signatures.20130523T142126Z.sigtar.gz
  5. これらのファイルのすべてのexcept oneをバックアップフォルダーから安全な場所に移動します。
  6. 複製コマンドを再試行してください。これで動作するはずです。
  7. まだ動作しない場合は、異なるsigファイルで試してください。
  8. Deja Dupをもう一度試してください。これで動作するはずです。

修正されていないバージョンでは、Duplicityは、破損した復元につながる重複した署名ファイルを作成します。どの署名ファイルを保存する必要があるかわかりませんので、試行錯誤してください!ここにある情報: https://bugs.launchpad.net/ubuntu/+source/duplicity/+bug/633101 そしてここ: https://bugs.launchpad.net/duplicity/+ bug/703142

サイドノート:Deja Dupを最新の安定バージョンにアップグレードできませんでした。 v22にとどまっているので、問題があるかもしれません。

2
sir_brickalot