ファイルとコレクションの管理

コレクションのチェック

コレクションファイルに問題がないか定期的にチェックすることをお勧めします。これは、ツール>データベースのチェックメニュー項目から行えます。データベースのチェックは、ファイルが破損していないことを確認し、内部構造を再構築し、ファイルを最適化します。

データベースをチェックすると、タグリストも再構築されます。個々のデッキやカードを削除しても、Ankiは使用されているタグのリストを更新しません。使用されていない古いタグをリストから削除したい場合は、データベースをチェックすることが方法です。

Ankiは2週間に一度、自動的にコレクションを最適化します。この最適化は、コレクションのパフォーマンスを向上させますが、自動最適化時にはエラーのチェックやタグリストの再構築は行いません。

ファイルの場所

Windowsでは、最新のAnkiバージョンはAnkiファイルをappdataフォルダーに保存します。ファイルマネージャーを開き、場所フィールドに%APPDATA%\Anki2と入力することでアクセスできます。古いバージョンのAnkiは、Documentsフォルダー内のAnkiというフォルダーにAnkiファイルを保存していました。

Macコンピューターでは、最近のAnkiバージョンはすべてのファイルを~/Library/Application Support/Anki2フォルダーに保存します。ライブラリフォルダーはデフォルトで非表示になっていますが、オプションキーを押しながら移動メニューをクリックするとFinderで表示できます。古いAnkiバージョンを使用している場合、AnkiファイルはDocuments/Ankiフォルダーにあります。

Linuxでは、最近のAnkiバージョンはデータを~/.local/share/Anki2またはカスタムデータパスを設定している場合は$XDG_DATA_HOME/Anki2に保存します。古いバージョンのAnkiは、~/Documents/Ankiまたは~/Ankiにファイルを保存していました。

Ankiフォルダー内には、プログラムレベルおよびプロファイルレベルの設定がprefs.dbというファイルに保存されています。

各プロファイルには別々のフォルダーがあります。このフォルダーには以下が含まれます:

  • collection.anki2というファイルに保存されたノート、デッキ、カードなど
  • collection.mediaフォルダーに保存されたオーディオと画像
  • バックアップフォルダー
  • 一部のシステムファイル

Ankiが開いている間にコレクションをコピーまたは移動しないでください。これを行うと、コレクションが破損する可能性があります。他のファイルを移動または変更しないでください。

起動オプション

あるコンピューターで破壊的な変更を行い、別のコンピューターに無傷のコピーがある場合、変更をダウンロードせずに完全同期オプションを使用するために、同期せずにAnkiを起動することをお勧めします。同様に、Ankiに問題が発生している場合、アドオンを一時的に無効にして問題の原因を確認することができます。これらの操作は、Ankiを起動する際にShiftキーを押しながら行うことができます。

起動時にカスタムフォルダーの場所を指定することも可能です。これは主にポータブルインストールで使用することを意図した高度な機能であり、ほとんどの場合はデフォルトの場所を使用することをお勧めします。

カスタムフォルダーを指定する構文は次のとおりです:

anki -b /path/to/anki/folder
  • 複数のプロファイルがある場合、-p <name>を渡して特定のプロファイルを読み込むことができます。

  • -p some-fake-nameを渡すと、起動時にプロファイル画面が表示されます。プロファイルが指定されていない場合、最後に使用したプロファイルが読み込まれます。

  • インターフェース言語を変更するには、-l <iso 639-1 language code>を使用します。例えば、日本語の場合は"-l ja"です。

常にカスタムフォルダーの場所を使用したい場合は、Ankiのショートカットを変更できます。Windowsでは、ショートカットを右クリックし、プロパティを選択し、ショートカットタブを選択して、プログラムのパスの後に"-b \path\to\data\folder"を追加します。これにより、次のようになります:

"C:\Program Files\Anki\anki.exe" -b "C:\AnkiDataFolder"

この技術を使用して、-lオプションを使用してAnkiを異なる言語で簡単に使用することもできます。

Windowsでは、スラッシュ(/)ではなくバックスラッシュ(\)を使用する必要があります。

Macでは、Ankiアイコンをクリックしたときの動作を簡単に変更する方法はありませんが、ターミナルからカスタムベースフォルダーでAnkiを起動することは可能です:

open /Applications/Anki.app --args -b ~/myankifolder

または、環境変数"ANKI_BASE"を定義することもできます。Windowsでは、次のコマンドで環境変数を定義できます:

set "ANKI_BASE=C:/path/to/AnkiDataFolder"

LinuxおよびmacOSでは、次のコマンドを使用できます:

export ANKI_BASE="/path/to/AnkiDataFolder"

DropBoxとファイル同期

サードパーティの同期サービスでAnkiフォルダーを直接同期することはお勧めしません。ファイルが使用中に同期されると、データベースが破損する可能性があります。

メディアのみを同期したい場合は、外部フォルダーをDropBoxなどのサービスにリンクできます。詳細については、DropboxWiki: Sync Folders Outside Dropbox (archive.org)を参照してください。

コレクションも同期したい場合は、同期フォルダーからローカルフォルダーにファイルをコピーし、Ankiを起動し、Ankiを閉じた後にファイルを戻すスクリプトを作成することを強くお勧めします。これにより、ファイルが開いている間に同期されることがなくなります。

ネットワークファイルシステム

