2008-05-12
# hardyになってからNASへsmbmountできない
hardyにアップグレードして一番戸惑ったのは、NAS(LANDISK PRO)にsmbmountできなくなったことだ。smb://では接続できているので、smbmountの実装に関係してそう。 smbmountすると、以下のエラーが吐かれる。
$ smbmount //server/shares ~/smbfs/ -o ごにょごにょ mount error 20 = Not a directory Refer to the mount.cifs(8) manual page (e.g.man mount.cifs)
kernel 2.6.24からsmbmountが推奨されなくなって、mount.cifsを使いなさいってお触れが出ていたから、その辺りが探ってみる必要ありかも。/usr/bin/smbmonutは/sbin/mount.smbfsのシンボリックリンクになっていて、mount.smbfsの実体はシェルスクリプトで/sbin/mount.cifsを呼び出していた。これだけでは実体解明には至らない。
基本に戻って、syslogを眺めてみる。
$ tail /var/log/syslog May 12 23:25:50 fuga kernel: [33275.192284] CIFS VFS: Send error in SETFSUnixInfo = -5 May 12 22:35:08 fuga kernel: [30241.266612] CIFS VFS: Malformed FILE_UNIX_BASIC_INFO response. May 12 22:35:08 fuga kernel: [30241.266616] Unix Extensions can be disabled on mount by specifying the nosfu mount option.
dmesgにも似たようなメッセージが出力されている。それにしても、Unix ExtentionsやSETFSUnixInfoって何なのだろう。この手の分野はかなり不勉強だ。うーむ。それでも、このメッセージをキーにして検索したところ解決策が見つかった。とっても簡単。以下のコマンドを実行するだけだ。
# modprobe cifs # echo 0 > /proc/fs/cifs/LinuxExtensionsEnabled
ちゃん。cifsの新機能が使えなくなるらしいが、そもそもNASに接続できないなら無意味だ。云うまでもないが、再起動したら/proc/fs/cifs/LinuxExtensionsEnabledの値は初期化されるので注意。各自お好みの方法で対処してほしい。
調べてみたら、mount.cifsで接続できなくなった事例が幾つもあったけれど、NASの種類やファームウェアのバージョンにもよるみたい。Sambaサーバならパラメータをごにょごにょして解決できそうな気もする。
