Заставить `sshfs` работать на WSL или найти альтернативу

1532
Isaac Corbrey

CS отдел моего университета имеет свой собственный сервер, используемый для разработки (с этого момента, dev.univ.edu). У меня есть SSH и SFTP доступ к этому серверу, и я надеялся выполнить тяжелую работу на моем ноутбуке с Windows, используя WSL. Я планировал использовать sshfsдля монтирования файловой системы сервера на моем ноутбуке через SFTP, чтобы я мог использовать свои собственные инструменты вместо того, чтобы использовать ограниченные программы на нашем сервере. Однако всякий раз, когда я пытаюсь использовать sshfs, происходит следующее:

user@host:~$ sshfs -p 22 user@dev.univ.edu: ~/dev/ -o follow_symlinks > fuse: device not found, try 'modprobe fuse' first 

Бег modprobe fuseдает мне следующий результат:

modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.4.0-43-Microsoft/modules.dep.bin' modprobe: FATAL: Module fuse not found in directory /lib/modules/4.4.0-43-Microsoft 

После некоторых копаний кажется, что fuseон не поддерживается в WSL, даже после того, как страница UserVoice для fuseподдержки работала более 2 лет, и более 1500 человек просили об этом. Поскольку sshfsполагается fuse(я предполагаю, что для создания файловой системы, в которой находятся удаленные файлы), это делает sshfsнепригодным для использования.

Я нашел проект ( billziss-gh/winfsp), который кажется многообещающим, но я не знаю, как реализовать его в сочетании с sshfs. Есть ли кто-нибудь более знающий, чем я, который может помочь мне получить эту работу?

РЕДАКТИРОВАТЬ: Согласно этой проблеме, winfspне будет работать с WSL. Тем не менее, я заметил проект того же парня ( billziss-gh/nfs-win), который может быть полезен.

1

1 ответ на вопрос

0
chris

Так что у меня есть обходной путь, который вам может понравиться. Я установил SFTP Net Drive 2017, а затем удаленно подключился к нужной мне файловой системе. Я сопоставил его (через графический интерфейс) как R:\. Из WSL вы можете затем сопоставить R:\локальную папку, как описано здесь .

Так что в WSL у меня есть папка в моем домашнем каталоге cluster. Чтобы смонтировать его как мой локальный дом из моего кластера, я запускаю:

sudo mount -t drvfs R: ~/cluster 

и чтобы размонтировать его, я бегу

umount ~/cluster 

для удобства я сделал псевдоним из моего .bashrc

alias mc="sudo umount ~/cluster; sudo mount -t drvfs R: ~/cluster 

Надеюсь, это поможет!

Похожие вопросы