Ankiのファイルをローカルハードディスクに保存することを強くお勧めします。ネットワークファイルシステムはデータベースの破損を引き起こす可能性があります。ネットワークファイルシステムが唯一のオプションである場合は、破損を検出するためにツール>データベースのチェックを定期的に使用することをお勧めします。

フラッシュドライブからの実行

Windowsでは、AnkiをUSB/フラッシュドライブにインストールしてポータブルアプリケーションとして実行できます。以下の例では、USBドライブがドライブGであると仮定しています。

  • \Program Files\Ankiフォルダをフラッシュドライブにコピーし、G:\Ankiのようなフォルダを作成します。

  • 次のテキストを含むG:\anki.batという名前のテキストファイルを作成します:

    g:\anki\anki.exe -b g:\ankidata

黒いコマンドプロンプトウィンドウが開いたままになるのを防ぎたい場合は、代わりに次のようにします:

start /b g:\anki\anki.exe -b g:\ankidata
  • anki.batをダブルクリックすると、G:\ankidataにユーザーデータが保存された状態でAnkiが起動します。

ドライブ文字を含む完全なパスが必要です。\anki\anki.exeを使用しようとすると、同期が停止することがあります。

AnkiWebとのメディア同期は、フラッシュドライブがFAT32としてフォーマットされている場合、正常に動作しないことがあります。メディアが正しく同期されるように、ドライブをNTFSとしてフォーマットしてください。

バックアップ

このセクションをご覧ください。

アクセスできないハードディスク

AnkiがAnkiフォルダ内のファイルに書き込めない場合、起動時にAnkiがハードディスクに書き込めないというメッセージが表示され、Ankiが閉じます。権限の修正方法がわからない場合は、コンピュータに詳しい人に相談してください。

一時フォルダの権限

Ankiは一時データを保存するためにシステムの一時フォルダを使用します。このフォルダの権限が不正なアプリやバグのあるウイルス対策アプリによってデフォルト設定から変更された場合、Ankiは正常に動作しません。

Windows 7マシンを使用している場合、問題を修正するための一般的な手順は以下の通りです。これはやや複雑なので、Windowsに詳しい人に相談してください。

  1. スタートバーをクリックし、%temp%(パーセントを含む)と入力してEnterを押します。

  2. 1つ上のフォルダに移動し、tempフォルダを見つけます。右クリックしてプロパティを選択します。

  3. セキュリティタブで、詳細設定をクリックします。

  4. 所有者タブをクリックします。所有者としてリストされていない場合は、所有権を取得するボタンをクリックします。

  5. 権限タブで、完全な制御があることを確認します。デフォルトのW7インストールでは、制御は実際にはc:\users\your-usernameから継承されます。

コレクションの破損

Ankiはプログラムやコンピュータのクラッシュに対して堅牢なファイル形式を使用していますが、Ankiが開いている間にファイルが変更されたり、ネットワークドライブに保存されたり、バグによって破損したりすると、コレクションが破損する可能性があります。

ツール>データベースのチェックを実行すると、Ankiがファイルの破損を検出した場合にメッセージが表示されます。これから回復する最良の方法は、最新の自動バックアップから復元することですが、バックアップが古すぎる場合は、代わりに破損を修復することができます。

Linuxでは、sqlite3がインストールされていることを確認してください。Macでは、すでにインストールされているはずです。Windowsでは、http://www.sqlite.org/sqlite-3_6_23.zipをダウンロードしてください。

次に、以下の手順で問題が発生した場合に備えて、collection.anki2ファイルのバックアップを作成します。

Linux/macOS

ターミナルを開き、コレクションがあるフォルダに移動して、次のコマンドを入力します:

sqlite3 collection.anki2 .dump > dump.txt

生成されたdump.txtファイルをテキストエディタで開き、最後の行を確認します。それが「rollback;」と表示されている場合は、「commit;」に変更します。

次に、ターミナルで以下を実行します:

cat dump.txt | sqlite3 temp.file

必ずtemp.fileを使用してください。右側にcollection.anki2を置かないでください。そうしないとファイルが空になります。完了したら、最終ステップに進みます。

Windows

sqlite3.exeプログラムとデッキをデスクトップにコピーします。次に、スタート>実行に移動し、cmd.exeと入力します。

最近のWindowsを使用している場合、コマンドプロンプトがデスクトップで開始されないことがあります。コマンドプロンプトにデスクトップが表示されない場合は、ログイン名を「administrator」に置き換えて、次のように入力します。

cd C:\Users\Administrator\Desktop

次に、以下を入力します:

sqlite3 collection.anki2 .dump > dump.txt

生成されたdump.txtファイルをテキストエディタで開き、最後の行を確認します。それが「rollback;」と表示されている場合は、「commit;」に変更します。

次に、ターミナルで以下を実行します:

type dump.txt | sqlite3 temp.file

必ずtemp.fileを使用してください。右側にcollection.anki2を置かないでください。そうしないとファイルが空になります。完了したら、最終ステップに進みます。

最終ステップ

エラーメッセージが表示されず、temp.fileが空でないことを確認します。この手順はコレクションを最適化するため、新しいファイルは古いファイルよりもやや小さくなるのが通常です。

ファイルが空でないことを確認したら:

  • 元のcollection.anki2ファイルの名前を変更します

  • temp.fileの名前をcollection.anki2に変更します

  • collection.anki2をコレクションフォルダに戻し、古いバージョンを上書きします

  • Ankiを起動し、ツール>データベースのチェックに移動して、コレクションが正常に復元されたことを確認します。