2012/05/29 Alexandria(蔵書管理、ブック・コレクション・マネージャー)

Alexandria

Alexandria で蔵書管理(ブック・コレクション・マネージャー)

Alexandria

  • Alexandria: a book collection manager for GNOME http://alexandria.rubyforge.org/
  • たくさん登録すると少々表示が遅いですが、バーコードリーダーも使えて便利です。
    • バーコードリーダーはテンキーと同じようなもので、バーコードが意味する数字を読み取って入力する装置です。テキストエディタ等々どんなソフトウェアでも使えるもので、Alexandria でも使用できます。
  • エクスポート機能があり、他の蔵書ソフトにインポートすることが可能です。
  • スクリーンショット http://alexandria.rubyforge.org/screenshots.html

Alexandriaの近況とバージョン

  • 2011年11月3日リリースの Alexandria 0.6.7 (0.6.7-1)
  • 2010年6月リリースの Alexandria 0.6.6
    • ライブラリの表示が速くなりました。
  • 2009年12月21日 に Alexandria 0.6.6 beta 1 released
  • 2009年8月リリースの Alexandria 0.6.5
    • Amazon AWS の Access Key ID / Secret Access Key に対応されました。
    • これ以前は Alexandria が提供する設定済みの Access Key ID で Amazon の書籍情報の検索ができましたが、Amazon AWS の Product Advertising API の仕様変更により、現在はユーザ各自の Access Key ID と Secret Access Key が必要です。Key は AWS サイトで無料で取得できますので、それを Alexandria に設定すれば検索できます。
    • ヘルプを読むとインストール時のデフォルトでも検索できるとなっているので、AmazonからKeyを取得する必要はないかも知れません。
  • 2008年4月の Alexandria 0.6.3
    • Amazon ECS 4.0 service に対応されました。

Alexandriaのインストール

Debian の場合
  • alexandria のサイトから deb パッケージをダウンロードしてインストールするだけです。
    • sudo dpkg --install alexandria_0.6.7_all.deb
過去からのAlexandriaのインストール履歴
  • Debian 6.0 (squeeze) 環境に alexandria_0.6.6-1 をインストールしました。
    • 先に以下の Ruby関連パッケージをインストールする必要があります。
    • libimage-size-ruby1.8 libimage-size-ruby1.9.1 libzoom-ruby libhpricot-ruby libgnome2-ruby libglade2-ruby libgconf2-ruby libgettext-ruby1.8
    • そして、sudo dpkg --install alexandria_0.6.6-1_all.deb でインストールします。
$ sudo aptitude install libimage-size-ruby1.8 libimage-size-ruby1.9.1 libzoom-ruby libhpricot-ruby
 libgnome2-ruby libglade2-ruby libgconf2-ruby libgettext-ruby1.8

$ sudo dpkg --install alexandria_0.6.6-1_all.deb 
未選択パッケージ alexandria を選択しています。
(データベースを読み込んでいます ... 現在 128906 個のファイルとディレクトリがインストールされています。)
(alexandria_0.6.6-1_all.deb から) alexandria を展開しています...
alexandria (0.6.6-1) を設定しています ...
gtk-update-icon-cache: Cache file created successfully.
hicolor-icon-theme のトリガを処理しています ...
man-db のトリガを処理しています ...
menu のトリガを処理しています ...
desktop-file-utils のトリガを処理しています ...
gnome-menus のトリガを処理しています ...
gconf2 のトリガを処理しています ...
  • 以下、Debian 5.0 (lenny) 環境
  • Alexandria のサイトから alexandria_0.6.5_all.deb をダウンロードしてインストールします。
$ sudo dpkg --install alexandria_0.6.5_all.deb
  • libamazon-ruby というパッケージについて
    • このパッケージは AWS 3.0対応ですので、現在の Amazon ECS 4.0 に対応しておらず、インストールしても意味がないです。Alexandria が上手く動かない場合、libamazon-ruby パッケージが使われていることが原因かも知れないので、これは削除した方がよいです。
  • lenny パッケージの 0.6.1-1
    • Amazon ECS 4.0 対応前のバージョンですが、libamazon-ruby を入れなければ上手く動いたと思います。
    • Amazon の書籍情報を利用しない場合は 0.6.1-1 でもよいですが、利用する場合は 0.6.5 が必要です。
