Ugg*_*gla 15 filesystem mount cifs charset
当我尝试使用选项 iocharset=utf8 挂载 cifs 共享时,我收到错误:挂载错误 79 = 无法访问所需的共享库。我缺少什么共享库?
Rar*_*tas 24
可能,您的内核不包含该nls_utf8.ko模块。
如果是您的情况,您将在dmesg输出中看到类似的条目:
[ 612.598233] CIFS VFS: CIFS mount error: iocharset utf8 not found
[ 612.598547] CIFS VFS: cifs_mount failed w/return code = -79
Run Code Online (Sandbox Code Playgroud)
要确认,您可以尝试找到该nls_utf8.ko模块:
ls /lib/modules/$(uname -r)/kernel/fs/nls/nls_utf8.ko
Run Code Online (Sandbox Code Playgroud)
要修复,请安装包含此模块的内核女巫,例如linux-generic或linux-image-extra-virtual。
就我而言(Ubuntu 14.04),解决方案是:
apt install linux-generic
reboot
Run Code Online (Sandbox Code Playgroud)
在较新的 Ubuntu 版本中,您可能需要其中一个linux-modules-extra内核包 (tks @pxlinux)。例如,如果您当前的内核是linux-generic:
apt install linux-modules-extra-$(uname -r)-generic
reboot
Run Code Online (Sandbox Code Playgroud)
更多信息可以在超级用户的这个答案和Launchpad 的这个错误报告中找到。
小智 7
当这样dmesg抱怨时:
CIFS VFS: CIFS mount error: iocharset utf8 not found
Run Code Online (Sandbox Code Playgroud)
让我稍微更新一下 Ubuntu 16.04 的信息
当未安装以下软件包时,仅存在 ISO_8859-1 的 NLS
ls /lib/modules/$(uname -r)/kernel/fs/nls/
Run Code Online (Sandbox Code Playgroud)
安装额外的内核模块后
sudo apt install linux-modules-extra-$(uname -r)
Run Code Online (Sandbox Code Playgroud)
UTF-8 也在那里。
谢谢楼上的提示!