過去ログ表示


過去ログ 353 を表示

トピック内全 12 記事中の 1 〜 10 番目を表示
[ 最新記事及び返信フォームをトピックトップへ ]
このトピックの全ページ / [0] [1]

msf, global-messages-db.sqlite の再構築
(#53675) このトピック中1番目の投稿
(環境: Mac/Other)

Mac OSX Leopard で Thunderbird 最新版の 3.1.6 を使用しています。
このたび、新しいマシンに乗り換えたので、Thudnerbird のデータを
移しました。OS は同じです。IMAP でなく POP で使っています。

Library/Thunderbird のフォルダをそのままコピーして Thunderbird を
起動したのですが、crash reporter が立ち上がってコケてしまいます。
仕方ないので、.msf を全て消去して再起動すると、立ち上がりました。

しかし、.msf も生成されず、global-messages-db.sqlite も更新されず、
検索にメールが引っかかりません。

以前使用していた Thunderbird 3.0 系では、これで自動的に .msf や
global-... の再構築が始まっていたので、確認のため
http://mozilla.jp/thunderbird/download/older/ から 3.0.10 を
ダウンロードして試したところ、更新は正常に行われました。

クリーンな環境でテストするため、予備にあった新品の Macbook
(OS 同じ) に Firefox と Thunderbird 3.1.6 だけインストールし、
拡張機能などは全くつけず、新たにアカウントを作成して、
いくつかのメールデータをテストで作成しました。このテストの
メールフォルダデータを、あらたに新プロファイルで起動した
Thunderbird の Local Folders にいれて、挙動を見てみましたが、
やはり .msf や global-... の更新は行われず、検索にもかかりません。

考え得る限りのクリーンな環境でテストしてもだめで、TB 3.0.10
ならうまく行くので、最新版の問題かと疑っていますが、これ以上は
お手上げの状態です。

どうかアドバイス頂けますと幸いです。
同じように、最新版の Thunderbird でメールデータを
Local Folders に追加した場合の
更新の挙動をテストして頂くとよいかと思います。

Re: msf, global-messages-db.sqlite の再構築
(#53676) このトピック中2番目の投稿
(環境: WinXP SP3/Other)

> このテストのメールフォルダデータを、あらたに新プロファイルで起動した
> Thunderbird の Local Folders にいれて、挙動を見てみましたが、
> やはり .msf や global-... の更新は行われず、検索にもかかりません。

その「ThunderbirdのLocal Folders」は、Thunderbirdのローカルフォルダというアカウントのサーバー設定、メッセージの保存先:に指定されているディレクトリー、ローカルフォルダというアカウントの下のメールフォルダのプロパティ・一般・場所:に表示されるパス、と同じものですか?

Re: msf, global-messages-db.sqlite の再構築
(#53681) このトピック中3番目の投稿
(環境: Mac/Other)

返信ありがとうございます。

> その「ThunderbirdのLocal Folders」は、Thunderbirdのローカルフォルダというアカウントのサーバー設定、メッセージの保存先:に指定されているディレクトリー、ローカルフォルダというアカウントの下のメールフォルダのプロパティ・一般・場所:に表示されるパス、と同じものですか?

確認しました。「アカウント設定」の「ローカルフォルダ」で
表示される「メッセージの保存先」のフォルダパスと、
メールフォルダの「情報を見る」で表示されるパス、さらには実際の
ファイルの置き場所も全て同じでした。
具体的には、デフォルトのままで、
/Users/ユーザ名/Library/Thunderbird/Profiles/ランダム文字列.default/Mail/Local Folders/メールフォルダ名
になっています。ランダム文字列も同じです。
(メールフォルダのプロパティから見れるパスは、最初に
"mailbox://"がついていますが、これが問題とか?)

ご指導よろしくお願いします。

Re: msf, global-messages-db.sqlite の再構築
(#53682) このトピック中4番目の投稿
(環境: WinXP SP3/Other)

> "mailbox://"がついていますが、8snip)

メールフォルダーの内部的URLを表示しているので、そうなります。

> 「メッセージの保存先」のフォルダパスと、
> メールフォルダの「情報を見る」で表示されるパス、
> さらには実際のファイルの置き場所も全て同じでした。

となると、.msfが作られないのは、今まで知らなかったフォルダーなので、フォルダーの状態の整合性のチェックに行かないためでしょう。
そのフォルダーの上にマウスを持っていく、あるいは、その後フォルダーをクリック、あるいは、右クリックから「要約ファイルの修復」みたいなボタン、で、ちゃんと作成されませんか?

global-messages-db.sqliteのほうは、Glodaが常に積極的に全フォルダーを舐めて索引を作るのではなく、Glodaが有効な時に、メールフォルダーを管理している人が、Glodaの索引のないメールに遭遇するとGlodaに索引を付けるようお願いする、というような感じだったはずで、過去に一度もオープンされたことがない、今まで全く知らないフォルダーで、.msfも無いようなものについては、整合性のチェックによる自動的な要約の再構築なども動かないから、誰もその中のメールの存在には気がつかないわけで、誰もGlodaに索引づけの依頼をしないことになるように思えます。
フォルダーをクリックして明示的にフォルダーをオープンしたにも関わらず、なのですか?

Re: msf, global-messages-db.sqlite の再構築
(#53683) このトピック中5番目の投稿
(環境: Mac/Other)

> となると、.msfが作られないのは、今まで知らなかったフォルダーなので、フォルダーの状態の整合性のチェックに行かないためでしょう。
> そのフォルダーの上にマウスを持っていく、あるいは、その後フォルダーをクリック、あるいは、右クリックから「要約ファイルの修復」みたいなボタン、で、ちゃんと作成されませんか?

はい、フォルダーをクリックしてメール一覧を表示させた時点で
.msf ファイルが作成されます。しかしこれだけでは glboal-messages-db
のほうは更新されず、検索にひっかかりません。この状態で
Thunderbird を一度終了し、再起動すると、global-... も更新される
ようで、検索にひっかかるようになります。

> global-messages-db.sqliteのほうは、Glodaが常に積極的に全フォルダーを舐めて索引を作るのではなく、Glodaが有効な時に、メールフォルダーを管理している人が、Glodaの索引のないメールに遭遇するとGlodaに索引を付けるようお願いする、というような感じだったはずで、過去に一度もオープンされたことがない、今まで全く知らないフォルダーで、.msfも無いようなものについては、整合性のチェックによる自動的な要約の再構築なども動かないから、誰もその中のメールの存在には気がつかないわけで、誰もGlodaに索引づけの依頼をしないことになるように思えます。

つまり、そういう仕様ということでしょうか?
しかしそれだと、例えば膨大なメールデータを他のマシンやソフトから移動して
Local Folders に持ってきたような場合、それらは検索にかからない
わけで、困るように思うのですが、、、(実際それで困っています)
膨大な数のメールフォルダをいちいちクリックするのはやりたくない、、、

また、Thunderbird 3.0.10 だと、データを追加して Thunderbird を起動すると、
自動的にサブフォルダ構造まで全て関知して、.msf や global- の索引付け
が始まります。3.0 から 3.1 の間に、仕様が変わったと言うことでしょうか?

Re: msf, global-messages-db.sqlite の再構築
(#53685) このトピック中6番目の投稿
(環境: WinXP SP3/Other)

> つまり、そういう仕様ということでしょうか?
> しかしそれだと、例えば膨大なメールデータを他のマシンやソフトから移動して
> Local Folders に持ってきたような場合、それらは検索にかからない
> わけで、困るように思うのですが、、、(実際それで困っています)
> 膨大な数のメールフォルダをいちいちクリックするのはやりたくない、、、

でも、あなたの言う「メールデータの移動」は、Tbの知らない内に、ABCとかのファイルを勝手にTbのメールディレクトリーの中に作ったのであって、インポートなりなんなりの、なんらかの正規にサポートされた手段で明示的な形でTbにメールフォルダー・メールデータの存在をきちんと知らせたものではないですよね。

ABCというファイルをコピーしておくと、それをABCというメールフォルダーとして認識してくれる、というのは、結構広く知られていますし、トラブルがあった時の回復手段として、そういったことを行うようにすすめる場合も多々ありますが、それは、裏技の部類に入るものです。
表の世界では、基本的には、明示的な「インポート」が、正規の手段になります。
Tbの「インポート」なり、.emlファイルのスレッドペインへのドラッグ&ドロップなり、ImportExportToolsなり、正式にサポートされた「インポート」を使うべきでしょう。

Re: msf, global-messages-db.sqlite の再構築
(#53686) このトピック中7番目の投稿
(環境: Mac/Other)

なるほどそういうことですか。
今回私がしたいのは、単にパソコン切り替えに伴ってこれまでの
データを新しいマシンの Thunderbird に移したいだけなので、
裏技をあえて使いたいという事情は全くありません。

Thunderbird ナレッジベースの
http://mozilla.jp/support/thunderbird/kb/002635
のページの下の方には、global-messages-db.sqlite を消して
再起動すれば、全てのメールが読み込まれるとありますが、
私がいろいろ試した限りでは、最新の 3.1.6 や 3.1.7 では
これはうまく動きません。3.0.10 なら動きます。
この記述は 3.0 系のみに適用されるということでしょうか?

とにかく、古いPCから新しいPCへ、サンダーバード同士の移行が
できればいいのですが、Thunderbird 公認の手続きはどのような
ものでしょう? 「Thunderbird 移行」で検索して出てくるのは、
「プロファイルフォルダをごっそりコピーすればいい」という
ものばかりなのですが。

なお、ご提案の

> Tbの「インポート」

では、他ソフトからのインポートしかできないように見えます。

>.emlファイルのスレッドペインへのドラッグ&ドロップ

は、メールの数が膨大でフォルダ構造も複雑だと現実的でない

>ImportExportTools

こちらも試しましたが、サブ構造を含むフォルダをインポートしたとき、
最上位フォルダの .msf は作られますが、サブ構造のなかのメール
フォルダデータの .msf は作られないので、やはり困ってしまいました。

Re: msf, global-messages-db.sqlite の再構築
(#53687) このトピック中8番目の投稿
(環境: WinXP SP3/Other)

> >ImportExportTools
> こちらも試しましたが、サブ構造を含むフォルダをインポートしたとき、
> 最上位フォルダの .msf は作られますが、サブ構造のなかのメール
> フォルダデータの .msf は作られないので、やはり困ってしまいました。

あらら、ImportExportToolsでも、サブフォルダに関しては、結局は、裏技でファイルを勝手にコピーと、似たり寄ったりでしたか(^^;

以下のようにすると、どうなりますか?
(1) ...\ABC、...\ABC.sbd¥DEF、...\ABC.sbd¥DEF.sbd\
GHI、...、などを裏技でコピー、
(2) Thunderibirdを再起動 => .msfの再構築には行かないとしても、メールフォルダーとしては認識
(3) Thunderibirdを再起動し直す => メールフォルダーとしての状態は正常ではないので、.msfを再構築。しかし、Glodaによる索引は、裏で少しずつ行うので、必ずしもすぐにはスケジュールされない。
(4) Thunderibirdを、もう一度再起動し直す => メールフォルダーのチェックが入り、新規のメールを認識 => Glodaによる索引をすぐにスケジュールできる(他に索引をつくる必要がある・あったメールはないので、すぐに索引の作成を開始)

Re: msf, global-messages-db.sqlite の再構築
(#53688) このトピック中9番目の投稿
(環境: Mac/Other)

いろいろありがとうございます。

> 以下のようにすると、どうなりますか?
> (1) ...\ABC、...\ABC.sbd¥DEF、...\ABC.sbd¥DEF.sbd\
> ...

これは単純に Tb の再起動を何度か繰り返す、という意味ですね?
PC を切り替えてもう一週間ほど動かしていて、再起動も何度もしていますが、
一度もクリックして一覧を表示させていないフォルダは認識されない
ままです。左側のフォルダツリーに表示させるだけではだめで、
一つ一つのフォルダをクリックしてメール一覧を表示させると初めて .msf
ができます。その後、再起動してしばらくすると、global-...
が更新されるようで、検索にもかかるようになります。

なので、最終手段としては手作業で全てのフォルダをクリックしていけば
いいのですが、なにせフォルダ構造が複雑で数が多く、ン時間の
作業になりそうで、他にスマートなやり方がないものかと、、、

全ての .msf を最初に消してしまったのが問題でしたかね?
最初に書いたように、何故か立ち上がらずにクラッシュする状態で、
terminal のシェルコマンドを作って .msf を自動検索して
全て消してしまったのです。そうすると立ち上がったので、、、

Re: msf, global-messages-db.sqlite の再構築
(#53690) このトピック中10番目の投稿
(環境: WinXP SP3/Other)

> これは単純に Tb の再起動を何度か繰り返す、という意味ですね?

作業としては、そうなります。
Tbを再起動したあとのなんらかの自動的な内部の処理によって各種の状態が変わり、
それを何度か繰り返すと、そのうち自動的に.msfの再構築に入ってくれて、フォルダー内に新規メールがある状態になり、
そうすると、Glodaの索引作成にも自動的に入ってくれる状況になり、
そうなれば、次の再起動では、大量の新規メールがなければ、再起動直後に始まるGlodaの索引付け一回だけで索引が付けられて、
たとえ勝手にABCとかのファイルをコピーした場合でも、Glodaの検索で見つからない状況はほとんど起こらないのではないか、
ということを期待してのチェックです。

> 一度もクリックして一覧を表示させていないフォルダは認識されないままです。
> 左側のフォルダツリーに表示させるだけではだめで、
> 一つ一つのフォルダをクリックしてメール一覧を表示させると初めて .msf
> ができます。

AAというフォルダーの下に、0000 から 9999 の、ファイルサイズ=0のファイルを作って、Tbを再起動して、AAというフォルダーを展開したら、nnnn.msfというファイルが自動的にどんどん作られていったので、再起動だけで.msfが作られるかも、と思ったのですが、そうは問屋が卸さないようですね。
その時も、自動的に4000個くらいはできたが、それ以上作られない、という状態になり、まだできていないnnnnをクリックしても作ってくれない、というような状況になって、再起動を何度か繰り返したら全部作ってくれた、ということがありました。

.msfとメールデータ用のファイルの整合性チェックの結果.msfを再作成する、というのは、明示的なフォルダーのオープン(UIではフォルダーのクリック)の時だけなされる、というのは、仕様のはずです。
そして、.msfファイルが存在しない、あるいは、.mfファイルが存在しないのでとりあえず.msfファイルを作って初期化しただけ、という段階では、そのフォルダーにはメールがない、という状態と同等になっている可能性は、大です。
保管期限によるメールの削除のためのチェックとかの、内部の自動的なタスクなどによって、どこかでなんらかのオープンが発生してくれるかも、と期待したのですが、甘かったみたいですね(^^;

> その後、再起動してしばらくすると、global-...
> が更新されるようで、検索にもかかるようになります。

Glodaの索引の作成は、一挙に全てのメールの索引を作るのではなく、バックグラウンドで、時々、ある程度の量のメールに索引を付ける、というようになっています。
大量のメールがあるときに移行したり、大量のメールをインポートした時に、Glodaの索引付けだけでCPUやメモリーを使いきり索引付けが終わるまでなにもできなくなる、という状況を避けるためです。
再起動すれば、その直後は「時々」のための待ち時間=0になるので、索引付けが全く行われないのか単に少し休憩中なのかを判定する必要が無くなり、話が簡単になります。

> 全ての .msf を最初に消してしまったのが問題でしたかね?
> 最初に書いたように、何故か立ち上がらずにクラッシュする状態で、
> terminal のシェルコマンドを作って .msf を自動検索して
> 全て消してしまったのです。そうすると立ち上がったので、、、

多分、.msfを残しておきメールデータのファイルだけ置き換えても、フォルダーのオープンに行かないと.msfとファイルの整合性のチェックには行かなくて、Glodaの索引付けまで行かないと思います。

検索対象のフォルダーは、内部的に明示的なフォルダーオープンがなされたと思います。
検索フォルダーの検索対象のフォルダーにコピーしたファイルのパスを登録し、検索フォルダーのオープン一発で、という方法が楽かな?
virtualFolders.datというファイルの、scope=という行にテキストで書いてあるだけだから、簡単なスクリプトで書き換えられます。


[ 次のトピック内容10件 ]
このトピックの全ページ / [0] [1]

返信不可


- Child Tree -