私と私の猫の他は誰でも隠し事を持っている

野良プログラマ発、日々のアウトプット

5万曲入りの iTunes ライブラリを外付けドライブに引っ越そうとして難儀した件

自宅 MacBook Pro (15″Mid 2015 / Mojave)の内蔵ドライブ(SSD)が手狭になってきて仕事に差し支えるようになったので、250GB と半分程容量を消費している iTunes フォルダを外付けドライブに引っ越すことにしました。以前もやったことがある作業なので高をくくってたら予想以上に難儀してしまったので、備忘録として書き残します。

最初に試した方法は、ネットで調べた「iTunes フォルダを移動して、Option キーを押しながら iTunes を起動して、移動先フォルダを選択する」という方法でした。ネット記事によると、起動後の iTunes で「曲の情報」から「ファイル」タブで確認すると、格納場所が移動先に変わっているということだったのですが、自分の場合は以前の場所のままでした。原因は分からずじまい。

前述の「以前にやった」方法は、移動した先の iTunes フォルダにある「iTunes Library.xml」の音源ファイルパスを適宜書き換えるというものだったので、これも上記の失敗の後で試してみたのですが、iTunes を起動すると書き換える前の内容に戻ってしまうという現象で、失敗に終わりました。以前は iTunes のライブラリデータベース・ファイルが「iTunes Library.xml」だったのが、現在では「iTunes Library.itl」に変わっており、XML ファイルはそのシャドウになってしまったというのが原因のようです。

その後、あれこれ試行錯誤して何とか移動に成功したので、下記に手順を記します。その前に注記しておくと、当方環境ではリッピングや購入した音源を iTunes/アーティスト名/アルバム名/ に格納する昔ながらの設定になっており、「iTunes Media」フォルダに統合することはしていません。この辺が違うと、下記方法ではダメだと思います。

  1. 移動前の状態の iTunes にて、「環境設定」を開き、設定内容を控えておく。
  2. iTunes フォルダを丸ごと、移動先にコピーする。
  3. コピーした iTunes フォルダ内にある設定ファイルの類(自分の環境では iTunes Library.itl, iTunes Library.xml, iTunes Library.itl, iTunes Library Extras.itdb, iTunes Library Genius.itdb)を削除する。
  4. Option キーを押しながら iTunes を起動して、ダイアログの「ライブラリを選択」ボタンをクリックし、移動先フォルダを選択する。起動後の iTunes は左ペインライブラリの「曲」で何も表示されないまっさらな状態になっていれば OK。
  5. 「環境設定」で、控えておいた設定内容に設定する。その際、「詳細」タブの設定で「ライブラリの追加時にファイルを"iTunes Media"フォルダにコピー」のチェックは外しておくこと。
  6. コピー元の iTunes フォルダ内にある「iTunes Library.xml」のファイルパスを移動先に合わせて書き換えたものを複製する。ファイルパスは、<key>Location</key> で始まる行の <string> タグの中に URI 書式で記述されています。例えば、/Users/mariyudu/Music/iTunes から /Volumes/Music-Drive/iTunes に移動するように書き換えるなら、「/Users/mariyudu/Music/」という文字列を「/Volumes/Music-Drive/」に置換すればイイですね。テキストエディタでやってもいいですが、当方ではデータ量が多いので ターミナルから sed で一発書き換えしました。
  7. iTunes の「ファイル」メニューから「ライブラリ」>「プレイリストを読み込む」を選択して、上で作成したファイルを読み込ませます。当方の5万曲弱の場合では、30分程かかりました。
  8. これで移動場所にコピーした音源ファイルが取り込まれ、これまでに作成したプレイリストや再生回数等の情報も全て、新しい環境に反映されました。ポッドキャストの購読情報等はきれいさっぱり無くなっていましたが、それはまぁ良しとします。

以上です。XML データ書き換えが必要なので、その辺を理解できて個別的なトラブルに対処できる方以外にはお勧めできませんが、ひとつの情報として。あと、この種の作業の前にはとにかくバックアップを忘れずに! 当方も直前にタイムマシンバックアップで丸ごと状態保全したのは言うまでもありません。