シンボリックリンクでChromeとSafariのキャッシュを移動する方法


Webブラウザ アイコン

前回の記事で「Internet Explorer」「Firefox」「Opera」のキャッシュファイルの移動法について紹介しました。

今回は残りの「Google Chrome」「Safari」についてWindowsの「シンボリックリンク」という機能を利用して
ブラウザキャッシュを移動してみたいと思います。

このふたつのブラウザは、キャッシュを移動させるための設定項目がないため、ブラウザではなくOSの機能を使います。
なので別の記事として紹介しました。少々高度な技ですが結構便利なので覚えておくと後々役に立つかもしれません。

(Chromeは起動オプションを使う方法もありますが、ここでは確実&安定のシンボリックリンクの方法を紹介)

2013年1月追記:ハードリンクとシンボリックリンクを混同してたため、一部情報が間違っていました。
長らくそのままにしてしまったことをお詫びして訂正します。

シンボリックリンク

シンボリックリンク【symbolic link】とは、ファイルやディレクトリに対して別の名前を与えて、あたかも本体がそこにあるように扱うことができる仕組みのことをいいます。UNIX系OSのファイルシステムの機能として使うことができます。

皆さんもよく使う機能であるショートカット(拡張子は.lnk)と似ていますが、決定的に異なる箇所があります。
それは、シンボリックリンクは実体と同じように扱えることです。

ショートカットはあくまで「ファイル」

ショートカットはダブルクリックなどすると確かにファイルを開いたりプログラムを起動したりすることができます。
しかし、例えばアプリケーションなどのプログラムはショートカットファイルを参照してもその先にあるファイルなどは参照してくれません。参照するのはあくまで「ショートカットファイル」で、リンク先の実体を扱うことはできません。

シンボリックリンクは実体と同じように扱える

これに対し、シンボリックリンクはリンク先の実体もアプリケーションが参照できるのです。

例えば、保存場所としてシンボリックリンクを指定しても、アプリケーションはちゃんとリンク先の実体ディレクトリへ保存させることができます。リンク自体が実体と同じように扱えるようになるのです。
(※正確に実体として扱っているわけでなはいです。リンク自体が本当に実体と同じ意味を持つのはハードリンクです)

シンボリックリンク

▲シンボリックリンクを作ると以上のようにショートカットと同じアイコンが左下につきます。

 ←すぐ下層へ移動しているように見える

 ←実体はここ

これを開くと、アドレスバー上ではすぐ下の階層へ移動したように見えますが(画像上)、実体は全く別のところにあります(画像下)。ショートカットとしてではなく実体として扱われている証拠です。

また、ネットワークドライブ上にリンクを張れたり、相対リンクにも対応しています。

欠点

とても便利な機能ですが欠点もあります。

通常のショートカットのように簡単に作れないことです。コマンドプロンプトからコマンドを入力してシンボリックリンクを置く場所と、実体先を指定しなくてはいけないという面倒な作業が必要です。

シンボリックリンクの作り方

タイトルが「ブラウザキャッシュを移動する方法」なので対象を「キャッシュファイル」として解説します。
「Internet Explorer」「Firefox」「Opera」のキャッシュ移動方法は前回を参考にしてください。

※注意点として、シンボリックリンクはVista以降の機能ですのでXPでは実行できません。
XPはJunctionソフトなど用いて移動してください。

コマンド

コマンドプロンプトを使うので「スタート」→「すべてのプログラム」→「アクセサリ」→「コマンド プロンプト」と進み「管理者権限」で実行してください。権限がないと失敗します。

シンボリックリンクのコマンドは以下の通りです。

mklink [/d] |[/h] |[/j]] リンク ターゲット

/D ディレクトリのシンボリック リンクを作成します。既定では、
ファイルのシンボリック リンクが作成されます。
/H シンボリック リンクの代わりにハード リンクを作成します。
/J ディレクトリ ジャンクションを作成します。
リンク 作成されるシンボリック リンクの名前を指定します。
ターゲット 新しいシンボリック リンク先パス (相対または絶対パス) を指定します。

※コマンドヘルプより

削除方法

シンボリックリンクの削除は通常の削除と同じようにリンクをゴミ箱にでもポイっとすればOKです。

実際にキャッシュを移動する

  1. それでは実際にキャッシュを移動してみましょう。
    まずはリンクを置くファイル・フォルダ(ここではキャッシュフォルダ)を探します。

    ○Google Chromeのキャッシュフォルダ

    C:\Users\%username%\AppData\Local\Google\Chrome\User Data\Default\Cache

    ○Safariのキャッシュファイル

    C:\Users\%username%\AppData\Local\Apple Computer\Safari\Cache.db
  2. Chromeはフォルダ、safariはファイルでキャッシュを管理しているようです。

    なのでChromeは「Cache」フォルダ、Safariは「Cache.db」ファイルを任意の場所へ移動させてください。
    このとき、元の場所には「Cache」フォルダ、Safariは「Cache.db」ファイルが無い状態にしてください。
    (不安ならコピー後、元のデータはリネームしてバックアップとしておけばOKです)

  3. コマンドプロンプトを管理者権限で起動し以下のようにコマンドを入力します。
    「移動先」ですが、Chromeなら「Cache」フォルダ、Safariなら「Cache.db」ファイルを指定してください。

    ○Google Chromeの場合

    mklink /d "C:\Users\%username%\AppData\Local\Google\Chrome\User Data\Default\Cache" "移動先のCacheフォルダ"

    ※Chromeはフォルダなのでコマンドにオプション[/d]を加えないとリンクが張れないので注意。

    ○safariの場合

    mklink "C:\Users\%username%\AppData\Local\Apple Computer\Safari\Cache.db" "移動先のCacheファイル"
  4. コマンドを実行し「~のシンボリック リンクが作成されました」というメッセージが表示されれば移動完了です。
    リンクを置いた場所にショートカットアイコンが表示され、正常にアクセスできているか確かめてみましょう。

    失敗する場合は、アドレスを間違えていないかもう一度確認してください。アドレスは「””」(ダブルクォーテーション)でくくり、それぞれの指定の間には半角スペースを忘れないでください。

まとめ

以上、キャッシュの移動を目標としてシンボリックリンクの作り方を解説しました。

今回はキャッシュの移動のみですが、シンボリックリンクはどんなファイル・フォルダに対してでもリンクを張ることができます。ネットワークドライブ上にもリンクを張れる非常に便利な機能です。

リンクは実体に似た扱いを受けるので、仕様上移動させると不具合がでるデータでも移動することができます。
ショートカットと異なり少々難易度の高い技ですが、使いこなせばデータ管理も楽にできるでしょう。

パソコン操作は得意!という方は試してみてはいかがでしょうか。