Linux下samba服务器登陆及列出目录慢的解决方法

尝试从其他设备(android手机,或者本机)挂载samba共享,登陆和列出目录非常慢,需要1-2分钟才能完成,正常情况下应该是秒级。

# uname -a
Linux home.suokunlong.local 4.14.7-300.fc27.x86_64 #1 SMP Mon Dec 18 16:06:12 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

# cat /etc/fedora-release 
Fedora release 27 (Twenty Seven)

在 /etc/samba/smb.conf 中,log区域加入 log level = 3.
重启smb和nmb服务。
进入/var/log/samba/,找到你刚才尝试挂载时生成的log(我的是log.192.168.1.107),发现有以下内容:

[2018/01/13 09:31:58.693540,  3] ../lib/util/util_net.c:256(interpret_string_addr_internal)
  interpret_string_addr_internal: getaddrinfo failed for name home.suokunlong.local (flags 34) [Name or service not known]

很明显,我的主机在安装时被命名为home.suokunlong.local,但是由于没有将其加入到/etc/hosts文件中(这个是Fedora的bug吗?我记得Ubuntu在安装后好像会自动将主机名加入hosts中),所以系统花费很长时间解析该名称,最终失败。

解决方法:
在 /etc/hosts 中加入:
127.0.0.1 home.suokunlong.local
保存,然后重启smb和nmb服务。
现在试一下,挂载samba共享一秒内列出目录或者登陆界面。

(记得将smb.conf中的log level改回原样)

这个情况可能同样适用于apache等其他服务。

发表评论

电子邮件地址不会被公开。 必填项已用*标注