inotify_init是否属于Linux内核?编译Samba遇错误,编译新内核是否可行?
问题解答
你的判断不完全准确——编译更新内核是解决办法之一,但不是唯一选项,还有两种更轻量的方案可以尝试:
禁用Samba的inotify支持:在编译Samba时,通过配置选项关闭inotify功能。执行
configure脚本时加上--without-inotify参数,这样Samba就不会编译依赖inotify的模块,自然不会出现这些未定义引用错误。不过代价是失去文件系统变动通知的功能,比如共享文件夹里文件变化时,客户端不会实时收到更新。安装inotify兼容库(如果存在):有些老系统有第三方的inotify用户态兼容库,通过模拟内核功能来提供inotify接口。你可以找找针对DNS-323的开源社区包(比如Optware或者Entware),看看有没有
libinotify之类的库,安装后再重新编译Samba,让编译系统链接这个兼容库。
如果上面两种方案都不适用,或者你需要完整的inotify功能,那编译更新内核就是必要的了。不过编译内核对DNS-323这类嵌入式设备来说步骤比较繁琐,需要准备交叉编译环境,还要适配设备的硬件驱动,建议先尝试前两种方案。
内容的提问来源于stack exchange,提问作者Master DJon
相关产品推荐
相关产品推荐

