Windows で作成した CD-ROM(CD-R等)を UNIX で読むとロングファイルネームのファイルが全て 8.3形式に変わってしまっていたり、大文字ばかりになっていたり、小文字ばかりになっていたりします。
Windows で作成した CD-ROM(CD-R等) は、通常 Joliet といわれる形式になっています。Joliet は CD-ROM(CD-R等) の規格である ISO9660 を拡張して、8.3形式以外のファイル名を使えるようにしたものです。
しかし、UNIX では Joliet が認識できず、8.3形式のまま表示されてしまうことがあります。Linux は Windows と親和性が高い傾向にあるので、問題なく読んでくれるものが多いのですが、Solaris などは Joliet を認識できません。
Solaris などの UNIX では RockRidge という Joliet とは異なった規格が使われいることが原因です。
なので、Windows で作成した CD-ROM(CD-R等) を UNIX でも正しく読みたい場合は、RockRidge 形式でライティングすればいいのです。が、簡単にはできません。方法としては、以下の方法が考えられます。
- Windows で RockRidge 形式でライティングする。
- UNIX(Linux含む)で RockRidge 形式の ISO イメージを作成し Windows でライティングする。
主な用途としては、Windows で取得したファイルを UNIX にもっていきたいけれど、ネットワーク環境などが整っていないので CD-ROM に焼いてもっていくということなので、できるだけ Windows 環境だけで CD-ROM を作成しないといけません。そこで、以下の方法であれば、Windows 環境だけで UNIX 向けの RockRidge 形式の CD-ROM が作成できます。(反則気味ですが・・・)
- Cygwin で RockRidge 形式の ISO イメージを作成する。
# mkisofs -R -J -T -o rockridge.iso ./files
-R RockRidge 形式で ISO イメージを作成
-J Joliet 形式で ISO イメージを作成(-R -J は同時に指定できます。)
-T TRANS.TBL を作成(RockRidge 形式が使用できないシステム向けのロングファイルネーム情報)
-o filename ISO イメージファイル名
./files ファイルが格納されているディレクトリ
【-R -J -T を全て指定しておけば、ほぼ全てのシステムでロングファイルネームが扱えるということになります。】
Manpage of MKISOFS - RockRidge 形式 ISO イメージをライティングする。
0 件のコメント:
コメントを投稿