$ sudo aptitude install alexandria
$ sudo aptitude install libhpricot-ruby libhtmlentities-ruby
  • バージョンアップ(alexandria_0.6.6-1)
    • 旧バージョンを削除せず、そのまま0.6.6-1をインストールしました。
$ sudo dpkg --install alexandria_0.6.6-1_all.deb 
[sudo] password for xxxxx: 
(データベースを読み込んでいます ... 現在 160934 個のファイルとディレクトリがインストールされています。)
alexandria 0.6.5 を (alexandria_0.6.6-1_all.deb で) 置換するための準備をしています ...
alexandria を展開し、置換しています...
alexandria (0.6.6-1) を設定しています ...
gtk-update-icon-cache: Cache file created successfully.
man-db のトリガを処理しています ...
menu のトリガを処理しています ...
$ 
  • Debian 6.0 (squeeze) 環境で alexandria_0.6.7-1 にアップデートしました。
    • 旧バージョンを一旦削除し、インストールしました。削除せずにそのままアップデートすることもできると思います。
$ sudo dpkg --install alexandria_0.6.7-1_all.deb
未選択パッケージ alexandria を選択しています。
(データベースを読み込んでいます ... 現在 134236 個のファイルとディレクトリがインストールされています。)
(alexandria_0.6.7-1_all.deb から) alexandria を展開しています...
alexandria (0.6.7-1) を設定しています ...
gtk-update-icon-cache: Cache file created successfully.
gconf2 のトリガを処理しています ...
desktop-file-utils のトリガを処理しています ...
gnome-menus のトリガを処理しています ...
menu のトリガを処理しています ...
man-db のトリガを処理しています ...
hicolor-icon-theme のトリガを処理しています ...

$ dpkg -l alexandria
要望=(U)不明/(I)インストール/(R)削除/(P)完全削除/(H)維持
| 状態=(N)無/(I)インストール済/(C)設定/(U)展開/(F)設定失敗/(H)半インストール/(W)トリガ待ち/(T)トリガ保留
|/ エラー?=(空欄)無/(R)要再インストール (状態,エラーの大文字=異常)
||/ 名前         バージョ   説明
+++-==============-==============-============================================
ii  alexandria     0.6.7-1        GNOME application for managing book collecti
$ 
Ubuntu の場合
  • Ubuntu 11.10 では2011年現在上手く動かないそうです。リポジトリからも一旦消えてます。
  • Ubuntu 10.04 LTS (Lucid Lynx) では普通にパッケージ・マネージャーでインストールすればOKです。alexandria 0.6.5 がインストールされ、Amazon.com (JP) での検索が可能でした。
Fedora の場合
  • パッケージマネージャーでインストールするだけ OK でしたが、Product Advertising API の仕様変更への対応(Alexandria 0.6.5で対応)については未確認です。

Alexandria の設定

  • ロケール
    • [編集]-[設定]ー[プロバイダ]タブから Amazon ECS を選択し、[セットアップ]ボタンを押してロケールを jp にします。
    • 0.6.4.1 ではロケールが us のままでも、日本の Amazon からの書籍情報が取得できましたが、いずれにしても jp にした方が早く検索できます。
  • ライブラリ
    • 設定というより使い方ですが、一つのライブラリに多くの本を登録すると表示が遅くなります。いくつかライブラリで分けるとよいと思います。
    • フィルタはライブラリ横断で可能です。
    • ライブラリに追加した情報はホームディレクトリの .alexandria にライブラリフォルダごとに1件の登録につき2ファイルのペアで保存されてます。
    • 古い話かもしれないですが、1つのディレクトリにファイルは10000個くらいにしておく方がよいかもしれませんので、Alexandria の1つのライブラリには数千冊くらいにしておいた方がよいかも知れません。

ライブラリの読み込みを速くするには

  • Alexandria のライブラリはホームフォルダの .alexandria フォルダに保存されます。ISBN番号.yaml と ISBN番号.cover のペアで保存されてます。
  • Debian 5.0 (lenny) の頃は Alexandria を起動してライブラリを表示するが少し遅い感じがありました。実用的な速度ですが、パッと画面が開く感じでなく、ワンテンポ待たされる感じです。
  • Debian 6.0 (squeeze) にバージョンアップしたところ、ライブラリを開くのが速くなりました。.alexandria のあるホームフォルダのファイルシステムは同じ ext3 ですが、ルートフォルダを ext4 にしたので速くなったのかも知れません。Alexandria のバージョンは Debian 6.0 (squeeze) 標準の 0.6.1-1 でも速かったです。(この標準パッケージは古いので使ってません。)
  • ホームフォルダのファイルシステムを ext4 にコンバートしたところ、もっと速くなりました。
  • アイコンをクリックすればライブラリがパッと開く感じです。2400冊くらいを新規高機能ライブラリ(検索ライブラリ)で読むと、これは待たされ、私のPCでは24秒くらいかかりました。
  • 参考までにファイルシステムを ext3 から ext4 にするコマンドは下記の通りです。/home が /dev/sda6 という環境での例です。Single で起動して実行しました。たぶん、マルチでもrootユーザーで普通にできると思います。
