<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-License-Identifier: CC-BY-SA-4.0
SPDX-FileCopyrightText: Michael Terry
-->
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" its:version="2.0" type="topic" style="task" id="restore-worst-case" xml:lang="ja">
<info>
  <desc>ファイルを復元できない時にするべきこと</desc>
  <link type="guide" xref="index#restore"/>
  <credit type="author" its:translate="no">
    <name>Michael Terry</name>
  </credit>
  <license href="http://creativecommons.org/licenses/by-sa/4.0/"><p>クリエイティブ・コモンズ 表示-継承 4.0 非移植 ライセンス</p></license>

    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Akihiro Nishimura</mal:name>
      <mal:email>https://launchpad.net/~nimu-zh3</mal:email>
      <mal:years/>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Kenichi Ito</mal:name>
      <mal:email>https://launchpad.net/~ken-i54k</mal:email>
      <mal:years/>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Nobuto Murata</mal:name>
      <mal:email>https://launchpad.net/~nobuto</mal:email>
      <mal:years/>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Shinichirou Yamada</mal:name>
      <mal:email>https://launchpad.net/~yamada-strong-yamada-nice-64bit</mal:email>
      <mal:years/>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>epii</mal:name>
      <mal:email>https://launchpad.net/~epii</mal:email>
      <mal:years/>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>sicklylife</mal:name>
      <mal:email>https://launchpad.net/~sicklylife</mal:email>
      <mal:years/>
    </mal:credit>
  </info>

<title>何をしても上手くいかない時</title>

<p><app>Déjà Dup</app> may fail.  Maybe it crashes or gives you an error when you try to restore.  When you really need your data back, the last thing you want do deal with is a bug.  Consider filing a <link href="https://gitlab.gnome.org/World/deja-dup/-/work_items/new">help request</link> but in the meantime, here are some approaches to workaround a misbehaving <app>Déjà Dup</app> and get your data back.</p>

<note><p>以下は技術的な内容です。よく分からない場合は<link xref="support">質問</link>してみてください。</p></note>

<note><p>These instructions assume you have a command line available. Open a <app>Terminal</app> window first.</p></note>

<section id="which-backend">
<title>Restic or Duplicity?</title>

<p>Over time, <app>Déjà Dup</app> has used different backup tools under the covers. Originally, it used <app>Duplicity</app>. Nowadays, it uses <app>Restic</app>.</p>
<p>Your backup might be in either format, depending on when you created it.</p>
<p>Look in the folder where your backup is kept:</p>
<list>
  <item><p>If the filenames all start with <cmd its:translate="no">duplicity-</cmd>, then it's a <app>Duplicity</app> backup. Read the <app>Duplicity</app> sections below.</p></item>
  <item><p>If you see a <cmd its:translate="no">config</cmd> file and a few folders like <cmd its:translate="no">keys</cmd>, then it's a <app>Restic</app> backup. Read the <app>Restic</app> sections below.</p></item>
</list>
</section>

<section id="restic">
<title>Restoring with Restic</title>

<p>On the assumption that <app>Déjà Dup</app> is just not working for you right now, let’s use the command line tool <app>Restic</app> that is used by <app>Déjà Dup</app> behind the scenes to back up and restore your files.</p>

<note style="advanced"><p>If you want more information about <app>Restic</app> than presented here, run <cmd its:translate="no">restic --help</cmd>.</p></note>

<p>まず、すべてのデータの単純な復元を試みてみましょう。バックアップファイルが <file its:translate="no">/media/backup</file> にマウントされた外付けドライブにあり、バックアップ時に暗号化することを選択したと仮定した場合、次のようにコマンドを実行します。</p>
<screen its:translate="no">restic restore --repo=/media/backup --target=/tmp/restore latest</screen>

<p>バックアップを暗号化していない場合は、コマンドに <cmd its:translate="no">--insecure-no-password</cmd> オプションを追加します。</p>

<p>If you need to do more advanced debugging, read their <link href="https://restic.readthedocs.io/en/stable/077_troubleshooting.html">troubleshooting guide</link>.</p>
</section>

<section id="duplicity">
<title>Duplicity で復元する</title>

<p>On the assumption that <app>Déjà Dup</app> is just not working for you right now, let’s use the command line tool <app>duplicity</app> that is used by <app>Déjà Dup</app> behind the scenes to back up and restore your files.</p>

