iPhotoでオリジナルを外部ディスク、キャッシュはMac上に残して高速かつHDDに余裕を。

2014/07/11

iphoto

外部に容量の大きいオリジナルの写真だけを移し、キャッシュは手元に置いて高速に動作させることに成功したので紹介します。くれぐれもバックアップをとって、自己責任で試してください。

iPhotoのライブラリはネットワークドライブなど外部のディスクに移して利用することができます。iPhotoのアイコンをクリックして起動する際に、「option」キーを押せばライブラリを新規作成したり選択したりが可能です。だけど、この方法ではライブラリの中にあるキャッシュも転送速度の遅い外部ディスクにあって、実用に絶えませんでした。

今回試したオリジナルファイルだけを外部に移動させる方法だと、速度には不満があるPogoplugで設置したドライブでも快適にiPhotoを使うことができました。

新規作成したライブラリで再取り込みがオススメ。

iPhotoのライブラリは見かけはひとつのファイルですが、実際にはただのフォルダです。マウスの右クリック(MacBookで開くなら「control」を押しながらクリックして出るコンテキストメニューで「パッケージの内容を表示」をクリックします。

iphoto

オリジナルの写真ファイルは「Masters」フォルダの中にあります。これを外部にコピーしたあと、シンボリックリンクをつかって外部に写したMastersに同じ名前のリンクをつくります。

だし、この方法はもしうまくコピーできなかった時に大惨事を招くので、オススメは新規作成したiPhotoのライブラリをつかい、外部のHDDに設定した空のMastersフォルダに対してシンボリックリンクを作成したあと、iPhotoを起動させ、元のライブラリの中のMastersフォルダをiPhoto上で再度取り込む方法です。

iphoto

この方法だと、シンボリックリンク作成時にも空のフォルダを扱うだけなのでプレッシャーがありません。ただし、すでにアルバムなどを作成している場合は、それらは引き継がれないことに注意が必要です。

ライブラリの中へはいり、シンボリックリンクをつくる

例えばネットワークドライブに設置した外部のMastersフォルダをライブラリの中にMastersシンボリックリンクを作るには、まずライブラリの中にターミナルで入る必要があります。たとえばこんな感じ。

$ cd /Users/daddy/Pictures/iPhoto\ Library.photolibrary

cd を入力した後に、ライブラリをターミナルの上にドラッグアンドドロップすれば手っ取り早く入力できます。

新規作成したばかりのMastersフォルダは空なので消しても構いませんが、不安ならFinderでフォルダ名を変えておくとよいでしょう。

次に、外部のディスクにシンボリックリンクをはります。

ln -s /Volumes/Pogoplug/IPHOTO/Masters Masters

ls でディレクトリの内容を見るとただのフォルダにしか見えませんが、-Fオプションをつけると、後ろに@が付きます。

ls -F
Masters@

写真のオリジナルファイルをバックアップするつもりで新規作成したライブラリの利用をオススメします。

追伸

ちなみに、ターミナルを使わずに作成できるエイリアスと、シンボリックリンクは似て非なるものです。実際エイリアスではうまく行きませんでした。

また、新規作成したライブラリに、ただMastersフォルダをシンボリックリンクさせたり、ライブラリの中に画像ファイルの入ったMastersフォルダをコピーしても、iPhotoでは表示されません。

本来はこの場合、iPhotoを「option」+「command」キーを押した状態で起動すると、下記のようなメニューが現れるので、データベースの修復をすれば解決するはずですが、QTKitServerというプロセスが完全に暴走してうまくいきませんでした。

iphoto