首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我不能设置一个SSHFS共享?"OSXFUSE文件系统不可用“错误

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

Server Fault用户
提问于 2014-06-19 14:36:00
回答 2查看 4K关注 0票数 3

我正在尝试将SSHFS共享从本地计算机设置到远程计算机,但它不起作用。我得到的错误OSXFUSE文件系统是不可用的(见下文)。怎么解决这个??

我的本地机器是一台运行OSX10.9.3的MacBook Pro笔记本电脑。远程计算机实际上是运行VirtualBox的同一硬件上的一个CentOS。

代码语言:javascript
复制
% 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)

我尝试了描述这里的解决方案。但这对我没用:

代码语言:javascript
复制
% 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.
EN

回答 2

Server Fault用户

发布于 2016-05-20 10:39:58

你可以用家用木桶安装:

brew install Caskroom/cask/osxfuse

因为:

代码语言:javascript
复制
osxfuse: A full installation of Xcode.app is required to compile this software.
Installing just the Command Line Tools is not sufficient.
Xcode can be installed from the App Store.
osxfuse: Building this formula from source isn't possible due to OS X
Yosemite and above's strict unsigned kext ban.
票数 1
EN

Server Fault用户

发布于 2014-06-25 07:29:25

我不是这方面的专家,但这种配置对我有效。

安装OSXFUSE

代码语言:javascript
复制
Download OSXFUSE 2.6.0 @ http://osxfuse.github.io/2013/06/17/OSXFUSE-2.6.0.html
With the file downloaded, right click on the .dmg file, open and install it.

安装SSHFS

如果您还没有安装Brew,请转到http://brew.sh/并安装它。

安装了啤酒后,在终端运行:

代码语言:javascript
复制
brew install sshfs

如果您得到一个错误,如“同意Xcode/iOS许可证需要管理员权限,请通过sudo以root用户身份重新运行。”您所要做的就是打开Xcode并接受协议,然后等待它安装最后的修补程序。

下一个必须修复的错误是,XCode仍然使用SDK作为10.8,而不是10.9。如果您收到一个错误消息:“xcodebuild: error: SDK”macosx10.9“无法定位”,则需要编辑位于/usr/local/Library/ If / fuse4x-kext.rb的fuse4x-kext.rb:

代码语言:javascript
复制
Replace on line 21:

“macosx#{MacOS.version}” with “macosx10.8“,

while keeping line 24 (MACOSX_DEPLOYMENT_TARGET) the same.

安装后,Brew将显示一条消息:“为了使基于FUSE的文件系统工作,根用户必须安装fuse4x内核扩展:”,所以只需执行这两行代码:

代码语言:javascript
复制
  sudo /bin/cp -rfX /usr/local/Cellar/fuse4x-kext/0.9.2/Library/Extensions/fuse4x.kext /Library/Extensions

sudo chmod +s /Library/Extensions/fuse4x.kext/Support/load_fuse4x

在完成所有这些操作之后,您应该能够通过SSH挂载任何远程文件系统。

要创建要挂载文件系统的路径,请执行以下操作:

代码语言:javascript
复制
mkdir -pv ~/path/to/mount

最后安装系统:

代码语言:javascript
复制
sshfs -C -p PORT user@server:/ ~/path/to/mount

希望这对你也有用。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/606471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档