cafegale(LeafCage備忘録)

LeafCage備忘録(はてなダイアリー)と統一しました。

windows xpにおけるdotfilesの管理

vim-users.jp – Lingr
.〜rcファイルの類は~/以下に置くのが管理の上で望ましいが、バージョン管理する上では別ディレクトリにそれらのシンボリックリンクを作成するのがいい。
しかしxpではシンボリックリンクは普通では作れないらしい。

機能まとめ表

機能 使えるOS 使えるファイルシステム ファイルへのリンク フォルダへのリンク 異なるドライブへのリンク リモートフォルダへのリンク ツール
ハードリンク 2000以降 NTFS内のみ × × × fsutil
ジャンクション ホスト側はNTFSのみ × × linkd
シンボリックリンク Vista以降 mklink

引用元:
Windowsでハードリンク/ジャンクション/シンボリックリンクを使う - うち記
(ジャンクションはシンボリックリンクの下位互換。ディレクトリにしか張れない)


なのでハードリンクを張って運用することにした。

fsutil hardlink create <ハードリンク名> <元のファイル>

fsutilはxp以降になら標準搭載。
ハードリンクを張っている場合、ハードリンクを全て消さないとファイルの実体は消えない。

ハードリンクの弱点?

これをつかえばxpでシンボリックリンクが使えるかも!?

窓の杜 - 【REVIEW】エクスプローラ上で手軽にシンボリックリンクを作成「Link Shell Extension」
└└Gerhild's & Hermann's Site

注意!:このツールで作られたリンクは、リンクを有効化するプログラム senable.exe を起動していないとアクセスできないし削除することさえ出来ない。

リンクを張る方法まとめ

OS ファイルへのハードリンク フォルダへのリンク(ジャンクション) ボリュームへのリンク シンボリック・リンク
Windows 2000 linkd ディスク管理ツール
Windows XPWindows Server 2003 fsutil linkd ディスク管理ツール/mountvol
Windows VistaWindows Server 2008 fsutil/mklink mklink ディスク管理ツール/mountvol mklink

引用元:
ジャンクション機能を使ってフォルダをマウントする − @IT
linkdはシンボリックリンクを張るようなツールとして紹介されていることが多いがそれは間違いで実際張るのはジャンクションである。(ディレクトリにしか張れない)