2010-08-13 129 views
2

我有一个Web服务,它允许用户上传并跟踪他们在服务器上的文件。 我想要做的是创建某种应用程序,在本地机器上重新创建我的“在线文件系统”。有点像在我的桌面上有一个文件夹,它显示了我在Web服务器上的文件,我可以在其中移动它们,打开,保存等。如果您了解Dropbox,您可以了解我想要完成的任务。Linux中的“虚拟文件夹”

我的问题是,我不知道从哪里开始开发这个。我想我可以去做一些Nautilus扩展,但是我会依赖那个文件管理器,所以我认为它应该直接在OS的文件系统中实现。

我已经想出了如何在Windows(http://msdn.microsoft.com/en-us/magazine/cc188741.aspx)上做到这一点,它看起来非常简单。

所以我想知道的是,如果有人在Linux上这样做的经验,最好的办法是做到这一点。

谢谢。

+0

你基本上只需要Web服务器上的文件的镜像?如果是这样,那么'rsync' - 或者,如果它需要更有趣,'unison'? – igor 2010-08-13 13:33:34

回答

3

您可以使用使用保险丝来制作虚拟文件系统:wikipedia,sourceforge。这里有一个tutorial和另一个python

它模拟驱动器,所以它会在shell或鹦鹉螺或其他任何工作。

还有一个Mac端口,所以它也可以在那里工作。

+0

谢谢,马特,现在我也明白了这个问题。 ;-) – igor 2010-08-13 13:35:17

+0

想一想,我用'curlftpfs'一次通过FTP挂载web服务器的目录。如果你有SSH访问权限,'sshfs'可能是更好的选择。 – igor 2010-08-13 13:37:50

+0

curlftpfs使用保险丝,但如果它更容易,为什么不;) – 2010-08-13 13:39:09

1

如果你想自己来开发这一点,使用保险丝

http://fuse.sourceforge.net/

但是,如果我是你,我会首先尝试在搜索与保险丝已经存在的解决方案,根据不同的功能,您服务器。

HIH

1

正如其他人已经指出的,你应该能够使用的保险丝。

您没有指定Web服务的工作方式,但是如果它是基于WebDAV的(这对此类应用程序有意义),那么您可以使用现有的Fuse模块用于WebDAV,例如davfs2

0

在你继续创建你自己的另一个网络文件系统之前,我建议你看看已经存在的东西。

首先想到的是ssh/scp/sftp。在现代UNIX(BSD,Solaris,Linux,MacOSX等)上,ssh守护进程默认预先安装。您只需编写脚本即可从您的Web应用程序管理用户帐户。

如果它必须是一个基于Web的东西,然后看看WebDAV。您可以使用大多数Web服务器运行WebDAV。 Linux上已经有了一个WebDAV文件系统,看起来它甚至内置于Windows XP及更高版本:winnt webdav network drive

Box.net是使用WebDAV的一种这样的服务。