用apt-get update&&更新服务器后apt-get upgrade此命令返回错误
OS
Debian 3.2.60-1+deb7u3 x86_64 (wheezy)
命令
echo "the-password" | sshfs root@domain.com:/var/www /remote_mount -o password_stdin
错误
fuse: device not found, try 'modprobe fuse' first
更新
root@dyntest-amd-3700-2gb ~ # modprobe fuse
modprobe: ERROR: could not insert 'fuse': Unknown symbol in module, or unknown parameter (see dmesg)
.
root@dyntest-amd-3700-2gb ~ # dmesg | grep fuse
[ 20.126156] fuse: Unknown symbol nosteal_pipe_buf_ops (err 0)
[1607702.343086] fuse: Unknown symbol nosteal_pipe_buf_ops (err 0)
[1607745.824310] fuse: Unknown symbol nosteal_pipe_buf_ops (err 0)
[1607908.188559] fuse: Unknown symbol nosteal_pipe_buf_ops (err 0)
[1608724.690945] fuse: Unknown symbol nosteal_pipe_buf_ops (err 0)
[1608741.684927] fuse: Unknown symbol nosteal_pipe_buf_ops (err 0)
[2565283.964259] fuse: Unknown symbol nosteal_pipe_buf_ops (err 0)
内核版本
root@dyntest-amd-3700-2gb ~ # cat /proc/version
Linux version 3.2.0-4-amd64 (debian-kernel@lists.debian.org) (gcc version 4.6.3 (Debian 4.6.3-14) ) #1 SMP Debian 3.2.54-2
root@dyntest-amd-3700-2gb ~ # locate -i -r /fuse
/bin/fuser
/bin/fusermount
/etc/fuse.conf
/lib/modules/3.2.0-4-amd64/kernel/fs/fuse
/lib/modules/3.2.0-4-amd64/kernel/fs/fuse/cuse.ko
/lib/modules/3.2.0-4-amd64/kernel/fs/fuse/fuse.ko
/lib/modules-load.d/fuse.conf
/usr/include/boost/fusion/functional/adapter/fused.hpp
/usr/include/boost/fusion/functional/adapter/fused_function_object.hpp
/usr/include/boost/fusion/functional/adapter/fused_procedure.hpp
/usr/include/boost/fusion/include/fused.hpp
/usr/include/boost/fusion/include/fused_function_object.hpp
/usr/include/boost/fusion/include/fused_procedure.hpp
/usr/include/linux/fuse.h
/usr/share/bash-completion/completions/fusermount
/usr/share/doc/fuse
/usr/share/doc/fuse/changelog.Debian.gz
/usr/share/doc/fuse/changelog.gz
/usr/share/doc/fuse/copyright
/usr/share/initramfs-tools/hooks/fuse
/usr/share/lintian/overrides/fuse
/usr/share/man/man1/fuser.1.gz
/usr/share/man/man1/fusermount.1.gz
/var/cache/apt/archives/fuse_2.9.0-2+deb7u1_amd64.deb
/var/cache/apt/archives/fuse_2.9.3-14_amd64.deb
/var/cache/apt/archives/fuse_2.9.3-15_amd64.deb
/var/cache/apt/archives/fuse_2.9.3-9_amd64.deb
/var/lib/dpkg/info/fuse.conffiles
/var/lib/dpkg/info/fuse.list
/var/lib/dpkg/info/fuse.md5sums
/var/lib/dpkg/info/fuse.postinst
/var/lib/dpkg/info/fuse.postrm
/var/lib/dpkg/info/fuse.preinst
更新#2
root@dyntest-amd-3700-2gb /var/www # modinfo fuse
filename: /lib/modules/3.2.0-4-amd64/kernel/fs/fuse/fuse.ko
alias: devname:fuse
alias: char-major-10-229
license: GPL
description: Filesystem in Userspace
author: Miklos Szeredi <miklos@szeredi.hu>
depends:
intree: Y
vermagic: 3.2.0-4-amd64 SMP mod_unload modversions
parm: max_user_bgreq:Global limit for the maximum number of backgrounded requests an unprivileged user can set (uint)
parm: max_user_congthresh:Global limit for the maximum congestion threshold an unprivileged user can set (uint)
解决方法:
This thread似乎有一个解决方案 – 基本上升级你的内核.
顺便说一句.根据Luis Henriques和Al Viro在LKML之间进行的交流,原因是内核中的API重命名将FUSE标志与另一个更通用的标志合并.