среда, 20 апреля 2011 г.

Конвертирование библиотеки Траума из fb2 в epub на ReadyNas Duo. Часть 1.

Для чтения книжек я более 3 лет пользуюсь читалкой Sony PRS-505. Пока она не пришла в негодность менять ее смысла нет.Единственное небольшое неудобство в том, что она не поддерживает формат fb2.

К счастью, существуют конверторы форматов. В сети можно скачать великолепный однокнопочный конвертор из fb2 под виндовс, Но мне лениво брать файл и тащить его в окошко конвертора.

Unix way, хоть и не так прост как операция drag & drop, но при выполнении рутины лучшего способа, чем пакетный режим Linux-а я не знаю.

Что мы попытаемся сделать.
Мы напишем скрипт конвертирования всей библиотеки Траума на ReadyNAS Duo. И запустим эту конвертацию.

Слава богу и open source программа конвертации из fb2 в epub доступна на форуме the-ebook

Приступим
Все описанные ниже действия мы выполняем прямо на ReadyNas Duo, подключившись к нему из под терминала.
  1. Сначала нужно создать директорию, где будем все компилить и установим необходимые пакеты: # mkdir -p /c/media/stuff/fb2epub/fb2epub # cd /c/media/stuff/fb2epub/fb2epub # wget http://fb2-to-epub-converter.googlecode.com/files/fb2toepub-1.0_4.zip # apt-get install g++ zlib1g-dev
  2. Лексический анализатор flex, доступный из репозитория имеет устаревшую версию 2.5.31-31sarge1. Поэтому скомпилим и установим последнюю версию: # cd /c/media/stuff/fb2epub # wget http://prdownloads.sourceforge.net/flex/flex-2.5.35.tar.gz # tar -xzvf flex-2.5.35.tar.gz # cd flex-2.5.35 # ./configure --build='sparc-linux' # make # checkinstall checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran This software is released under the GNU GPL. The checkinstallrc file was not found at: /usr/local/sbin/../checkinstallrc Assuming default values. The package documentation directory ./doc-pak does not exist. Should I create a default set of package docs? [y]: y Preparing package documentation...OK Please choose the packaging method you want to use. Slackware [S], RPM [R] or Debian [D]? D Please write a description for the package. End your description with an empty line or EOF. >> The Fast Lexical Analyzer >> ***************************************** **** Debian package creation selected *** ***************************************** /usr/local/sbin/checkinstall: line 1: dpkg-architecture: command not found /usr/local/sbin/checkinstall: line 1: rev: command not found /usr/local/sbin/checkinstall: line 1: rev: command not found /usr/local/sbin/checkinstall: line 1: rev: command not found /usr/local/sbin/checkinstall: line 1: rev: command not found This package will be built according to these values: 0 - Maintainer: [ root@ReadyNas1 ] 1 - Summary: [ The Fast Lexical Analyzer ] 2 - Name: [ flex ] 3 - Version: [ 2.5.35 ] 4 - Release: [ 1 ] 5 - License: [ GPL ] 6 - Group: [ checkinstall ] 7 - Architecture: [ sparc ] 8 - Source location: [ flex-2.5.35 ] 9 - Alternate source location: [ ] 10 - Requires: [ ] 11 - Provides: [ flex ] 12 - Conflicts: [ ] 13 - Replaces: [ ] . . . . . . . . . ********************************************************************** Done. The new package has been saved to /c/media/stuff/fb2epub/flex-2.5.35/flex_2.5.35-1_sparc.deb You can install it in your system anytime using: dpkg -i flex_2.5.35-1_sparc.deb ********************************************************************** # dpkg -i flex_2.5.35-1_sparc.deb
  3. И, наконец, скомпилируем конвертер: # cd /c/media/stuff/fb2epub/fb2epub # make

Мы сделали большую часть дела: скомпилировали под ReadyNAS утилиту конвертирования fb2 в формат epub.

Кому лениво все это компилировать, то можно скачать по ссылкам:
fb2toepub
flex_2.5.35-1_sparc.deb

Скорость конвертации на ReadyNAS Duo составляет около 500 книг в час. Библиотека Траума на 16 сентября 2011 года содержит около 125 000 книг. Таким образом вся библиотека на ReadyNas будет сконвертирована за 10 дней.
Для сравнения на ноутбуке Thinkpad x220 с процессором i7 2620 c тактовой частотой 2.7 GHz скорость конвертации составляет примерн 28000 книг в час.

В следующей статье я расскажу как настроить шрифты и сконвертировать всю библиотеку Траума.