内藤です。

> 2023/08/10 11:58、ISHII <ev8...@gmail.com>のメール:
> 
> こんにちは、広島の石井と申します。
> 
> 先程の投稿で環境を書くのを忘れていました。
> FreeBSD 13.2-RELEASE-p2 GENERIC amd64
> です。
> 
> 最近気づいたのですが Linux NAS をマウントするのに man mount_smbfs の使用例のように root で、
> 
> # mount_smbfs -I 192.168.20.3 -E koi8-r:cp866 //guest@samba/tmp /smb/tmp
> 
> とすると、(もちろん -I 以降は私の環境に合わせています)
> mount_smbfs: can't set locale ''
> mount_smbfs: smb_lib_init: can't initialise local
> となり、マウントできません。

このエラーになっている時の locale は何が設定されていますか?
エラーが発生している状態で locale(1) を引数なしで実行すると表示されます。

おそらく下の sudo 時とは異なる locale だと思いますので、
どのようにして root ユーザになったのかに依存して変わると思います。

mount_smbfs は最初に LC_CTYPE を “” で初期化しますが、
そこでエラーになっているようです。

> # mount -t smbfs -I 192.168.20.3 -E koi8-r:cp866 //guest@samba/tmp /smb/tmp
> 
> に至っては
> usage: mount [-adflpruvw] [-F fstab] [-o options] [-t ufs | external_type]
>       mount [-dfpruvw] special | node
>       mount [-dfpruvw] [-o options] [-t ufs | external_type] special node
> と返ってきます。
> 
> 私の理解では、mount -t hoge は mount_hoge へのリンクだと思っていました。
> どなたか事情をご存知でしょうか。

smbfs だけが特殊で、FreeBSD プロジェクトの外部で開発されたものを
同梱しているからだと思います。mount -t の認識するファイルシステムタイプに
含まれていません。

> また、ユーザーで、
> sudo mount_smbfs -I 192.168.20.3 -E koi8-r:cp866 //guest@samba/tmp /smb/tmp
> とすれば何事もなくマウントできます。

おそらく、前述のエラーになっている時と locale が異なるからだと思います。
一般ユーザの locale が引き継がれていて、そちらは正常なのでしょう。

-- 
内藤 祐一郎
naito.yuich...@gmail.com



Reply via email to