ちょっと内蔵フロッピィを使おうとしただけなのに,こーんなにハマったというお話(爆)。
あるデータをフロッピィに移そうとして気づいたのだが,内蔵のフロッピィドライブが見えていない。どうやら,floppy moduleがロードされていないようだ。
$ modprobe floppy
でmoduleをロードしてやろうとすると,
FATAL: Error inserting floppy (/lib/modules/2.6.32-220.23.1.el6.i686
/kernel/drivers/block/floppy.ko): Operation not permitted
と怒られるが,rootならロード可能。この間 sudoers file をいじって,sudoを使えるようにしたところなので,
$ sudo modprobe floppy
で,moduleをロードする。
デスクトップのコンピュータ内に「フロッピー・ドライブ: フロッピーディスク」というなんか鬱陶しい名前のアイコンが現れた。
この段階では未マウントなので,mountではフロッピィに関して何も見つからないが,
$ sudo parted -l
で,すべてのパーティションを表示させてみると,
エラー: /dev/fd0: ディスクラベルが認識できません。
というように表示される。フロッピィディスクを挿入し,mount pointを作ろうとすると,どういうわけかファイルが存在すると蹴られる。ではというわけで,存在すると蹴られたmouny point名を使って,sudo mount /media/disk でマウントしてみたが,
mount: /etc/fstab や /etc/mtab 内に /media/disk を見つけられません
というエラーが戻ってきた。
しかし,/etc/fstab や /etc/mtabにはなくても,さっきのメッセージから考えて,「何かフロッピィ関係で変化があってるはずだ」と思いながらゴソゴソやっていて,「フロッピー・ドライブ: フロッピーディスク」アイコンのコンテキストメニューに「マウント」があるのに気づいた。それっと,クリックしてみたらダメだったが,「メディアを検出」というのを先にやったらマウントできた。mountで確認してみると,
/dev/fd0 on /media/disk_ type vfat (rw,nosuid,nodev,uhelper=udisks)
となっている。アンマウントもデスクトップ上で,コンテキストメニューから出来た。
これを参考に,下記で端末からマウントしてみたら出来た。
sudo mount -o rw,nosuid,nodev,uhelper=udisks /dev/fd0 /media/disk
mountで確認してみると,下のようになっていて「同じだぁ」と思ったんだが,ちょっと違った。まず,デスクトップ上でアンマウントしようと思うと,さっきと違ってrootのパスワードを要求される。
/dev/fd0 on /media/disk type vfat (rw,nosuid,nodev,uhelper=udisks)
よく見ると,上は disk_ になっている。もう一回これでやってみた。
sudo mount -o defaults,nosuid,nodev,uhelper=udisks /dev/fd0 /media/disk_
なんとというか当然というか,
mount: マウントポイント /media/disk_ が存在しません
と蹴られた。
端末からのマウントに成功した,さっきの
sudo mount -o rw,nosuid,nodev,uhelper=udisks /dev/fd0 /media/disk
の方なんだが,
sudo mount -o rw,nosuid,nodev /dev/fd0 /media/disk
というように,uhelper=udisksがない形でやっても,動きは同じ見たいなんだよな。で,ググって見ました。
uhelper=udisksというのはなかったんだけど,uhelper=halという題名で,uhelperのことを書いているページが見つかった。uhelper は unprivileged umount request helper ということで,特権なしでアンマウントするときのヘルパーとらしい。というわけで,これがちゃんと動いているときはrootのパスワードなしでアンマウントできたわけだ。
しかし,manに記載がないのはどうしてだろうかと,uhelperでググってみたら,UMOUNT(8)があった。man mount には書いていないが,man umount に書いてあるじゃないのと,UMOUNTを見たら記載がない。英日のLinux Programmer’s Manual の バージョンも日付(26-July-1997)も同じようなのに何でだろう。単なる訳落ちですか。
ちなみに,CentOS6の英語manと日本語manを調べてみたが,これの場合も日本語manにおいて,下記の訳がそっくりなかった。日本語訳はすべて訳が終わっているわけでは無いので,ページごとそっくりないほうが納得いくんだが……部分だけって何でだろう。
——————————————————————————————————————
NOTES
The syntax of external umount helpers is:
/sbin/umount.<suffix> [-nlfvr] dir | device
where the <suffix> is filesystem type or a value from “uhelper=” mtab
option.
The uhelper (unprivileged umount request helper) is possible used when
non-root user wants to umount a mountpoint which is not defined in the
/etc/fstab file (e.g devices mounted by HAL).
——————————————————————————————————————
ところで,上記の場合,どっちのマウントでもroot権限になってしまい使いにくいので,実際には,下記でマウントする形にした。メディアを検出をやっていない場合は,-t オプションも必要なようだ(多分)。
sudo mount -t vfat -o rw,uid=xxx,gid=xxx /dev/fd0 /media/disk
This website uses cookies.