Windowsでシンボリックリンク(防備録メモ)

iTunesを複数PCで使用する際にネックとなるのが、ライブラリフォルダやライブラリファイルの場所が実質固定されてしまっている点。
ライブラリフォルダは、共有化するなどしてドライブレターを一致させればそのまま使えるが、あの糞My Documentsフォルダの中にゴリゴリ作成されるライブラリデータ群は都度コピーしなければならない。
同期に失敗したり、大規模なライブラリ管理の変更を行うと、たまにデッドリンクが大量発生したり、変更箇所がロールバックしてたりして悲惨なことになる。
 
現在はファイルバックアップソフトを駆使して自宅と会社で同じライブラリを共有して使っているんだけど、よく考えるとコレ、シンボリックリンクを使うことが出来れば一発で解決するじゃんって話。
もちろんライブラリをVPN経由で参照すると重くなるけど、単に再生するだけならギリギリOKだろうと。曲を大量に放り込む作業は大抵自宅でやるので、実体は自宅のファイルサーバ、会社PCにはそこへのシンボリックリンクを張っておけば、すべてが丸く収まってしまう事になる(しかも毎回同期をとらないで良い)。
 
これを実現する為に必要な、Windowsシンボリックリンクを実現するプログラムは無いのかと探していたら、同じ事をしている(iTunesの共有のためにシンボリックリンクを探してる)人が居た。
どうやらMicrosoftから公式ツールとして「junction」というプログラムが配布されている模様(下記インデックスの中の「junction(英語)」のリンク先参照)。
http://technet.microsoft.com/ja-jp/sysinternals/bb545046.aspx
 
ちっちゃいプログラムだけど、これがあれば環境がグッと便利になるわぁ。
 
 
※追記。リソースキットを導入すれば、XP以降ならlinkdというコマンドラインツールが使えるらしい。Vista以降はmklinkという名前で、若干高機能。
 
※さらに追記。勇士の方が2000やXP上でもVista同等のシンボリックリンクを扱えるパッチ(http://homepage1.nifty.com/emk/symlink.html)を作ってくれていますが、システムのドライバに介入するものだそうで、最悪システムが吹き飛ぶ可能性もあるとのこと。うーむ。
 
 
以下、設定メモ。
ユーザー固有のライブラリ情報
 C:\Documents and Settings\【ユーザー名】\My Documents\My Music\iTunes
ハードウェア関連(マシン固有?)の情報
 C:\Documents and Settings\【ユーザー名】\Application Data\Apple Computer\iTunes
 C:\Documents and Settings\【ユーザー名】\Local Settings\Application Data\Apple Computer\iTunes
 
上記3フォルダを同期するとiTunesに関係する大部分の設定が共有できる。ライブラリだけならユーザー固有だけでOKっぽいが、iPodの同期なども行う場合はハード関連のフォルダも共有しておいたほうがよさげ。
 
 
※追記。junction(linkdも同じ)はあくまでリンクであってシンボリックリンクではないみたい。ネットワークドライブへのリンクができないとか、色々制限があった。Vista以降のmklinkのほうなら出来るのかな?