iPhoto’09 のライブラリ再構築が地雷含みな件
自宅では Mac をメインに利用しているのでデジカメ写真の管理には iPhoto ’09 を利用しています。顔認識、撮影地などの機能はかなり楽しめるし実用的です。
しかし今回、ライブラリの再構築でのちょっとした気の迷いで大変な目に遭いました。
結局復元できたのは TimeMachine のおかげです。せっかくなので経緯をまとめてみます。
[tmkm-amazon]B001P7BJ7K[/tmkm-amazon]
iPhoto の利用状況。
iPhoto は以前から利用していますが、最新版の iPhoto ’09 、イベント数が 500 ちょっと、写真の数は 22,000 枚ちょっと、顔認識は 150 人ぐらいという利用状況でした。iPhoto Library (パッケージになっているが実際はフォルダ)は 54 GB ほどあります。
デジカメ写真はメイン Mac である iMac (Early 2008) で管理しています(それ以外にアルミ MacBook もあります)。iMac には家族それぞれのユーザアカウントが切ってあります。私と奥さんとどちらのアカウントからでも同じ内容の iPhoto を利用したいので、共有フォルダ(/Users/Shared/)の下に iPtoto ライブラリを作り、書き込みアクセス権を両者に設定して使っています。これで、どちらでデジカメから取り込んでも、どちらでイベント・人々・ライブラリの整理をしても、双方から同じように最新の状態で参照/利用することができます。
時々ライブラリの修復。
しかし、ファイルのアクセス権がうまく設定されないことが時折発生するようで、iPhoto からデスクトップへの画像コピーや写真の整理がうまく出来なくなることがあります。
そういった場合には、Command + Option を押しながら iPhoto を起動して出てくる
このダイアログで「iPhoto ライブラリのファイルのアクセス権を検証して修復」というのにチェックを入れて修復すると「いくつかのファイルのアクセス権に問題があります、修復しますか?」といった質問が出るので、修復を行います。これについては特に問題もなくこれまでうまく使ってきました。
ファイルのアクセス権修復以外では「データベースの未使用ディスク領域を再利用」というのも実行したことがあります。これはおそらく有名な Tips である「sqlite3 のバキュームコマンドを実行する」というのと同じことだと思います。実際実行した時にはこれといった問題は発生しませんでした(容量もほとんど減らなかった記憶があります。vacluum はコマンドラインからよく実行しているるためだと思われます)。
失われた画像を求めて(鬼門)。
今回、やはりアクセス権がおかしくて修復するにあたり、何の気なしに「”iPhoto Library”フォルダ内のリンク切れ写真を回復」というオプションにもチェックを入れてみました。気づかないうちにいなくなっている写真があるとしたら(それは困る)、整合性をチェックしてそれらをあぶり出してくれるということかなあ、程度の考えで。
これが恐ろしい破壊のスイッチでした。
実行してしばらく経つと「このフォトライブラリの一部ではない画像が、iPhoto ライブラリで 52,xxx 枚見つかりました。読み込みますか?」(画像枚数下三桁はうろ覚え。キャプチャは枚数が違う理由は後述)といったダイアログが表示されました。
5 万枚って….。ライブラリに入れている画像は 22,000 枚強のつもりですから倍以上です。これは素直にハイそうですかと判断はできません。
過去に iPhoto Library のサイズをどうにか小さくできないものかとパッケージの中身を見た時に、サムネールの画像や顔認識で表示される顔アップの画像などがずらっと並んでいるのを見たことがあります。5 万枚ともなるときっとあれに違いないと考え、読み込むべきではないと判断しました。
ありがた迷惑。
ここで問題になるのが、ダイアログで「いいえ」を選ぶとどうなるのかということです。素直に考えれば何もせずそのままの状態にしてくれるかと思うのですが、なんとこれらの写真を「iPhoto Library Recovered Files」というフォルダを iPhoto Library のとなりに作り、移動してしまうのです。コピーではなく移動なところがポイントです。
予想通り、ありがた迷惑な移動をされた 5 万枚のファイルは顔認識や画像のサムネールでした。これらが移動されたことにより iPhoto のあらゆるサムネールが表示されなくなりました。イベントのキー画像も、画像一覧の画像のサムネールも、顔認識のサムネールも、すべてです(キャプチャを載せたいところですが実名満載なので割愛します)。画像自体は消していないので選べば表示されますが、表示したからといってサムネールが復活するわけでもありません。移動されたファイルを iPhoto に登録すれば、それらが新たな別の画像として追加され管理されてしまいます。元のファイルのサムネールだと認識されることはありません。
Recoevered Files に移動されたファイルはすべてフラットな構造で、フォルダの直下に配置されています。手作業で元(パッケージ内の適切な位置)に戻そうにも、どこにもどしていいのかわかりませんし途方もない作業です。
気をとりなおして再び Command + Option で起動し「写真のサムネールを再構築」を実施します。すぐに終わりますがなにも改善しません。No サムネール、No iPhoto!
覚悟を決めて「写真のサムネールすべてを再構築(時間がかかります)」を選びます。本当に時間がかかりました。CPU をかなり占有して放置状態で 2時間以上。しかし、再構築されたのは画像のサムネールだけ。つまり「イベント」や「写真」の表示には問題ないのですが、「人々」の表示は相変わらずサムネールが抜けたままです。人々の再構築、再認識は Web を調べても方法が分かりません。結局のところ、画像を全部一度消して登録して再度顔認識させてやり直す以外に方法がなさそうです。それは顔認識の学習と振り分けを再び最初からやり直すということで、ありえません。
状況的には時間は費やした上にこれといった解決策もなく、なんだかとてもブルーです。
タイムマシンで過去に戻る。
そして Leopard ユーザなら誰もが思い出す、あのタイムマシンの登場です。自宅は TimeCapsule をルータにしていて、TimeMachine のバックアップもそこに作っています。いままで一度もそこから修復したことはなかったのですが、いよいよ出番かと。
54 GB のフォトライブラリなので復旧には時間がかかるのが予想されます。普段は無線でつないでいるネットワークを有線で暫定接続し、サムネールを抜き取られた フォトライブラリを外付けドライブにバックアップした上で、昨日の iPhoto ライブラリを復元します。
結局 1 時間ぐらいかかってライブラリが宇宙空間(TimeMachine を使ったことの無い人には意味が分からないと思いますが)を通って過去にタイムスリップしました。復旧したのは昨日のライブラリですが、直近に追加した写真があったのでそれを救済する必要があります。バックアップのフォトライブラリと復旧したフォトライブラリとそれぞれのパッケージを開いて Originals の中を比較、2009 の下の差分のフォルダをバックアップから復旧ライブラリにに追加して、めでたく本当の復旧完了です。
やたら時間はかかりましたが、iPhoto 自体は気に入っているソフトなので元に戻ってよかったです。復旧したのでありがた迷惑 Receovered Files やサムネールのないフォトライブラリは削除して、最新の状態のよいフォトライブラリを外付けドライブにフルバックアップ(コピー)しておきました。
検証してみる、考えてみる。
写真を管理しているのは iMac ですが自宅には MacBook もあります。こちらの iPhoto は何も使っていません。そこで MacBook の iPhoto を使ってどういうことなのか確認してみました。iMac で別のライブラリを作って実験することももちろんできるのですが、Command + Option で起動したときの iPhoto のウィンドウは空白なので万が一にも手違いを起こす可能性を恐れて、MacBook で実験します。
画像を1枚追加しCommand + Option で起動、出てきたダイアログで「”iPhoto Library”フォルダ内のリンク切れ写真を回復」を選びます。するとやはりリンク切れを報告するダイアログが出てきます(さきほどのキャプチャが 1 枚と表示されていたのはこの確認作業でとったキャプチャのため)。このダイアログで「はい」を選ぶと、サムネール画像が iPhoto に追加されて、もとの画像はサムネールなしになります。両者はリンクしておらず別物の画像です。「いいえ」を選ぶと、iPhoto には画像は追加されませんがサムネールは Recovered Files に移動されて、もとの画像はサムネールなしになります。
つまり、一度リンク切れ写真の回復をチェックして再構築してしまったら、もう後戻りはできずサムネールは必ずなくなります。そして、サムネールすべてを再構築したとしても顔認識のサムネールは再構築されません。結局、全画像を削除して再び登録するようなライブラリの新規作り直しをせざるを得なくなります。
おそらくサムネール再構築で顔認識が再構築されないのは、このオプションが iPhoto ’09 以前の顔認識のない iPhoto の時代からあるもので顔認識のことを考慮した対応が抜けてしまったということか、顔認識の方式やデータの管理上単純に作り直すのは難しい、ということだと思います。百歩譲ってそこはまあ我慢するとしても、リンク切れ画像の回復で iPhoto 内のキャッシュ的サムネール画像をリンク切れ画像として取り扱ってしまうのはあまりにひどいというか、使い物にならないというか、むしろそういう状態ならそのチェックボックスあっちゃダメだろ、と思います。
教訓は、iPhoto の修復はアクセス権とバキュームしかやらない、TimeMachine は偉大、の 2 点です。
[tmkm-amazon]B002JWMM26[/tmkm-amazon]
こんにちは。
私もiPhotoのライブラリの不調に悩まされました。
思わず「フォトライブラリの再構築」にある項目を全て試してしまいました。
元々のiMacの不調も重なってか、どんどん泥沼に陥っていくようで。。。
今回、あなたの記事を参考にさせていただき、iPhotoのライブラリの復旧ができました。
やはり、Time Machineは偉大ですね。
ありがとうございました。
最初にapertureが重くてどうしたものかな?と
ネットで再構築の仕方を発見!
apetureいい感じに再構築すべて終了〜。
そうだ!! iPhotoも結構データあったようだから(100Gでした)一応やっとこ〜っと。
そしてこの恐るべき破壊のボタンを押してしまいました。。。。。
サムネイルほぼ全滅、写真も全く表示されず!!!
困り果てて色々と調べてここに来ました、全くもってNOぉぉぉ〜!!ですねっ。
今iPhotoのMasters内には写真あったので(全部かどうか?)
とりあえずは今外付けHDにバックアップ中です、Time Machineも確認しないと〜
この後復旧作業です、この記事を参考にさせて頂きます。
ありがとうございました。
acquiring equivalent rss snag? Someone who’s going to be aware of nice retort. Thnkx ecafadfcegedfdee