Linux

sshfs - 未找到設備

  • September 16, 2014

使用此命令更新伺服器後apt-get update && apt-get upgrade返回錯誤

命令

echo "the-password" | sshfs root@domain.com:/var/www /remote_mount -o password_stdin

Debian 3.2.60-1+deb7u3 x86_64 (wheezy)

錯誤

fuse: device not found, try 'modprobe fuse' first

modprobe 保險絲

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

更新

root@dyntest-amd-3700-2gb ~ # apt-get install --reinstall linux-image-generic linux-image
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package linux-image is a virtual package provided by:
 linux-image-3.2.0-4-rt-amd64 3.2.60-1+deb7u3
 linux-image-3.2.0-4-amd64 3.2.60-1+deb7u3
You should explicitly select one to install.

E: Unable to locate package linux-image-generic
E: Package 'linux-image' has no installation candidate

這個文章解決了問題。。

只需要更新核心

http://forums.debian.net/viewtopic.php?t=113906

我很確定您也升級了核心,對嗎?檢查apt-get日誌。如是:

reboot

就那麼簡單。你升級了你的核心,現在你正試圖載入一個對你的核心來說太新的核心模組。

不是您問的,而是:請注意,echo <password> | ..通常會將您的密碼保存到~/.bash_history. 這尤其危險,因為您似乎root在可公開訪問的伺服器上使用登錄。

引用自:https://unix.stackexchange.com/questions/154095