<note style="advanced"><p>If you want more information about <app>Duplicity</app> than presented here, read <link href="http://duplicity.gitlab.io/docs.html">its online documentation</link>.</p></note>

<p>まず、すべてのデータの単純な復元を試みてみましょう。バックアップファイルが <file its:translate="no">/media/backup</file> にマウントされた外付けドライブにあり、バックアップ時に暗号化することを選択したと仮定した場合、次のようにコマンドを実行します。</p>
<screen its:translate="no">duplicity restore file:///media/backup /tmp/restore</screen>

<p>バックアップを暗号化していない場合は、コマンドに <cmd its:translate="no">--no-encryption</cmd> オプションを追加します。</p>

<section id="duplicity-locations">
<title>Other Storage Locations</title>
<p>If you backed up to a remote or cloud server, the syntax you use with <app>Duplicity</app> will be different than the external drive example above.</p>
<p>Read the <app>Duplicity</app> documentation for instructions on how to connect to your server, or try downloading all the <app>Duplicity</app> files yourself to a local folder and following the simpler example above.</p>
</section>

<section id="duplicity-by-hand">
<title>Restoring Duplicity Files by Hand</title>

<p><app>duplicity</app> すら動作しないのでは、おそらく望みは薄いでしょう。バックアップファイルのフォーマットは複雑で、簡単に操作することはできません。しかし、どうしても復元したいのであれば、手動での復元に挑戦してみるといいかもしれません。</p>

<p>リモートサーバーまたはクラウドサーバーをバックアップ先として使用していた場合は、まずあなたのコンピューター上のフォルダーに、すべての <app>duplicity</app> ファイルをダウンロードします。次に端末でそのフォルダーに移動します。</p>

<p><app>Duplicity</app> はボリュームと呼ばれる小さなチャンクにデータを保存します。ボリュームは定期的に実行される「完全バックアップ」と、それ以外の「増分バックアップ」に分類されます。完全バックアップセットの最初のボリュームから順に、ボリュームごとにファイルを復元する必要があります。</p>

<p>バックアップする際に暗号化した場合は、先にボリュームを <cmd its:translate="no">gpg</cmd> コマンドで復号しなければなりません。例えば <file its:translate="no">duplicity-full.20110127T131352Z.vol1.difftar.gpg</file> というファイルの場合は以下のように実行します。</p>
<screen its:translate="no">gpg --output duplicity-full.20110127T131352Z.vol1.difftar --decrypt duplicity-full.20110127T131352Z.vol1.difftar.gpg</screen>

<p>一度に複数のファイルを復号するには以下のように実行します (ドライブに十分な空き領域があることを確認してください)。</p>
<screen its:translate="no">gpg --multifile --decrypt duplicity-full.20110127T131352Z.*.difftar.gpg</screen>

<p>上述の例のように復号した場合は <file its:translate="no">.difftar</file>、暗号化していなかった場合は <file its:translate="no">.difftar.gz</file> というファイルが手元にあるはずです。<cmd its:translate="no">tar</cmd> コマンドを使用して、それらのファイルを展開します。</p>
<screen its:translate="no">tar xf duplicity-full.20110127T131352Z.vol1.difftar</screen>

<p>一度に複数のファイルを展開するには以下のように実行します。</p>
<screen its:translate="no">for t in duplicity-full.20110127T131352Z.*.difftar; do tar xf $t; done</screen>

<p><file its:translate="no">multivolume_snapshot</file> フォルダーや <file its:translate="no">snapshot</file> フォルダーにデータが展開されるでしょう。複数のボリュームにまたがるファイルは <file its:translate="no">multivolume_snapshot</file> に展開されます。例えば <file its:translate="no">/home/jane/essay.txt</file> というファイルを結合するには、以下のように実行します。</p>
<screen its:translate="no">cd multivolume_snapshot/home/jane/essay.txt
cat * &gt; essay.txt</screen>

<p>増分バックアップからデータを復元するには、<cmd its:translate="no">rdiff</cmd> コマンドを使ってファイルを結合します。使用方法は <cmd its:translate="no">man rdiff</cmd> で確認してください。</p>

</section>
</section>

</page>
