Pantherのファイルシステムは大文字小文字を区別する? 14
ストーリー by yourCat
Case-sensitiveの和訳にいつも悩む 部門より
Case-sensitiveの和訳にいつも悩む 部門より
Acanthopanax 曰く、 "MacBidouilleの記事“MAC OS Case sensitive” (英語版) によると、Mac OS X 10.3 (Panther)のベータ版には、Mac OS拡張フォーマット (HFS+) でも大文字小文字の区別をするようにするというオプションがあるという。HFS+ではファイル名の大文字と小文字を記録はするものの区別しないために、過去にはApacheにセキュリティ上の問題が発生したこともある。また、nkfのmakeの際に、ファイル名が衝突してうまくビルドできないという事例もあった。まだ噂の段階だが、実装されれば、UNIX由来のソフトウェアを移植するには便利になるかもしれない。"
内部的にはどう処理するんだろう? (スコア:1)
でも実際のところ内部ではどうやって処理することで区別できるように
するんでしょうか?
現行のHFS+ではどうやっても区別できそうにはないんですが…
何かメタデータを作ってリソースフォークに埋め込んだりして区別するのだろうか。
いずれにしても興味深いです。
# これで py-gtk を入れるのが楽になる…
Re:内部的にはどう処理するんだろう? (スコア:0)
現状で比較判断しないだけ
Re:内部的にはどう処理するんだろう? (スコア:0)
もともとASCIIコードが大文字と小文字が違いますよね。
だからMacのファイルシステムは大文字のコードと小文字のコードを同じものと見なすルーチンがあるのだと思っていました。
だから大文字と小文字を見分けられるようにするのは技術的には簡単なんではないのですか?
Re:内部的にはどう処理するんだろう? (スコア:0)
HFS+は仕様では名前をUnicodeで扱うことになってます。
そのためUS-ASCIIだとかShift_JISとかいったバイト列のレベルの概念ではUnicode文字は扱いません。
もちろんUTF-8バイト列でも、バイト単位での比較もできません。
HFS+ UFS2 (スコア:1)
速度がまったく違うことや、HFS+ でないと動かないソフトが多々あることでHFS+ を使っていますが、この大文字小文字の問題では、細かいことで結構苦労させられていましたので。
UFS2 になって、速度があがればそっちかな、と思っていました。
ところで、HFS and HFS Plus in FreeBSD [freebsd.org]というのがあるそうですが、これはどうなんでしょう。
日本語でも (スコア:0)
「が(0xE3, 0x81, 0x8C)」
「か(0xE3, 0x81, 0x8B)」+「濁点(0xE3, 0x82, 0x99)」
touch "が" なんてすると分かります。
これは問題にならない?
Re:日本語でも (スコア:1, 参考になる)
Byte列が違えば文字列やファイル名も異なるなんていう幻想は捨てなさい。
大文字小文字が区別されるとの思い込みもここから来る誤った前提です。全
てはファイルシステム次第で変ります。
まずは以下を読んで基礎知識を得ることを勧めます。さらにUnicodeと
normalizationについても勉強が必要です。
Text Encodings in VFS
http://developer.apple.com/qa/qa2001/qa1173.html
HFS Plus Volume Format
http://devworld.apple.com/technotes/tn/tn1150.html
Re:日本語でも (スコア:0)
意外と困らないけど (スコア:0)
気分の問題以外にこの変更を積極的に支持する理由ってなんかありますか?
# 反対はしないけど、いまさらって感じが。
Re:意外と困らないけど (スコア:1)
/usr/bin/head が上書きされましたもんで、そりゃもう。
Re:意外と困らないけど (スコア:0)
かち合わないように大文字にすればいいやっていう魂胆がどうかしてると思う。>libwww
head, HEAD, Head, hEAD, HEad...
どれがどんな意味を持ってるか単語じゃなくて大小で区別しろってことでしょ。
Re:意外と困らないけど (スコア:1)
とか幾つかありますよね。(Mac OS Xには有りませんが)
UNIXライクなOSにおいて大文字小文字を区別するファイルシステムを前提にして良いのが文化か、はたまた単なる通説なのかは知りません。この辺を述べた文書ってどこかにあるのでしょうかね?
nkf (スコア:0)
Re:nkf (スコア:1)
お知らせありがとうございます。
最新版では、あっさりmakeできるようになっていました。