JAPANESEENGLISH

supermountを使おう

Tatsuki Sugiura
sugi@nemui.org

目次

概要

この文書は何?

Linux でリムーバブルメディアを扱うための一つの方法である supermount patch の紹介です。

これは現時点でおそらく最も簡単にメディアを扱うことが出来ます。 今使っている方法が面倒だと感じる人や、学校等余り知識のないユーザを抱える所に 適しているかと思います。

supermount を使って何が出来るか

技術的概要と用語

準備: kernel patch

supermount は現時点では patch の形で提供されている。 オフィシャルページの Linux removable media support からパッチをダウンロードして適用する。

パッチを適用すると、config の Filesystems 内に Supermount removable media support と言う項目が新たに 追加されので、これを組み込みかモジュールに指定してコンパイルすること。

動作テスト

カーネルの入れ替えが問題なく終わったら、実際に使ってテストをしよう。

とりあえず FD から。 root になって以下のようなコマンドを実行する。

# mount -t supermount  -o dev=/dev/fd0,fs=vfat floppy /mnt

ポイントは以下の通り。

何もエラーが出なければ OK. 後は適当に FD を入れて、一般ユーザに戻り

$ ls /mnt

などを実行してみよう。ちゃんと表示されたら umount せずに 別の FD に入れ替えて、また ls してみる。正しく内容が変われば OK.

動いているようなら、df 等も動かしてみよう。 ls を動かした直後は df の出力に出てくるが、 FD を抜いたり入れ替えたりすると自動的に消えるのが分かるだろう。 ちなみに、現在実際に(subfs が)マウントされているかどうかは /proc/fs/supermount/subf を参照すると分かる。

/etc/fstab の変更

さて、テストが終わったらこれを常時使うように変更する。 先ほど使ったマウントポイントは umount し、/etc/fstab を書き換えよう。

次のようなエントリを追加する。 既に "noauto,user" オプション付きで 同じ様な項目がある場合が多いと思う。 その場合はそれを変更すること。

/etc/fstab の追加エントリ
floppy /floppy supermount fs=vfat,dev=/dev/fd0,--,codepage=932,iocharset=euc-jp 0 0
cdrom  /cdrom  supermount fs=iso9660,dev=/dev/cdrom,--,ro,iocharset=euc-jp 0 0

元々指定されていたファイルシステム固有の(subfsの)オプションは -- の後ろに書くことが出来る。例では日本語ファイル名のコード変換 オプションを指定しているが、要らない人は -- 以下はなくても良い。

設定の有効化

root で

# mount -a

として有効にしておこう。この状態で mount のリストを表示したとき、

現在のマウント状態をチェック
$ mount
floppy on /floppy type supermount (rw,fs=vfat,dev=/dev/fd0,--,codepage=932,iocharset=euc-jp)
cdrom on /cdrom type supermount (ro,fs=iso9660,dev=/dev/cdrom,--,iocharset=euc-jp)

の様なエントリが表示されれば OK. 後は指定したマウントポイントにアクセスすれば使用することが出来る。

問題点と課題

現時点で IDE CD-ROM ドライブと通常の FD ドライブは巧く動く。 (テストしていないがSCSI CD-ROMもおそらく動くと思われる。)

しかし USB メモリーリーダでは巧くいかなかった。メディア変更の情報が巧く とれないため(???)、古い情報が残ってしまう。

参考リソース