Mount a windows share folder #3

CIFS で Windows の共有ディレクトリをマウントすると Linux 側が不安定になる件。結局 nfs サーバは試していない。いや一応 WinNFSd だけ試してみたのだが、ファイル名のエンコーディングを指定できずに化けてしまうのにがっくりしてそこから追ってない。

Linux 側の現象を見てみるに、どうも一旦スリープして、復帰するとマウントの状態がおかしくなっている気がする。一旦おかしくなると Thunar は固まるし、端末からマウントしたディレクトリを覗いただけで固まって困る。

ということはスリープ時に一旦アンマウントして、復帰したらマウントしなおせばいいのか?

と思ってググってみたらそのものズバリのケースがあった。これもまた割と既知の現象だった。/etc/pm/sleep.d/ に以下のようなシェルスクリプトを置いておく:

#!/bin/sh
# Unmount CIFS share on hibernate/suspend and remount it on resume

case "$1" in
hibernate|suspend)
umount /media/windows/music
umount /media/windows/pictures
;;
thaw|resume)
mount /media/windows/music
mount /media/windows/pictures
;;
*) exit $NA
;;
esac

なるほどねえ。

ちなみにおかしくなったマウントの状態は [cci]umount -l /media/windows/music[/cci] などと -l オプションをつければ一応解消できるのだが。このオプションは、つまりアンマウントのための様々なクリーンアップは後回しにして、とりあえずファイルシステムの階層からの切り離しを優先するとのことだ。後回しにしただけなので、もしかしたらマウントがおかしくなった状態を完全に解消する方法とは言えないのかもしれない。

Leave a Reply

Your email address will not be published. Required fields are marked *