我想知道如何使用FUSE从远程机器安装目录。 this link中给出的教程将一个本地目录挂载到另一个本地目录上。
这实际上发生在 fuse_main 函数中。有谁知道如何对远程计算机上的目录执行相同的操作?
函数调用如下fuse_main(argc, argv, &bb_oper, bb_data);
注意:我不能使用sshfs
谢谢。
最佳答案
就像任何其他网络文件系统一样,FUSE将需要一个基础传输层。除非远程计算机上的某些设备能够为您处理实际的I/O,否则它对您没有帮助。
在 fuse 参数中,为希望文件系统能够处理的事情设置处理程序,例如:
static struct fuse_operations const myfs_ops = {
.getattr = my_getattr,
.mknod = my_mknod,
.mkdir = my_mkdir,
.unlink = my_rm,
.rmdir = my_rmdir,
.truncate = my_truncate,
.open = my_open,
.read = my_read,
.write = my_write,
.readdir = my_readdir,
.create = my_create,
.destroy = my_destroy,
.utime = my_utime,
.symlink = my_symlink
};
那是我目前的FUSE实现之一的代码,通常经过重写。如您所见,对于功能最少的FS,您至少需要实现
open
,read
,write
和close
。这些成员是执行这些操作的功能。他们可以根据需要使用HTTP,SSH,FTP,自定义协议(protocol)。但是,您必须编写它们,并且远程服务器上的某些内容需要响应它们。
要直接回答您的问题,除非您自己实现该功能,否则FUSE(靠它自己)将不会做您想要的事情。
关于linux - 如何使用 fuse 在远程计算机中挂载目录?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8251088/