Керування файлами та колекцією

Перевірка колекції

Гарною ідеєю буде час від часу перевіряти файл колекції на наявність проблем. Це можна зробити за допомогою пункту меню Інструменти>Перевірити базу даних. Перевірка бази даних гарантує, що файл не пошкоджено, перебудовує деякі внутрішні структури та оптимізує файл.

Коли ви перевіряєте базу даних, ваш список тегів також перебудовується. Коли ви видаляєте окремі колоди чи карти, Anki не оновлює список використаних тегів, оскільки це неефективно. Якщо ви хочете очистити зі списку старі теги, які більше не використовуються, перевірте свою базу даних.

Зверніть увагу, що Anki автоматично оптимізує вашу колекцію кожні 2 тижні. Ця оптимізація забезпечує хорошу роботу колекції, але вона не перевіряє наявність помилок і не перебудовує список тегів під час автоматичної оптимізації.

Розташування файлів

У Windows останні версії Anki зберігають ваші файли 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, якщо ви встановили спеціальний шлях до даних. Старіші версії Anki зберігали файли в ~/Documents/Anki або ~/Anki.

У папці Anki параметри на рівні програми та профілю зберігаються у файлі під назвою prefs.db.

Також для кожного профілю є окрема папка. Папка містить:

  • Ваші нотатки, колоди, карти тощо у файлі під назвою collection.anki2

  • Ваші аудіо та зображення в папці collection.media

  • Папка резервних копій

  • Деякі системні файли

Ви ніколи не повинні копіювати або переміщувати свою колекцію, коли Anki відкрито. Це може призвести до пошкодження вашої колекції. Також не переміщуйте та не змінюйте інші файли в папці.

Параметри запуску

Якщо ви внесли деструктивні зміни на одному комп’ютері та маєте непошкоджену копію на іншому комп’ютері, ви можете запустити Anki без синхронізації, щоб скористатися опцією повної синхронізації без попереднього завантаження змін. Подібним чином, якщо у вас виникли проблеми з Anki, ви можете тимчасово вимкнути додаткові компоненти (або отримати вказівку про це), щоб перевірити, чи вони спричиняють проблему. Ви можете зробити обидві ці дії, утримуючи клавішу Shift під час запуску Anki.

Під час запуску можна вказати власну папку. Це розширена функція, яка в першу чергу призначена для використання з портативними інсталяціями, і ми рекомендуємо використовувати розташування за замовчуванням у більшості випадків.

Синтаксис для визначення альтернативної папки такий:

anki -b /path/to/anki/folder
  • Якщо у вас кілька профілів, ви можете передати -p <name> завантажити конкретний профіль.

  • Якщо ви передасте -p some-fake-name, Anki відобразить екран профілю під час запуску. Якщо профіль не надано, завантажується останній використаний профіль.

  • Щоб змінити мову інтерфейсу, використовуйте -l <iso 639-1 мова код>, наприклад "-l ja" для японської мови.

Якщо ви завжди хочете використовувати власне розташування папки, ви можете змінити свій ярлик для Anki. У Windows клацніть правою кнопкою миші ярлик, виберіть «Властивості», виберіть вкладку «Ярлик» і додайте «-b \шлях\до\папки даних\» після шляху до програми, що має виглядати як щось на зразок

"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: Синхронізація папок поза 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 повинно запустити Anki з даними користувача, що зберігаються в G:\ankidata.

Необхідно вказати повний шлях, включно з літерою диска. Якщо замість цього ви спробуєте використати \anki\anki.exe, синхронізація перестане працювати.

Синхронізація медіа з AnkiWeb може не працювати, якщо флешку відформатовано як FAT32. Відформатуйте диск як NTFS, щоб забезпечити правильну синхронізацію медіа.

Резервні копії

Перегляньте цей розділ.

Недоступний жорсткий диск

Якщо Anki не може писати у файли в папці Anki, під час запуску з’явиться повідомлення про те, що Anki не може писати на жорсткий диск, і Anki закриється. Якщо ви не впевнені, як виправити дозволи, зверніться до когось поруч, хто знає комп’ютери та може вам допомогти.

Дозволи для тимчасової папки

Anki використовує тимчасову папку системи для зберігання тимчасових даних. Якщо дозволи цієї папки були змінені з налаштувань за замовчуванням шахрайською програмою або антивірусною програмою з помилками, Anki не працюватиме належним чином.

Якщо ви користуєтеся комп’ютером з Windows 7, нижче наведено загальні кроки для вирішення проблеми. Оскільки це дещо складно, запитайте когось, хто знає Windows, якщо не впевнені.

  1. Клацніть на початковій панелі та введіть %temp% (включаючи %), потім натисніть Enter.

  2. Підніміться на одну папку вгору та знайдіть папку 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, командний рядок може не запускатись на одразу із паки Desktop. Якщо ви не бачите Desktop в командному рядку, введіть щось на зразок наступного, замінивши 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 та перейдіть до Інструменти>Перевірити базу даних, щоб переконатися, що колекцію успішно відновлено.