既存の POPFile のデータをアップグレードする

Windows 版の POPFile

Windows 版の POPFile インストーラーは、インストールされている POPFile を自動的に検知し、アップグレードするかどうか確認してきます。アップグレードによって POPFile のコーパスのデータ形式や構造が変更されることがあり、この場合インストーラーは進行中のメッセージを表示します。(というのは、とても大きなコーパスをアップグレードするには、数分またはそれ以上の時間がかかるからです)。

インストーラーはこれらの進行中のメッセージを表示するためにいくつかの Windows 版のユーティリティ(たとえば、Message Capture utility)を使用しますが、コーパスのデータベースアップグレードは、インストーラーの役割ではありません。コーパスのアップグレードは実際には POPFile 本体が行っているのです。

クロスプラットフォーム版の POPFile

この wiki のページでは、クロスプラットフォーム版のユーザーに対して、コーパスのデータベースアップグレードに関する概要を説明しています。

POPFile は起動するたび、コーパスのデータベースアップグレードが必要かどうか確認します。アップグレードしている間、POPFile はメールクライアントからの要求に反応しませんし、POPFile UI も動作しません。

システムによっては、非常に大きなデータベース (100MB 以上) をアップグレードする場合、30分以上かかることがあります。その間、POPFile が固まってしまったように見え、CPU負荷が高まり、大量のディスクアクセスが発生するでしょう。

アップグレード方法は、クロスプラットフォーム版の zip ファイルに含まれるリリースノートに記載されています。これらのリリースノートはオンラインでも利用可能です、たとえば:

POPFile はもともとフラットファイルをコーパスとして使い始め、複数のBerkeleyDB データベースファイルに移行し(短い期間)、現在はひとつの SQLite データベースをコーパスとして使用しています。POPFile は自動的に既存のコーパスを現在のフォーマットにアップグレードします。そのためには、必要な Perl モジュールをあらかじめインストールしておく必要があります。バージョン 0.22.2 リリースノートより:

  • POPFile に、新しい “パッキングリスト” 機能が加わりました。これによって、自動的に POPFile が正しく動作するために必要な Perl モジュールがインストールされているかチェックされます。これは、クロスプラットフォーム版のユーザーにはとても重要です。なぜならば POPFile の起動時に POPFile がインストールされている環境に問題がないかどうかを確認してくれるからです。(訳注: このチェックは POPFile フォルダにある popfile.pck というファイルによって行われています。動作に問題がないことが確認できたら、このファイルは削除してしまっても問題ありません)

こちらも参照してください:

SQLite Perl モジュールについて

SQLite モジュールを追加するときには注意が必要です - 二つの互換性のないバージョンがあり(SQLite 2.x のライブラリを使用しているものと SQLite 3.x を使用しているもの)、現在の POPFile (0.22.5)は SQLite 2.x でしか動作しないためです。

POPFile が SQLite を使い始めたとき、SQLite Perl モジュールは、SQLite 2.x のライブラリを使用していました。しかし、SQLite 3.x がリリースされたとき、SQLite モジュールは SQLite 3.x を使用するようにアップグレードされ、新たに SQLite 2.x をサポートする SQLite2 Perl モジュールが作成されました。この事情はわかりにくいでしょうから、ある程度の詳細が こちらの Wiki で話題になっています。

POPFile 0.22.5

POPFile 0.22.5 はデフォルトで SQLite2 モジュールを使用します。そのため、POPFile を初めてインストールするのであれば、popfile.cfg を編集する必要はないでしょう。

POPFile 0.22.4 以前

SQLite2 モジュールを Perl に追加し、 popfile.cfg を編集して SQLite 2を使用する方が簡単だと思われるかもしれません(ここに書かれているように)。

アップグレードプロセスについて

BerkeleyDB やフラットファイルのコーパスから、SQLite データベースへのアップグレードは、POPFile が起動したときに行われます。このデータベースアップグレードにはある程度の数分程度(場合によっては数十分)の時間がかかり、この間 POPFile は固まったように(たとえば UI が見えなく)なります。それぞれのコーパスが変換されるたび、昔のBerkeleyDB のデータベースファイル(table.db)や、昔のフラットファイル(table)が削除されますので、コーパスのディレクトリを見れば、アップグレードの進展を確認することもできます。

コーパスの変換プロセスは、既存の BerkeleyDB もしくはフラットファイルのコーパスを廃棄しますので、アップグレード中に予期せぬ出来事が起こっても対応できるよう、アップグレード前に、バックアップを取ることをおすすめします。

デフォルトでは、SQLite データベース (popfile.db) はpopfile.cfg と同じディレクトリに作成されますので、いったん BerkeleyDB やフラットファイルからのコーパス変換が完了したら、空のコーパスディレクトリを削除しても問題ありません。

原文

ハウツー

POPFile ドキュメンテーションプロジェクト

 
jp/howtos/upgradingpopfiledata.txt · Last modified: 2008/02/08 19:49 by 127.0.0.1

Should you find anything in the documentation that is incomplete, unclear, outdated or just plain wrong, please let us know and leave a note in the Documentation Forum.

Recent changes RSS feed Donate Driven by DokuWiki
The content of this wiki is protected by the GNU Fee Documentation License