5

使用此命令更新服务器后apt-get update && apt-get upgrade返回错误

操作系统

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)
4

2 回答 2

5

这个线程似乎有一个解决方案 - 基本上升级你的内核。

顺便提一句。根据 Luis Henriques 和 Al Viro 在LKML上的交流,其原因是内核中的 API 重命名以将 FUSE 标志与另一个更通用的标志合并。

于 2014-09-16T05:46:13.033 回答
1

首先你可以尝试从缓存中安装模块,

apt-cache 搜索保险丝

如果这不起作用---您可以使用模块助手安装保险丝模块,

apt-get 安装模块助手

apt-get 安装保险丝源

cd /usr/src

我准备

马爱保险丝

depmod -ae $(uname -r)

现在你可以,

modprobe 保险丝

于 2014-09-15T04:07:50.657 回答