web-dev-qa-db-ja.com

WSLで `sshfs`を動作させるか、代替を見つける

私の大学のCS部門には、開発に使用する独自のサーバーがあります(これ以降、dev.univ.edu)。このサーバーへのSSHおよびSFTPアクセスがあり、WSLを使用してWindowsラップトップで重い作業をしたいと思っていました。私の計画では、sshfsを使用してSFTP経由でラップトップにサーバーのファイルシステムをマウントし、サーバーで限られたプログラムを使用する代わりに独自のツールを使用できるようにしました。ただし、sshfsを使用しようとすると、次のことが起こります。

user@Host:~$ sshfs -p 22 [email protected]: ~/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

掘り下げた後、 serVoiceページFuseサポートが終了しても、 FuseはWSLではサポートされていません のようです2年以上、1500人以上がそれを求めています。 sshfsFuseに依存しているため(リモートファイルが存在するファイルシステムを作成することを想定しています)、これによりsshfsが使用できなくなります。

プロジェクトを見つけました( billziss-gh/winfsp )有望に思えますが、sshfsと組み合わせて実装する方法はわかりません。これを機能させるために私より知識のある人がいますか?

編集: この問題 によると、winfspはWSLでは機能しません。しかし、同じ人によるプロジェクトに気づきました( billziss-gh/nfs-win )役に立つかもしれません。

12
Isaac Corbrey

だから私はあなたが好きかもしれない回避策を持っています。 SFTP Net Drive 2017 をインストールして、必要なファイルシステムにリモートで接続しました。 (GUI経由で)R:\としてマッピングしました。 WSLから、次に説明するようにR:\をローカルフォルダーにマップできます here

WSLでは、ホームディレクトリにclusterというフォルダーがあります。クラスターからローカルホームになるようにマウントするには、次のコマンドを実行します。

Sudo mount -t drvfs R: ~/cluster

マウントを解除するには、実行します

umount ~/cluster

便宜上、mcというエイリアスを作成し、.bashrcから取得しました

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

これが役に立てば幸いです!

9
chris