タイトル【Inside Mac OS X】エイリアスとシンボリックリンクカテゴリーMac OS X, Inside Mac OS X
作成日2000/6/20 14:39:17作成者新居雅行
Mac OS Xでは、HFSやHFS+といったMac OSのディスクフォーマットあるいはファイルシステムを利用する。一方、UFSとして、BSDのファイルシステムも利用できる。Mac OS X Serverではいずれも利用できたとは言え、起動ボリュームはUFSしかだめで、一方、AppleShareのファイルサーバにするにはUFSではなくHFS+のボリュームが必要だったこともあって、何度かインストールのやり直しを経験することになる。Mac OS Xではその点では柔軟性があるというか、HFS+でも起動ができるので、基本的にはHFS+を使うことになるだろう。
Darwinの記事で、Darwinがシンボリックリンクを利用できることを見てきたが、シンボリックリンクはHFS+ボリュームでも作成できる。また、Inside Mac OS X: Overviewのp127からの記述を見る限りは、Mac OS Xでもシンボリックリンクをサポートすることが記載されている。つまり、Mac OS Xではエイリアスもシンボリックリンクも使えるということだ。Finderレベルでのエイリアス作成機能はサポートされる。一方、シンボリックリンクを作る機能はFinderでは用意されず、「ln -s」コマンドを使って作る必要があることが示されている。ただし、Finderでは、エイリアスもシンボリックリンクも、同じようにオリジナルファイルの別名として機能する。シンボリックリンクは、エイリアスと表示されると記載されている。
エイリアスは便利なこともあるのだが、不便だと思うこともある。たとえば、ある特定のフォルダにある特定の名前のファイルを常に参照したいとしよう。もちろん、エイリアスでも不可能ではないが、そのファイルが、バックグランドのプロセスで随時置き換わるようなものだったらどうだろうか。たとえば、ある種の情報を記録したログファイルで、新しい情報を記録したいときに、古いファイルの名前を変更し、最新情報は常に一定のファイルから得られるとする。そのようなファイルへの別名参照は、エイリアスだと問題が生じる。名前を書き換えた古いファイルを参照してしまうからだ。こうした用途ではパスが固定されたシンボリックリンクの方が使いやすい。
一方、ユーザが文書に画像ファイルをリンクしたとしよう。その場合、必ずしもすべてがそうだとは言えないが、エイリアスレコードを作っておけば、文所為ファイルと画像ファイルはどんな位置関係にあっても問題は生じない。たとえば、1つのフォルダにまとまっていたものの、画像が増えて別途別のフォルダに移動させたとしても、エイリアスなら即座にトレースして移動先のオリジナルファイルを見つけだす。
非常におおざっぱな味方をすれば、ユーザがいじるファイルはエイリアスで参照しておく方が無難だが、システムあるいはソフトウエアレベルでいじるファイルなどはシンボリックリンクの方が問題がでないと言えるのかもしれない。
関連リンク