Управление файлами и коллекцией
- Проверка коллекции
- Пользовательские данные
- Файлы программы
- Параметры запуска
- DropBox и синхронизация файлов
- Сетевые файловые системы
- Запуск с флеш-накопителя
- Резервные копии
- Недоступный жесткий диск
- Права доступа к временной папке
- Повреждённые коллекции
Проверка коллекции
Рекомендуется время от времени проверять файл вашей коллекции на наличие проблем. Вы можете сделать это через пункт меню «Инструменты > Проверить базу данных». Проверка базы данных оптимизирует файл перестраивая некоторые внутренние структуры, что гарантирует нормальную работу всей программы.
При проверке базы данных также перестраивается список меток. Когда вы удаляете отдельные колоды или карточки, Anki не обновляет список используемых меток, так как это неэффективно. Если вы хотите удалить из списка старые метки, которые больше не используются, проверка базы данных — подходящий способ сделать это.
Обратите внимание, что Anki автоматически оптимизирует вашу коллекцию один раз в 2 недели. Эта оптимизация обеспечивает хорошую производительность коллекции, но при автоматической оптимизации не выполняется проверка на ошибки и не перестраивается список меток.
Пользовательские данные
В Windows последние версии Anki хранят файлы вашей коллекции в папке appdata. Вы можете получить к ней доступ, открыв файловый менеджер и введя %APPDATA%\Anki2 в поле адреса. Более старые версии Anki хранили файлы Anki в папке Anki в каталоге Documents.
На компьютерах Mac последние версии Anki хранят все пользовательские данные в папке ~/Library/Application Support/Anki2. Папка Library по умолчанию скрыта, но её можно отобразить в Finder, удерживая клавишу option при нажатии на меню Go. Если у вас используется более старая версия Anki, файлы Anki будут находиться в папке Documents/Anki.
В Linux последние версии Anki хранят пользовательские данные в ~/.local/share/Anki2 или в $XDG_DATA_HOME/Anki2, если вы указали пользовательский путь к данным. Если вы используете стороннюю сборку Flatpak, ваши файлы будут находиться в ~/.var/app/net.ankiweb.Anki/data/Anki2/. Более старые версии Anki хранили файлы в ~/Documents/Anki или ~/Anki.
Внутри папки Anki настройки программы и профили пользователей хранятся в файле prefs.db.
Также существует отдельная папка для каждого профиля. Она содержит:
-
Ваши записи, колоды, карточки и прочее в файле
collection.anki2 -
Аудио- и графические файлы (медиафайлы) в папке
collection.media -
Папку резервных копий
-
Некоторые системные файлы
Никогда не копируйте и не перемещайте коллекцию, пока Anki запущен. Это может привести к повреждению коллекции. Также не следует перемещать или изменять другие файлы в этой папке.
Файлы программы
Лаунчер Anki (файл или совокупность файлов служащих для запуска Anki) по умолчанию устанавливается в следующих расположениях:
- Windows:
%LOCALAPPDATA%\Programs\Anki - macOS:
/Applications/Anki.app - Linux:
/usr/local/share/anki
Когда вы устанавливаете/обновляете Anki с помощью лаунчера, он загружает вспомогательные файлы и размещает их в следующих местах:
- Windows:
%LOCALAPPDATA%\AnkiProgramFiles - macOS:
~/Library/Application Support/AnkiProgramFiles - Linux:
~/.local/share/AnkiProgramFiles
Удаление этой папки приведёт к тому, что лаунчер будет вести себя как при новой установке.
Папка AnkiProgramFiles содержит все файлы, необходимые для работы Anki, за исключением лаунчера. Вы можете скопировать её в другую папку или на другую систему и запустить Anki из нового расположения, открыв AnkiProgramFiles/.venv/bin/anki (или AnkiProgramFiles\.venv\scripts\anki в Windows). Если поместить её в стандартное расположение на новом компьютере, лаунчер также сможет повторно использовать существующие файлы при условии, что они были скопированы с сохранением времён изменения.
Дополнительную информацию см. в разделе о флеш-накопителях ниже.
Параметры запуска
Если вы внесли разрушительные изменения (программа поломалась) на одном компьютере и имеете неповреждённую копию на другом, вы можете захотеть запустить Anki без синхронизации, чтобы использовать полную синхронизацию без предварительной загрузки изменений. Аналогично, если у вас возникают проблемы с Anki, вам может потребоваться (или вам могут порекомендовать) временно отключить дополнения, чтобы проверить, не вызывает ли одно из них проблему. Чтобы сделать оба этих действия одновременно, вы можете запустить Anki в безопасном режиме, удерживая клавишу Shift при запуске Anki. Продолжайте удерживать Shift, пока сообщение на экране не сообщит, что Anki запущен в безопасном режиме. Если вы используете Linux и это не сработало, выполните команду:
anki --safemode
Также возможно указать пользовательское расположение папки данных при запуске. Это продвинутая функция, в первую очередь предназначенная для портативных установок, и в большинстве случаев рекомендуется использовать расположение по умолчанию.
Синтаксис для указания альтернативной папки выглядит следующим образом:
anki -b /path/to/anki/folder
-
Если у вас несколько профилей, вы можете передать
-p <name>для загрузки конкретного профиля. -
Если вы передадите -p some-fake-name, Anki покажет экран выбора профиля при запуске. Если профиль не указан, загружается последний использованный профиль.
-
Чтобы изменить язык интерфейса, используйте
-l <iso 639-1 language code>, например-l jaдля японского языка. Если вы всегда хотите использовать пользовательское расположение папки данных, вы можете изменить ярлык Anki. В Windows щёлкните правой кнопкой мыши по ярлыку, выберите Properties, перейдите на вкладку Shortcut и добавьте-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-накопителю присвоена буква диска E (при необходимости измените её).
ПРЕДУПРЕЖДЕНИЕ: Буква диска должна быть одинаковой на всех устройствах. Если вы настроите это для диска E, то, например, для флешки с буквой D это работать не будет.
ПРЕДУПРЕЖДЕНИЕ: Синхронизация медиафайлов с AnkiWeb может не работать, если флеш-накопитель отформатирован в FAT32. Пожалуйста, отформатируйте диск в NTFS, чтобы обеспечить корректную синхронизацию медиафайлов.
- Загрузите последнюю версию лаунчера Anki и установите его в пользовательское расположение:
E:\Anki\Launcher. НеE:\Anki\Launcher\Anki. - Когда лаунчер появится, закройте его, не устанавливая Anki.
- Поместите следующий текст в файл
E:\Anki\Anki.bat:
@echo off
echo Starting Anki...
set USB_ROOT=%~dp0
set ANKI_LAUNCHER_VENV_ROOT=%USB_ROOT%\AnkiProgramFiles
set ANKI_LAUNCHER=%USB_ROOT%\Launcher\anki
set ANKI_BASE=%USB_ROOT%\AnkiData
start /b %ANKI_LAUNCHER%
- Дважды щёлкните по созданному вами .bat-файлу и установите Anki как обычно.
- Теперь вы можете дважды щёлкать по .bat-файлу, чтобы запускать Anki с других машин.
«Инструменты > Повышение/понижение» продолжит работать, но только если у вашей машины есть доступ к интернету.
Резервные копии
Пожалуйста, смотрите этот раздел.
Недоступный жесткий диск
Если Anki не может записывать файлы в каталог с данными пользователя, то при запуске будет показано сообщение о том, что Anki не может записывать на жёсткий диск, после чего Anki закроется. Если вы не уверены, как исправить права доступа, пожалуйста, обратитесь к кому-нибудь рядом с вами, кто хорошо разбирается в компьютерах и может помочь.
Права доступа к временной папке
Anki использует системную временную папку для хранения временных данных. Если права доступа к этой папке были изменены по сравнению с настройками по умолчанию вредоносным приложением или ошибочным антивирусом, Anki будет работать некорректно.
Если вы используете Windows 7 (новые версии anki только для Windows 10+), общие шаги для исправления проблемы приведены ниже. Так как это довольно сложно, пожалуйста, попросите помощи у человека, хорошо разбирающегося в Windows, если вы не уверены.
-
Нажмите на кнопку «Пуск» и введите %temp% (включая проценты), затем нажмите Enter.
-
Перейдите на один уровень выше и найдите папку temp. Щёлкните по ней правой кнопкой мыши и выберите «Свойства».
-
На вкладке «Безопасность» нажмите «Дополнительно».
-
Перейдите на вкладку «Владелец». Если вы не указаны как владелец, нажмите кнопку, чтобы стать владельцем.
-
На вкладке «Разрешения» убедитесь, что у вас есть полный доступ. В стандартной установке Windows 7 права фактически наследуются из 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 и выберите «Инструменты > Проверить базу данных», чтобы убедиться, что коллекция была успешно восстановлена.