「ディスクユーティリティ」の「アクセス権データベース」の読み出し時間

Mac OS X 10.5.7 (Build 9J61) [Leopard] 付属の「ディスクユーティリティ 11.1 (252.4)」で「アクセス権の修復」をしようとすると、以下のようなメッセージが出ます:


“○○”のアクセス権を修復中

  アクセス権データベースを読み出しています。

  アクセス権データベースの読み出しには数分かかる場合があります。



問題は、この“数分”が“数分”ではないことです。場合によっては“数十分”、あるいはいつまで経っても検証が始まらない場合があります。


アクセス権の修復に時間が掛かるのはまだ納得できるのですが(いや、本当は納得したくない!)、“アクセス権データベスの読み出し”になんでこんなに時間が掛かるものなのか理解できません。もしかして、“アクセス権データベース”って、アップルのサイト上にあって、常にアクセス権の検証や修復をする度にネットにアクセスして、最新のデータベースをダウンロードしてから作業を始める? だから、アップルのサイトにアクセスが殺到していると、「アクセス権データベースの読み出し」に時間が掛かる? んなわきゃないですよね... (^◇^;)。


--------------------

Apple 17" MacBook Pro (Intel Core 2 Duo T7600/2.33 GHz/3 GB RAM/500 GB HDD)

Mac OS X 10.5.7 (Build 9J61) [Leopard]

投稿日 2009/07/24 22:57

返信
返信: 36

2009/07/25 06:46 ぴっぴ への返信

ぴっぴ さんによる書き込み:


0 初期化は行ったほうが良いと思います。この作業で検出した問題があるSectorを使わない処理を行います。Disk ControllerをResetしてOSXとのやり取りがスムーズになると思います。


了解です。



HDDを取り替えてノンビリ移しても良いかも知れません。大容量HDDでなければ短時間で済むと思います。


HDDは高速で大容量になりましたが進化してない部分があります。


うう...。また出費か...(;_;)。


--------------------

Apple 17" MacBook Pro (Intel Core 2 Duo T7600/2.33 GHz/3 GB RAM/500 GB HDD)

Mac OS X 10.5.7 (Build 9J61) [Leopard]

2009/07/25 06:54 しい坊 への返信

アクセス権データベース、10.5.x の場合は、


[Macintosh HD]/Library/Receipts/db/a.receiptdb


みたいです。

sqlite3 のデータベースファイルみたいですが、10.4.x までの


