Я пытаюсь установить долю SSHFS со своей локальной машины на удаленную машину, но она не работает. Я получаю ошибку, файловая система OSXFUSE не доступна (см. ниже). Как зафиксировать это??
К вашему сведению моя локальная машина является ноутбуком MacBook Pro, выполняющим OSX 10.9.3. Удаленной машиной является на самом деле VirtualBox на том же аппаратном выполнении CentOS.
% 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)
Я попробовал решение, описанное здесь. Но это не работало на меня:
% 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.
Я не эксперт в этом, но эта конфигурация работала на меня.
Установите OSXFUSE
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/ и установите его.
С установленным Brew, запустите в Terminal:
brew install sshfs
Если вы получили ошибку типа "Согласие на лицензию Xcode/iOS требует привилегий администратора, пожалуйста, запустите заново от имени root через sudo." всё, что вам нужно сделать, это открыть Xcode, принять соглашение и дождаться установки последних патчей.
Следующая ошибка, которая должна быть исправлена, это то, что XCode всё ещё использует SDK для 10.8 вместо 10.9. Если Вы получите ошибку с надписью "xcodebuild: error: SDK "macosx10.9″ не может быть найден.", Вам нужно будет отредактировать fuse4x-kext.rb, расположенный по адресу /usr/local/Library/Formula/fuse4x-kext. rb:
Replace on line 21:
“macosx#{MacOS.version}” with “macosx10.8“,
while keeping line 24 (MACOSX_DEPLOYMENT_TARGET) the same.
После установки Brew выдаст сообщение "Для работы файловых систем, основанных на FUSE, расширение ядра fuse4x должно быть установлено корневым пользователем:", поэтому просто выполните две строчки:
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.
Чтобы создать путь, по которому вы хотите смонтировать свою файловую систему:
mkdir -pv ~/path/to/mount
И наконец, смонтировать систему:
sshfs -C -p PORT user@server:/ ~/path/to/mount
Надеюсь, это тоже сработает.
.Вы можете установить с помощью Homebrew Cask:
brew install Caskroom / cask / osxfuse
Потому что:
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.