为什么我不能设置SSHFS共享?"OSXFUSE文件系统不可用"错误

Saq*_*Ali 24 macos centos sshfs

我正在尝试从本地计算机设置SSHFS共享到远程计算机,但它无法正常工作.我收到错误OSXFUSE文件系统不可用(见下文).怎么解决这个?

仅供参考,我的本地机器是运行OSX 10.9.3的MacBook Pro笔记本电脑.远程机器实际上是运行CentOS的同一硬件上的VirtualBox.

% brew install sshfs                                # <---- SSHFS is installed
Warning: sshfs-2.5.0 already installed

% brew install osxfuse                              # <---- OSX Fuse is installed
Warning: osxfuse-2.6.4 already installed

% ssh remote_user@XXX.XXX.XXX.XXX                   # <---- See, SSH works!!
Last login: Wed Jun 18 18:36:11 2014 from XXX.XXX.XXX.XXX
[remote_user@XXX.XXX.XXX.XXX ~]% exit

% sudo mkdir /mnt
% sudo mkdir /mnt/Share    
% sudo sshfs -o IdentityFile=~/.ssh/id_rsa.pub remote_user@XXX.XXX.XXX.XXX:/ /mnt/Share
the OSXFUSE file system is not available (-1)
the OSXFUSE file system is not available (1)
Run Code Online (Sandbox Code Playgroud)

我试图描述的解决方案在这里.但它对我不起作用:

% sudo kextunload -b com.github.osxfuse.filesystems.osxfusefs
(kernel) Kext com.github.osxfuse.filesystems.osxfusefs not found for unload request.
Failed to unload com.github.osxfuse.filesystems.osxfusefs - (libkern/kext) not found.
Run Code Online (Sandbox Code Playgroud)

小智 11

如果你运行brew info osxfuse并遵循信中的说明,我相信它会起作用.

根据您的描述,您刚刚尝试卸载(可能的)以前的内核扩展,但没有完成实际安装新扩展的最后一个重要步骤.

这是brew信息osxfuse告诉我的:

If upgrading from a previous version of osxfuse, the previous kernel extension
will need to be unloaded before installing the new version. First, check that
no FUSE-based file systems are running:

  mount -t osxfusefs

Unmount all FUSE file systems and then unload the kernel extension:

  sudo kextunload -b com.github.osxfuse.filesystems.osxfusefs

The new osxfuse file system bundle needs to be installed by the root user:

  sudo /bin/cp -RfX /usr/local/opt/osxfuse/Library/Filesystems/osxfusefs.fs /Library/Filesystems
  sudo chmod +s /Library/Filesystems/osxfusefs.fs/Support/load_osxfusefs
Run Code Online (Sandbox Code Playgroud)


Pav*_*vel 7

加载由常规osxfuseHomebrew软件包安装的KEXT似乎存在问题.您可以使用brew cask从他们自己的DMG安装官方FUSE for OS X build:

brew rm osxfuse
brew install caskroom/cask/brew-cask
brew cask install osxfuse
Run Code Online (Sandbox Code Playgroud)

SSHFS本身也可以作为Cask包使用,虽然在我的系统中混合osxfuse使用Cask和普通的sshfs二进制瓶工作正常.

这种方法的缺点是,brew upgrade或者brew outdated将来不再能够为OS X更新FUSE,因为brew cask现在不支持版本.

  • 这节省了我的一天.尽管如此,我必须运行`brew install caskroom/cask/brew-cask`来使其工作; [如此处记录](https://github.com/caskroom/homebrew-cask) (2认同)

Old*_*Pro 5

我观察到OSXFUSE有点棘手,虽然我不确切知道原因,并brew试图避免更改系统,因此使用它来管理内核扩展并不是一个好主意.我建议使用来自http://osxfuse.github.io/的 OSXFUSE和SSHFS的打包安装程序,而不是使用brew.