# umount /dev/sda6
# fsck.ext3 -pf /dev/sda6
# tune2fs -O extents,uninit_bg,dir_index /dev/sda6
# fsck.ext4 -yfD /dev/sda6
# vi /etc/fstab
======================
/home のファイルシステムを ext4に書き換えます。UUIDは変わらなかったです。

# /home was on /dev/sda6 during installation
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /home ext3 defaults
                                                   ↓
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /home ext4 defaults  
======================

# mount /home

*念のためUUIDを調べるなら
# tune2fs -l /dev/sda6 | grep UUID

書籍情報の登録(本の追加/本を追加)、バーコードリーダーの利用

EAN、JAN や ISBN での入力
  • 本が多い場合はバーコードリーダー(バーコードスキャナー)を使えば便利です。
  • EANや日本のJAN(書籍JANコード)は本の裏表紙やカバーにバーコードとして印刷されてますので、これをピッと入力するのが楽です。2段ある場合は上段のコードです。
  • EAN、JANはバーコードの下の数字を入力して書籍情報を得ることもできます。バーコード化される前は奥付の下にコードが印刷されていることがあります。
  • ISBN も本の裏表紙やカバーに印刷されており、そのコード番号(数字)をキーボードで入力して書籍情報を得ることができます。(EAN、JANとISBNはほぼ同じです)
  • エフケイシステム CCDバーコードリーダー USBインターフェイス TSK-U (CCD-TSK-U)
    • 手頃なバーコードリーダーで、Amazon.com で 6,800円(税、運送費込み)でした。
    • ISBN番号の取り扱いや、入力音の調整、入力後の改行コード等の各種設定がマニュアルのバーコードで設定できます。
    • CCD-TSKシリーズ性能一覧 https://www.fksystem.com/shop/spec/TSK.html
    • マニュアルのダウンロード http://www.fksystem.com/download.html
書名や作者での入力
  • 書名や作者を入力して検索できます。複数候補があれば一覧から選択できます。
Alexandria での使い方
  • 「本を追加」のメニューで追加できます。
    • Alexandria の「スキャナから読み込む」というメニューは、米国でCueCatバーコードスキャナを使っているユーザ用で、日本ではこれは使わないと思います。(Alexandria のヘルプ参照)
  • 連続入力をする方法
    • 「本を追加」メニューで「本の追加」ウインドウが開き、「Keep Dialog Open after Adding Book」のチェックボックスを ON にします。
    • スキャナでピッと入力すれば Alexandria が自動的に書籍情報を検索し、見つかればライブラリに情報が追加され、入力欄がクリアされ入力待ちになります。
    • そうすれば続けて次の本をピッと入力すれば連続入力できます。
    • 検索の待ち時間はほとんどなく問題ないですが、情報が見つからない場合は Amazon 以外のサイト(Alexandriaにあらかじめ登録されている)に検索しに行くので、検索結果を待つのに少々時間がかかります。洋書の場合には次々検索しに行ってもよいですが、和書の場合にはAmazon以外のサイトでヒットすることはほとんどないです。
  • バッチ入力はできません
    • バーコードリーダーを使えば、EAN、JANあるいはISBNコードをテキストファイルにどんどん入力していくことが簡単にできるのですが、このファイルを読み込んで検索することが Alexandria ではできません。
    • しかし、実際に登録作業してみると、検索結果は即座に返ってきますので(たまに数秒待たされます)、1件1件順番に入力する方が効率的だと思います。プログラムを作ってバッチ検索を試してみましたが、検索がヒットしなかった時に訳がわからなくなってしまいました。検索結果がでないコードをエラーリストに出力させれば良さそうですが、1件1件入力する方法でも作業効率はよいです。

