Calibre — свободный менеджер библиотеки электронных книг: каталогизация, метаданные, обложки, конвертация форматов и собственный веб-сервер с OPDS. Программа работает на Linux, Windows и macOS, а на сервере её удобно использовать без графики через calibredb и ebook-convert. Разберём установку, структуру библиотеки, конвертацию, пакетную обработку и запуск сервера.
Установка и первый запуск
В репозиториях Debian и Ubuntu есть пакет calibre, но он отстаёт от актуальной версии. Для новой библиотеки лучше официальный установщик: он кладёт программу в /opt/calibre и не конфликтует с системными пакетами.
sudo apt install calibre
calibre --version
sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin
calibre
Первый запуск открывает мастер: выберите папку библиотеки, например ~/Books. Calibre создаст внутри файл metadata.db — это SQLite-каталог, а сами книги раскладываются по подпапкам «автор/название». Перемещать файлы вручную нельзя: база и каталог должны соответствовать друг другу.
Для работы по SSH без графики используйте calibredb, ebook-convert и ebook-meta: они входят в тот же пакет и не требуют X-сервера.
Каталог из командной строки
calibredb добавляет, перечисляет и удаляет записи. Путь к библиотеке указывается явно, если он не совпадает с настройками по умолчанию.
calibredb add --with-library ~/Books book.epub
calibredb add --recurse --with-library ~/Books ~/Downloads/inbox
calibredb list --with-library ~/Books --fields title,authors,formats
calibredb remove --with-library ~/Books 12
Идентификатор в последней команде — это номер записи из list, а не имя файла. Удаление по умолчанию перемещает книгу в корзину библиотеки; флаг permanent удаляет безвозвратно. Перед массовыми операциями сделайте копию каталога.
Конвертация форматов
ebook-convert принимает десятки форматов: EPUB, FB2, MOBI, AZW3, PDF, DOCX, HTML, TXT. Качество зависит от исходника: из EPUB получается хороший PDF, а обратное направление почти всегда требует правки.
ebook-convert book.fb2 book.epub
ebook-convert book.epub book.azw3 --output-profile kindle_pw3
ebook-convert report.docx report.pdf --base-font-size 11
ebook-convert book.epub book.kepub.epub --output-profile kobo
Профиль устройства подбирает поля, размеры и встраивание шрифтов. Для Kindle актуален AZW3 или EPUB — современные модели принимают EPUB через Send to Kindle. Для Kobo нужен KEPUB, иначе не будут работать сноски и прогресс чтения. PDF для печати лучше собирать из DOCX или HTML, а не из EPUB с таблицами.
Полезные опции: —extra-css подключает таблицу стилей, —change-justification justify выравнивает текст, —cover задаёт обложку, —embed-all-fonts встраивает шрифты. Полный список выводит ebook-convert —help.
ebook-convert book.epub book.pdf --extra-css style.css --change-justification justify
ebook-convert book.epub out.epub --cover cover.jpg --embed-all-fonts
ebook-convert book.epub out.epub --base-font-size 13
ebook-convert --help
Метаданные и обложки
ebook-meta читает и записывает поля EPUB, FB2 и других форматов без открытия графики. Это основной способ привести имена авторов и серии к единому виду в пакетной обработке.
ebook-meta book.epub
ebook-meta book.epub --title "Название" --authors "Автор"
ebook-meta book.epub --cover cover.jpg --tags "linux,администрирование" -o fixed.epub
ebook-meta fixed.epub --series "Серия" --series-index 2
Для EPUB удобен ebook-polish: он сжимает картинки, убирает неиспользуемый CSS и подмножества шрифтов. Это уменьшает файл в разы без потери читаемости.
ebook-polish --compress-images --remove-unused-css book.epub
ebook-polish --subset-fonts book.epub
ebook-polish --embed-fonts book.epub
ebook-meta book.epub --get-cover cover-out.jpg
Сервер библиотеки
calibre-server отдаёт каталог в браузере и по OPDS, что удобно для читалок. Порт и библиотеку задают флагами, а доступ закрывают паролем. Для постоянной работы опишите запуск в systemd-юните от отдельного пользователя.
calibre-server --with-library ~/Books --port 8080
calibre-server --with-library ~/Books --port 8080 --enable-auth
calibre-server --manage-users
curl -I http://127.0.0.1:8080
Не открывайте порт в интернет без TLS и пароля: сервер отдаёт содержимое библиотеки целиком. В локальной сети достаточно привязки к внутреннему интерфейсу и правила файрвола. Пользователей добавляют в интерактивном режиме manage-users, пароли хранятся в конфиге сервера. Каталог OPDS доступен читалкам по адресу /opds.
Пакетная обработка
Массовая конвертация удобна циклом в shell: находим все FB2 в каталоге и раскладываем результат рядом. Перед запуском проверьте свободное место и сделайте тест на трёх файлах.
find ~/inbox -name "*.fb2" -print0 | while IFS= read -r -d '' f; do ebook-convert "$f" "${f%.fb2}.epub"; done
find ~/inbox -name "*.epub" -exec ebook-meta {} --tags "импорт" \;
calibredb add --recurse ~/inbox --with-library ~/Books
calibredb list --with-library ~/Books --sort-by timestamp --limit 10
Цикл с print0 и read -d корректно обрабатывает пробелы и кириллицу в именах. Если файлов тысячи, разбейте работу на части: calibre создаёт временные файлы и при нехватке места оставит мусор в /tmp.
Форматы, DRM и ограничения
Calibre не снимает защиту DRM и не предназначен для этого; книги, купленные с защитой, конвертировать не получится, и мы не помогаем снимать такую защиту. Для собственных и свободно распространяемых текстов ограничений нет.
PDF — плохой источник для конвертации: текст в нём часто разбит на блоки, порядок чтения теряется. Если PDF создан из текста, помогает pdftotext и последующая сборка EPUB. Сканы без OCR останутся картинками.
pdftotext -layout book.pdf book.txt
ebook-convert book.txt book.epub
pdfinfo book.pdf
pdffonts book.pdf
FB2 поддерживается и на входе, и на выходе, поэтому домашний архив переводится в EPUB без промежуточных утилит. Для больших библиотек следите за размером metadata.db и делайте резервные копии всей папки, а не только книг: при потере базы восстановление метаданных займёт часы. Встроенная функция «Export/Import» в графическом интерфейсе помогает перенести каталог на другую машину.
Чек-лист
- Библиотека лежит в отдельной папке, копия делается целиком.
- Файлы не перемещаются вручную, изменения идут через Calibre.
- Для массовых задач используется CLI, а не клики в интерфейсе.
- Профиль устройства соответствует читалке.
- Метаданные и обложки проверены у нескольких книг.
- Сервер закрыт паролем и не выставлен в интернет без TLS.
- DRM-книги не конвертируются, ограничения соблюдаются.
Итог
Calibre закрывает весь цикл работы с библиотекой: хранение, описание, конвертацию и выдачу книг по сети. Графический интерфейс удобен для наведения порядка, а calibredb и ebook-convert позволяют автоматизировать рутину на сервере без монитора. Начните с одной папки и резервной копии, проверьте конвертацию на трёх книгах и только потом запускайте пакетную обработку. Так библиотека останется целой, а форматы — совместимыми с вашими читалками.