« 効果的なデフラグを考えてみた | トップページ | USB6ポートが充電できるサンワサプライのSmart High-Speed USB Chargerを買ってみました »

2015-03-17

LinuxのCD-ROMドライブをWindowsに共有する

Dc92fff028c186a954311a06ec55859d_s

WindowsのDVDドライブが壊れたのですが、滅多に使わないので、取り敢えず間に合わせにLinux機のCD-ROMドライブをsambaで共有しました。ただ、壊れたWindowsはパートさんが使っているので、僕がいない時にもCDを使う可能性があります。

そこで、sambaのオプションのpreexecとpostexecを使って、mount / umountを実行するようにしました。それまでは、それほど使うこともなかったので、/etc/fstabの設定すらしていませんでした。というか、autofsが/misc/cdに自動マウントしてくれていたので、そっちを使っていたのですが、アンマウントがタイムアウトを待たなければならないようで、どうもWindowsを使っているパートさんにはわかりづらいと思ったので、autofsは止めました。というか、確認したらCDだけの為にサーバーを動かしていたようなので、アンインストールしました。

で、/etc/fstabの設定ですが、あんまり深いことを考えずにusersでマウントできるようにしました。自分が使う時に、rootになるのも面倒なので。ついでに、USBフラッシュメモリもfstabに登録しておきました。

/etc/fstabの一部

/dev/cdrom        /mnt/cdrom        iso9660        noauto,users,kudzu,ro    0 0
/dev/sda1          /mnt/usbmem     vfat             noauto,users  0 0 

ユーザーでマウントできるか試してみた。

$ mount /mnt/cdrom
$ mount /mnt/usbmem

マウントは問題なし。次はsambaの設定。僕の環境では/etc/samba/smb.confを編集します。

[cd-rom]
        path = /mnt/cdrom
        locking = No
        read only = Yes
        guest ok = Yes
        preexec = /bin/mount /mnt/cdrom
        postexec = /bin/umount /mnt/cdrom

以上を追加しておいた。これで、preexecでmountしてpostexecでアンマウントしてくれる筈。

最初は手動でマウントしていた時の癖でmountにファイルシステムとかデバイスまでフルに 書いちゃってたんでfstabを参照しなかったのだと思うのだけど、preexecじゃなくてroot preexecにしないと マウントしてくれなくて、ちょっとハマりました。つまり丁寧に書き過ぎちゃうと、せっかく指定したfstabが 役に立たなくなっちゃう訳ですね。

# /etc/rc.d/init.d/smb restart

sambaを再起動してみて、パートさんのWindowsのネットワークから共有フォルダにアクセスしてみると、ちゃんとCDの中身が見られました。で、エクスプローラを閉じてイジェクトボタンを押してみると?出てこない…。仕方ないので、Linuxにログインしてumountしてみると「デバイスを使用中です」って言われる。参った。

Windowsをログオフしてからイジェクトボタンを押したら、無事にCDを取り出すことができました。 これはたまたまだったみたいで、USBメモリが外せなくなる時と同じ感じですね。 再起動してから、何度か試してみましたが、その後は問題なくアンマウントできているようです。



|

« 効果的なデフラグを考えてみた | トップページ | USB6ポートが充電できるサンワサプライのSmart High-Speed USB Chargerを買ってみました »

Linux」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: LinuxのCD-ROMドライブをWindowsに共有する:

« 効果的なデフラグを考えてみた | トップページ | USB6ポートが充電できるサンワサプライのSmart High-Speed USB Chargerを買ってみました »