CD/DVD

ぜんぜん使い方しらないなぁと思ったら, FreeBSD な時代には一度も CD/DVD ドライブを認識してくれたことがなかったのでした. (ドライバが対応してない/USBが使えない...)

CD-ROM を入れると勝手に認識してくれた.

% cat /etc/fstab
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto     0       0
% df | grep cdrom
/dev/scd0              31xxxxx   31xxxxx         0 100% /media/cdrom0
% ls -l /cdrom
lrwxrwxrwx 1 root root 11 2007-12-20 00:53 /cdrom -> media/cdrom/
% ls -l /media/cdrom
lrwxrwxrwx 1 root root 6 2007-12-20 00:53 /media/cdrom -> cdrom0/

ただ, アプリのインストールに失敗するなぁと思ってインストーラシェルスクリプトを眺めていたら, すべてのファイルが小文字になっていたことが発覚.

% man mount
...

       norock Rock Ridge 拡張が利用できる場合でもこれを無効にする。 map も参照の
              こと。

       nojoliet
              Microsoft Joliet 拡張が利用できる場合でもこれを無効にする。 map も
              参照のこと。

       check=r[elaxed] / check=s[trict]
              check=relaxed が指定されると、ファイル名はまず小文字に変換されてか
              ら照合される。これは norock および map=normal とともに用いた場合に
              だけ意味がある。 (デフォルトは check=strict。)
....

       map=n[ormal] / map=o[ff] / map=a[corn]
              Rock  Ridge 拡張がされていないボリュームに対して normal が指定され
              ると、ファイル名の大文字が小文字の ASCII にマップされ、最後の ‘;1’
              は削除され、‘;’ はすべて ‘.’ に変換される。 map=off が指定されると
              、ファイル名の変換は行わない。 norockを 見 よ 。 デ フ ォ ル ト は
              map=normal 。 map=acorn は map=normal と似ているが、Acorn 拡張があ
              ればそれを適用する。
....
# umount /cdrom

とりあえずアンマウントして, いろいろためしてみたら, Joliet 優先でうまくいった (/dev/scd0 は /etc/fstab とか df の結果から).

# mount -t iso9660 -r /dev/scd0 /media/cdrom  # RockRidge優先
# mount -t iso9660 -r -o norock /dev/scd0 /media/cdrom  # Joliet優先
# mount -t iso9660 -r -o norock,nojoliet /dev/scd0 /media/cdrom # iso9660
# mount -t iso9660 -r -o norock,nojoilet,map=off /dev/scd0 /media/cdrom # iso9660 raw (ファイル変換なし)