[Macintosh HD]/Library/Receipts/*.pkg


との関連は不明です。併用してるのか? *.pkg の内容を a.receiptdb に収めてしまってるのか?


Apple Mail や Safari4 のデータベースと同じく sqlite3 のデータベースなので、データベースの圧縮で、多少でも動作が高速になるかと思って、ターミナルで



$ sudo sqlite3 /Library/Receipts/db/a.receiptdb vacuum


を試しましたが、誤差程度しか変化は認められませんでした(^^;)。a.receiptdb のファイルサイズは、結構小さくなったんですが、、、。

2009/07/25 07:20 しい坊 への返信

2) 500 GB のハードディスクを「0初期化」した場合の時間がとんでもなく掛りそうな予感が...。(6時間とか、8時間とか...(^"^;)?)


マシンの能力(とHDDの性能)や接続形式に大きく依存しますが、MacBook Pro 15" Late 2007(CPUは2.6GHz、RAMは4GB)に搭載の250GBのHDDで2時間はかからなかったと思います。たしか、現行のMac mini(CPUは2.26GHz、RAMは4GB)搭載の340GBのHDDでも2時間は切っていたような記憶はあります。

2009/07/25 07:33 NO9 への返信

NO9 さんによる書き込み:


2) 500 GB のハードディスクを「0初期化」した場合の時間がとんでもなく掛りそうな予感が...。(6時間とか、8時間とか...(^"^;)?)


マシンの能力(とHDDの性能)や接続形式に大きく依存しますが、MacBook Pro 15" Late 2007(CPUは2.6GHz、RAMは4GB)に搭載の250GBのHDDで2時間はかからなかったと思います。


単純計算の通りにならないのはわかった上で計算してみると、私のは Apple 17" MacBook Pro (Intel Core 2 Duo T7600/2.33 GHz) です。内蔵 HDD の WDC WD5000BEVT-22ZAT0 (500 GB/5400 rpm) は 500 GB ありますので、まず単純計算で 250 GB で 2時間ならば、500 GB ならば 4時間かと...。で、クロック周波数が 2.6 GHz:2.33 GHz ですので(わ〜〜〜、そんな比例計算が成立するわけがない \\(;^0^;)//)4時間半? さらに 250 GB の内蔵 HDD の回転数が 7200 rpm だとして(たぶん違うだろうけど...)、こちらのが 5400 rpm だとすると、5時間ちょっと...。ま、いずれにせよ、とんでもない時間が掛かりますな...。


ユーザーとしては、我慢できるのはせいぜい 10分が限度とちゃいます (^〜^;)? ましてや「0初期化」を何回も繰り返すなんて気が遠くなりますな...(^"^;)。


Apple Mail の方は現在:


メールボックス“○○”を読み込み中


1159969/1320230 件のメッセージを読み込みました


残り時間: 1 時間 15 分


--------------------

Apple 17" MacBook Pro (Intel Core 2 Duo T7600/2.33 GHz/3 GB RAM/500 GB HDD)

Mac OS X 10.5.7 (Build 9J61) [Leopard]

2009/07/25 07:41 しい坊 への返信

さらに 250 GB の内蔵 HDD の回転数が 7200 rpm だとして(たぶん違うだろうけど...)、こちらのが 5400 rpm だとすると、5時間ちょっと...。ま、いずれにせよ、とんでもない時間が掛かりますな...。


ご安心を(?)、5400rpmです。正確に覚えているわけではないので、ぼかして(多めに)書いてますが、たぶん、250GBで1時間半ぐらい、340GBで2時間を切るぐらいだったかと思います。


ユーザーとしては、我慢できるのはせいぜい 10分が限度とちゃいます (^〜^;)? ましてや「0初期化」を何回も繰り返すなんて気が遠くなりますな...(^"^;)。


私は、マシンを買ってきたら、取り敢えず普通に起動して初期不良が無いことを確認してすぐにHDDを0書込の初期化し、OSをインストールし直します。また、何かのトラブルでOSを再インストールしたりするときは、必ず0書込の初期化をしますね。

2009/07/25 07:55 しい坊 への返信

しい坊 による書き込み:


ましてや「0初期化」を何回も繰り返すなんて気が遠くなりますな...(^"^;)。


Apple Mail の方は現在:


メールボックス“○○”を読み込み中


1159969/1320230 件のメッセージを読み込みました


残り時間: 1 時間 15 分

私はゼロ初期化は、実行した記憶が無いですね。

せいぜい、テスト的に1回かも。

不良セクタをブロックしてくれるなら、実行しても良いかも、という程度でしょうか。

ハードディスクには、不良セクタを隠蔽する予備セクタが用意されているはずなので、これに期待、といったとこです。


メールボックスに、メールを入れ過ぎですよ。

読み込み時にインデックスを作成しているでしょうから、遅いのも当然かと思います。


対処法としては、

(1)一旦、外に取り出し、且つ、バックアップする。

(2)その後、メールを小数に分けて読み込む。

でしょうね。


PS:

時間がかかる大量データの一括処理は、エラーに遭遇する確率が高いので、避けた方が良いですね。

2009/07/25 08:24 xy への返信

xy さんによる書き込み:


メールボックスに、メールを入れ過ぎですよ。

読み込み時にインデックスを作成しているでしょうから、遅いのも当然かと思います。


対処法としては、

(1)一旦、外に取り出し、且つ、バックアップする。

(2)その後、メールを小数に分けて読み込む。

でしょうね。


どうしたらよいのでしょうね。Eudora 時代には、古くなり巨大化した分類ファイルはどんどん分割して外付けハードディスクや他のメディアに退避させていました。それが必要になれば、単にそのファイルをダブルクリックするだけで、そのファイルがどこに置いてあろうと、Eudora 上にほぼ瞬時に開けました。


ところが、Apple Mail のメールはメールごとに別ファイルに保存されています。古いメールを他のメディアに退避させた場合、その中のいずれかのメールが必要になった時に、気が遠くなるような作業が必要になるのではないかと危惧しています。(結局、インポートし直さなければいけないわけでしょう?)


現在、Apple Mail に届いた複数のアカウントのメールはほぼひと月単位でローカルの(Apple Mail 上の左ペインに表示される)フォルダに階層を作ってこまめに移動しています。「アカウント名」⊃「年」⊃「月」のように管理しています。ですから、今回は 1,320,230 ものメールファイルのインデックスを作り直していますが、実際には1つ1つのメールフォルダ内のメール数はそんなに膨大ではないはずなのですね。(数千はあるでしょうが...。)


恐らく破損したのは大量にある分類フォルダの中の1つのフォルダ内のインデックスに過ぎないと思います。素人考えではそのメールボックスのインデックスを作り直すだけで良いのではないかと思うのですが、どうも Apple Mail は融通が利かず、1つでもインデックスが破損したのを検知すると、全てのインデックスを作り直すのではないかと想像しています。本来ならば 5分とか、10分で済む作業なのに、毎回半日も掛かってしまうわけです。


古いメールを退避させて、かつ簡単に再利用が出きるようにするにはどのような方法があるのでしょうか? どうも Apple Mail は(他のメーラーも、Eudora 以外は)ユーザーが届いたメールを未来永劫保存しておくものだという前提では設計されていないような気がします。ですから、時間が経って過去に届いたメールの量が肥大するとアプリケーションとして破綻すると...。で、メーラーに異常が発生した時のメールボックスのファイルの被害を最小限に抑えるために、ハードディスクの使用が肥大化するにも関らず、あえて、旧バージョンまでのアカウントごとに1つの巨大なメールファイルに替えて、メールごとに独立したファイルで保存するようにしたのではないかと想像しています。勝手に想像するに、Apple Mail の設計者も、この肥大化する過去メールのログの問題をどう解決したら良いか妙案が浮かばず、頭を抱え込んでしまっているのではないかと想像しているのですが...。


--------------------

Apple 17" MacBook Pro (Intel Core 2 Duo T7600/2.33 GHz/3 GB RAM/500 GB HDD)

Mac OS X 10.5.7 (Build 9J61) [Leopard]

2009/07/25 08:39 しい坊 への返信

.

しい坊 さんによる書き込み:


恐らく破損したのは大量にある分類フォルダの中の1つのフォルダ内のインデックスに過ぎないと思います。素人考えではそのメールボックスのインデックスを作り直すだけで良いのではないかと思うのですが、どうも Apple Mail は融通が利かず、1つでもインデックスが破損したのを検知すると、全てのインデックスを作り直すのではないかと想像しています。本来ならば 5分とか、10分で済む作業なのに、毎回半日も掛かってしまうわけです。

Spotlightなんかの機能を考えると、確かに大量のファイルを分割する気は無いでしょうね。検索の意義が薄れますものね。

(中略)

Apple Mail の設計者も、この肥大化する過去メールのログの問題をどう解決したら良いか妙案が浮かばず、頭を抱え込んでしまっているのではないかと想像しているのですが...。

そこまで考えてない様な気がします。100万件のファイルを有効に保存する仕様で無い気がしてなりません。やっぱりAppleにApple Mail Million を作ってくれと、要望してみては^^;

2009/07/25 08:44 しい坊 への返信

しい坊 による書き込み:

ところが、Apple Mail のメールはメールごとに別ファイルに保存されています。古いメールを他のメディアに退避させた場合、その中のいずれかのメールが必要になった時に、気が遠くなるような作業が必要になるのではないかと危惧しています。(結局、インポートし直さなければいけないわけでしょう?)

メールフォルだだけバックアップして(mail.appの管理から外して)も、spotlightで見つかりませんか。

私のところは、年毎にバックアップするようにしてますけど、mail.app内と一緒くたに見つかります。


しい坊 による書き込み:


恐らく破損したのは大量にある分類フォルダの中の1つのフォルダ内のインデックスに過ぎないと思います。素人考えではそのメールボックスのインデックスを作り直すだけで良いのではないかと思うのですが、

メールボックスを個別に指定して、再構築で駄目ですか?


メーラーに異常が発生した時のメールボックスのファイルの被害を最小限に抑えるために、ハードディスクの使用が肥大化するにも関らず、あえて、旧バージョンまでのアカウントごとに1つの巨大なメールファイルに替えて、メールごとに独立したファイルで保存するようにしたのではないかと想像しています。

受信メールを1ファイルにしていたのは、変更を予定していないからと、変更を避けるためだと思いますが、別ファイルにしたのは、1ファイルダと、一部の不具合で全受信メールが全滅するからでしょうね。。昔のファイルシステムはファイル数の制約がキツかったからという理由もあるかもしれません。


しい坊さんの状況だと、

・常用するパソコンに保存するデータを厳選する。(imapはそのためにあるとも言えます)

・内蔵HDDの容量を多過ぎにしない(トラブル時の対処がそれこそ大変)。

・セーフブートを頻繁に(OSXではファイルシステムの傷が多そう)。

ですかね。

2009/07/25 09:30 xy への返信

やっと


読み込みが完了しました。


Mail を使い始めるには、“完了”をクリックします。



というメッセージが出ました (^^)♪


そこで、「完了」をクリックしました。すると、


Mail の索引が壊れています。修復するには、Mail

を終了してください。


次回 Mail を開いたときに索引が修復されます。メールボッ

クスとメールメッセージには影響ありません。


と表示され、「終了」というボタンしか選択肢がありません。そうでした。今日...、いや、もう昨日の昼に同じことが起こったのでした...。



で、再度、Apple Mail を起動すると、これまた再度、


メールメッセージの読込み


Mail を使ってメッセージを読み込む必要があります。この

処理には数分かかることがあり、読み込みが終了するまで

Mail を使用できません。


今すぐメッセージを読み込む場合は、“続ける”をクリックし

てください。後で読み込む場合は、“キャンセル”をクリック

してください。


と、表示されました。そこで前回は「続ける」をクリックしましたが、今回は試しに「キャンセル」をクリックしてみました。すると、Apple Mail は終了してしまいました...。ううむ...。


ここで、再度、Apple Mail をダブルクリックしてみると、今度は起動したようです。う〜ん。これからどうすれば良いのかなぁ...。とりあえず、今日はもう寝ます。明日、色々試してみることにしましょう...。(xy さんがご提案されているように、アカウントごとに個別に再構築してみます。←元々それができればそうしたかったのですが、上のようなメッセージが出た場合に「キャンセル」を選択すれば、個別修復が可能だとは思っても見ませんでした。←と言うか、明日、きちんとやってみるまでは本当のことはわかりませんが...。)


--------------------

Apple 17" MacBook Pro (Intel Core 2 Duo T7600/2.33 GHz/3 GB RAM/500 GB HDD)

Mac OS X 10.5.7 (Build 9J61) [Leopard]

2009/07/25 12:57 しい坊 への返信

溜め込んだメールは無限ルーブで何時になったら読めるのか?


現在のMail.appで読めないのですから新しいMail.apoでは取り込めないと思います。emlxを1つずつ新しいMail.appに読み込ませる必要があるかも知れません。


こんな状態なのて出来るかは分かりませんが... $HOME/Library/Mail/をBackupして安全な場所に保存して下さい。


Mailboxを選択してMailbox menuからArchive Mailbox...を行う。出来上がったMailboxはPOPの各々のxxx.mboxの中です。Mailを終了しなくても取り出せます。


あるいは... Mailbox menuからNew Mailbox...でMailboxを作り、Messageを選択して、Message menuからCopy To...でCopyを行います。$HOME/Library/Mail/Mailbox/に出来ています。Mailを終了してDesktopにCopyして下さい。要らなくなったMailboxはMailbox menuからDelete Mailbox...で消去しないと壊れます。既に壊れてますが... このMailboxはFolderに入れれば新しいMail.appに取り込めます。


現在の$HOME/Library/Mail/が新しいMail.appで読めれば良いのですが恐らく難しいと思います。再構築も難しいかも知れません。

2009/07/25 16:05 しい坊 への返信

しい坊 による書き込み:


どうしたらよいのでしょうね。Eudora 時代には、古くなり巨大化した分類ファイルはどんどん分割して外付けハードディスクや他のメディアに退避させていました。それが必要になれば、単にそのファイルをダブルクリックするだけで、そのファイルがどこに置いてあろうと、Eudora 上にほぼ瞬時に開けました。


ところが、Apple Mail のメールはメールごとに別ファイルに保存されています。古いメールを他のメディアに退避させた場合、その中のいずれかのメールが必要になった時に、気が遠くなるような作業が必要になるのではないかと危惧しています。(結局、インポートし直さなければいけないわけでしょう?)


古いメールをまとめて保存したいときは、少し面倒ですがフォルダのすべてを選択して「別名で保存」です。フォーマットは「メッセージソース」を選んでください。

戻すときはmbox形式でそのファイルをインポートすれば、メッセージ毎に分割されて復元できるはずです。


ちなみに、Mail.appの推奨の方法は「メールボックスをアーカイブ」と「Mail for Mac OS X形式でメールボックスを読み込み」です。


残念ながら双方ともISO-2022-JP形式のメールはSpotlightでは直接検索できません。いったんメールに読み込んでメールの検索機能を利用する必要が有ります。


Spotlightで直接検索するなら別名で保存でテキスト形式で保存しなければなりません。この方法だとMailによるメッセージ単位の復元はできません。


こうしてまとめてみると、どうも使い勝手はよく有りませんね。

ISO-2022-JPを簡単に検索できるツールが有ればよいのですが。

2009/07/26 07:42 ni_ki への返信

a.receiptdb の中を sqlite3 で覗いてみると、


ファイルサイズ:303.9MB

テーブル定義数:9

レコード総数:1646256


こんな感じですね。

sqlite3 で SQL 文を叩くと、全レコードを 0.5 秒くらいで読み込んでしまうので、sqlite3 がボトルネックになってる感は無いですね(MacBook Late2008)。むー、余程癖のある SQL を実行させてるのか、ディスクユーティリティ???

2009/07/26 19:36 翡翠 への返信

164万件ですか。インストールしてある、アプリケーションにもかなり左右されるのでしょうが、それにしても私の予想を遙かに上回る数です。


これだけの数を、実際にHDD内のファイルのアクセス権も読み出して比較するのでしょうから、時間がかかるのでしょうね。ディスクユーティリティは「データベースの呼び出し中」みたいな表示をしていますが、実際のファイルの方のアクセス権を調べ上げるのに時間を取られているような気がします。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

「ディスクユーティリティ」の「アクセス権データベース」の読み出し時間

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。