<?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> が正常に動作しないかもしれません。場合によっては、復元時にクラッシュしたりエラーが表示されるでしょう。データの復元がどうしても必要な場合は、最終的にバグとして対処しなければなりません。<link href="https://gitlab.gnome.org/World/deja-dup/-/issues/new">課題として報告する</link>ことを検討してください。その間に、ここでは <app>Déjà Dup</app> の不正な処理の回避策と、データを復旧するためのいくつかのアプローチを示します。</p>

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

<note><p>These instructions assume you are 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>