書籍情報の保存形式

  • YAML形式のテキストファイルとして保存されます。
  • 保存場所はホームディレクトリの .alexandria にライブラリ単位にサブフォルダが作成され、書籍情報の YAML と 書籍カバー画像ファイルとのペアで保存されます。
  • YAML のファイル内では日本語は Base64 エンコードされます。コマンドラインでデコードするならば下記の例のようにします。
$ echo " (Base64 エンコードされたテキスト) " | base64 -d

その他

  • Amazon の書籍情報を Ruby や Perl のスクリプトで取得することもできます。

同類のソフトウェア

  • Tellico
    • Alexandria は GNOMEデスクトップ環境用ですが、KDEデスクトップ環境用 には Tellico というパッケージがあります。こちらもなかなかよく、CDの登録などもできてAlexandriaより多機能です。
    • Alexandria の方がシンプルなので気に入ってますが、しかし Tellico もよいソフトウェアだと思います。
    • 著者の表示は「姓, 名」の書式(英語圏での姓を先にする時にカンマを付けるという書式)ですので、日本人名は「泉, 鏡花」「夏目, 漱石」「川端, 康成」のはずですが、「鏡花, 泉」というように姓名が逆に表示されることが気になって、直し方がわかりませんでした。No Format に変更すれば「泉 鏡花」になるはずですが、「鏡花 泉」になることもあり、元データとの関係等々規則性がよくわかりませんでした。もう直っているかも知れませんし、思い違いかも知れませんが未確認です。
    • 私の場合はKDEデスクトップを使っておらず、TellicoのためにKDE関連モジュールが依存して賑やかに入ってしまうので使ってません。
  • 私本管理Plus
  • Books for MacOS X
  • BookRemark
    • iPhoneアプリ、iPod touch、iPadでも使えます。
    • 新刊発売日をチェックするというアプリですが、カメラでバーコードスキャンをすることが可能で、蔵書を追加していくことはできます。
    • Amazon の書籍情報を検索してくれます。自分のアクセスキーを設定しなくても検索できます。
    • App Store - BookRemark http://itunes.apple.com/jp/app/bookremark/id304072141?mt=8

古い情報

  • Alexandria 0.6.4.1 のインストール (Debian)
    • Alexandria 0.6.4b1(ベータ版)が2009年3月1日に、Alexandria 0.6.4.1 が2009年3月14日にリリースされた。
    • libhpricot-ruby libhtmlentities-ruby libgettext-ruby1.8 を先にインストールし、ダウンロードした debファイルを dpkgコマンドでインストールすればよいです。
    • Alexandria 0.6.4.1 のインストール履歴
$ sudo aptitude install libhpricot-ruby libhtmlentities-ruby
以下の新規パッケージがインストールされます:
  libhpricot-ruby libhpricot-ruby1.8{a} libhtmlentities-ruby libhtmlentities-ruby1.8{a} 

$ sudo dpkg --install alexandria_0.6.4.1_all.deb 
dpkg: 依存関係の問題により alexandria の設定ができません:
 alexandria は以下に依存 (depends) します: libgettext-ruby1.8 (>= 1.7.0) ...しかし:
  パッケージ libgettext-ruby1.8 はまだインストールされていません。
dpkg: alexandria の処理中にエラーが発生しました (--install):
 依存関係の問題 - 設定を見送ります

$ sudo aptitude install libgettext-ruby1.8
以下の新規パッケージがインストールされます:
  irb1.8{a} libgettext-ruby1.8 libreadline-ruby1.8{a} 
以下の、インストールが完了していないパッケージが設定されます:
  alexandria 

$ sudo dpkg --install alexandria_0.6.4.1_all.deb 
  • Alexandria 0.6.4b1 のインストール履歴
$ sudo aptitude install libhpricot-ruby libhtmlentities-ruby
(中略)
以下の新規パッケージがインストールされます:
  libhpricot-ruby libhpricot-ruby1.8{a} libhtmlentities-ruby libhtmlentities-ruby1.8{a} 
$ sudo dpkg --install alexandria_0.6.3_0.6.4b1_all.deb 
--(y:2009-06-08)

コメント

このブログの人気の投稿

systemd-resolveの設定(Ubuntuなどの動的DNS設定)

GRUB起動メニューのタイムアウト時間、起動するOSの変更

Salesforce Trailheadチャレンジメモ(Apex の基礎とデータベース)