Appleの新しい写真アプリ(Photos.app)は、ハードリンクでライブラリ中の写真を移行するためiPhotoやApertureユーザーはファイルサイズを気にせずにPhotosへ移行することが出来るようです。詳細は以下から。
Six ColorsやTidBITSのエディタJason Snellさんによると、PhotosはiPhotoライブラリをハードリンクを使用して移行するため、巨大なライブラリを取り扱っている場合でもユーザーはストレージ容量を気にすることなく新しいPhotosへ移行できるそうです。
So Photos for OS X uses hard links to save space when importing iPhoto libraries. http://t.co/91JROtbxIv
The Photos import process is friendly when it comes to disk space — it doesn’t duplicate the photos it imports from iPhoto and Aperture, so you don’t lose precious storage space.
[Initial Impressions of Photos for OS X Beta – TidBITS]
ハードリンク
ハードリンクは1つの実体(iノード)を複数のファイルから参照でき、複数の同じファイルが存在しても実体は1つのためストレージを圧縮しないためTimeMachineやFinal Cut Pro Xなどで使用されており、新しいPhotosでもiPhotoのライブラリを移行する際このハードリンクを使用しライブラリを移行することで、ユーザーはストレージ容量を気にすることなくiPhotoから移行可能だとJasonさんはコメントしています。(ハードリンクがについての詳しい説明は@ITやザリガニは見ていた…。さんを参照して下さい)
I had an inkling that this was all happening due to a feature of OS X that I believe has previously only been used by Apple in Time Machine, and prodded by TidBITS reader Bryan Walls, I confirmed it this morning. Photos uses Unix-style hard links when importing iPhoto libraries.
[The (hard) link between Photos and iPhoto – Six Colors]
確認してみた
実際にiPhotoのライブラリをPhotosに移行し、その前後でリンク数を確認してみるとライブラリ(MastersとThumbnalisディレクトリ内)の写真のリンク数が「2」となり
findコマンドでiノード番号を付けて検索してみてもiPhotoとPhotos内にiノードが存在し、Photosから新たにハードリンクが作成されたことがわかります。
Photos移行後、iPhotoライブラリはどうなるのか?
Photosへ移行後のiPhotoライブラリは拡張子が”.photolibrary”から”.migratedphotolibrary”に変更されますが移行後も使用可能ですが、
iPhotoに追加した写真や、iPhotoで編集した写真はPhotosには反映されません。
この iPhoto ライブラリの内容はすでに”写真”アプリケーションに移行されています。このライブラリを iPhoto で開くことはできますが、新しい写真の読み込みを含むいかなる変更も”写真”ライブラリには表示されません。
これはiPhotoだけではなくApertureライブラリをPhotosへ移行した場合も同様で、移行後はApertureライブラリの変更はPhotosには反映されないため、現在iPhotoとApertureで可能なライブラリ間の共有は不可能になります。(Photosリリース後、ApertureはMac App Storeからも購入できなくなるので当然ですが)
Looks like Aperture was already ready for Photos: http://t.co/fg01ZNrvzj
おまけ
この方法のお陰でユーザーはストレージをPhotosライブラリの容量で圧迫されることなく(厳密には設定ファイルなどがコピーされるので容量は消費しますが)iPhotoのライブラリを移行できますが、ハードリンクの特性から移行後のiPhotoライブラリ内のファイルを他のアプリ(例えばPhotoshop)で編集し、保存するとするとPhotos内の写真を変更していなくてもPhotosからアクセスできなくなります。
So what happens if you edit one of those files? Something very clever, it turns out: If I open the JPEG image from the migrated iPhoto library in Photoshop, edit it, and save it, that version is indeed altered—but the version in the Photos library is untouched. Basically, modifying that file causes the link between the two versions to break. They’re different, and no longer connected.
[The (hard) link between Photos and iPhoto – Six Colors]
また、Photosライブラリ内の写真を消去してストレージ容量を空けたい場合はPhotos内の写真と同じiノードの写真をiPhoto内からも消去しリンク数”0″にしなければ写真を消去することは出来ないので注意してください。
関連リンク:
・Photos for OS XはiPhotoよりスムーズで、iOSデバイスとの架け橋にはなるがApertureの代わりにはならない。Photosのレビュー記事まとめ
・Apple、新しい写真アプリ「Photos for Mac」にiOSのUIKitに似た新たなFramework「UXKit」を採用
コメント
頭が悪い俺に誰か教えて
結局photosにライブラリー全部移行できたらiphotoのライブラリーは削除してもいいってこと?
>>1
いいけど、ハードリンクのリンク数が減るだけでHDD容量はさほど変わらないよ、RAWとかでかいファイルで写真撮ってる場合はiPhotoのライブラリ全消しした上でPhotos側も消せばスッキリするはず。
>>2
サンクス
古いのは徹底的に無くしたい主義だから容量は変わらなくても今後iphotoは使わないから削除でいいね
ハードリンクの説明画像(上から2つ目)の「ライブラを以降」は「移行」の間違い?
ハードリンクの事がよくわかっていないのだが、これってApertureで使える参照イメージが使えるってことですか?
他のソフトからも閲覧しやすいように、独自でPictureフォルダにイベント事に整理しているのですが、それらのファイルをPhotosで読み込んでもPhotosのライブラリには特にコピーされずに常に参照する形になるっていうことですか?