J'essaie de configurer un partage SSHFS de ma machine locale vers une machine distante, mais cela ne fonctionne pas. Je reçois l'erreur Le système de fichiers OSXFUSE n'est pas disponible (voir ci-dessous). Comment régler ceci??
Pour info, ma machine locale est un ordinateur portable MacBook Pro fonctionnant sous OSX 10.9.3. La machine distante est en fait une VirtualBox sur le même matériel exécutant 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 [email protected] # <---- See, SSH works!!
Last login: Wed Jun 18 18:36:11 2014 from XXX.XXX.XXX.XXX
[[email protected] ~]% exit
% Sudo mkdir /mnt
% Sudo mkdir /mnt/Share
% Sudo sshfs -o IdentityFile=~/.ssh/id_rsa.pub [email protected]:/ /mnt/Share
the OSXFUSE file system is not available (-1)
the OSXFUSE file system is not available (1)
J'ai essayé la solution décrite ici . Mais ça n'a pas marché pour moi:
% 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.
Si vous exécutez brew info osxfuse
et suivez les instructions à la lettre, je crois que cela fonctionnerait.
D'après ce que vous avez décrit, vous venez d'essayer de décharger l'extension (possible) précédente du noyau, mais vous n'avez pas terminé la dernière étape importante pour installer réellement la nouvelle extension.
Voici ce que me dit osxfuse sur les infusions:
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
Il semble qu'il y ait un problème lors du chargement du KEXT installé par le package normal osxfuse
Homebrew. Vous pouvez utiliser brew cask
pour installer la version officielle de Fuse for OS X à partir de leur propre DMG:
brew rm osxfuse
brew install caskroom/cask/brew-cask
brew cask install osxfuse
SSHFS lui-même est également disponible en tant que package Cask, bien que sur mon système, le mélange de osxfuse
de Cask avec une bouteille binaire sshfs
ordinaire fonctionne très bien.
L'inconvénient de cette approche est que brew upgrade
ou brew outdated
ne pourra plus mettre à jour Fuse pour OS X en tant que brew cask
n'est pas compatible avec la version pour l'instant.
J'ai observé qu'OSXFUSE est un peu délicat, bien que je ne sache pas exactement pourquoi, et brew
essaie d'éviter de changer le système, donc l'utiliser pour gérer les extensions du noyau n'est pas une bonne idée. Je suggère d'utiliser les programmes d'installation groupés pour OSXFUSE et SSHFS de http://osxfuse.github.io/ au lieu d'utiliser brew
.
Ouvrez les Préférences Système, choisissez Fuse, puis mettez à jour vers la dernière version. C'est ce qui a fonctionné pour moi.
Le problème lors de l'installation de SSHFS avec brew
est que osxfusefs
n'est pas signé: la console génère com.Apple.kextd: ERROR: invalid signature for com.github.osxfuse.filesystems.osxfusefs, will not load
. Voir aussi https://github.com/osxfuse/osxfuse/issues/122 .
Le binaire pour OSXFUSE de http://osxfuse.github.io/ (comme suggéré par la réponse de Old Pro) n'a pas ce problème, et donc l'installation de celui-ci à la place l'a résolu pour moi.