如何使用保险丝在远程计算机中安装目录?

时间:2011-11-24 00:59:40

标签: linux unix linux-kernel fuse

我想知道如何使用FUSE从远程机器安装目录。 this link中给出的教程将本地目录安装到另一个本地目录上。 这基本上发生在 fuse_main 函数中。有没有人知道如何为远程机器上的目录做同样的事情?

函数调用如下

fuse_main(argc, argv, &bb_oper, bb_data);

注意:我不能使用sshfs

感谢。

3 个答案:

答案 0 :(得分:2)

太糟糕了,你不能使用sshfs 1 - 它是我的首选武器( iff我需要挂载,否则rsync很好用)。

您可以尝试curlftpfs,它可以安装FTP'共享'。

请务必考虑撰写.netrc(具有适当的安全权限),以便方便地


<子> 1 为什么不呢?

答案 1 :(得分:1)

您需要拥有本地和远程计算机同意的某种网络传输:如果不是sshfs,那么smb或NFS或其他东西。

如果您告诉所有人为什么不能使用sshfs,这可能会有所帮助。

答案 2 :(得分:0)

与任何其他网络文件系统一样,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实现的代码,一般是重写的。如您所见,您需要至少实现openreadwriteclose以获得功能最低的FS。

这些成员是执行这些操作的功能。他们可以使用HTTP,SSH,FTP,自定义协议,无论您想要什么。但是,你必须编写它们,远程服务器上的某些东西需要响应它们。

要直接回答你的问题,除非你自己实现这个功能,否则FUSE(它自己)不会做你想要的事情。