您的位置:首页 > 其它

(一)Seafile FUSE 虚拟文件系统开发---前言

2014-07-12 18:10 316 查看

Seafile FUSE 虚拟文件系统开发---前言

非常荣幸的被选入了CSDN开源夏令营。完事开头难,由于这时间再准备托福考试,博客与项目一拖再拖。现在终于有空了,MOVE ON。由于是第一篇的东西,我不会做详细的分析。项目一开始,需要对整个项目有个全面的了解,包括开发环境的搭建,前期知识的储备(比如文件系统基础知识,FUSE文件系统等),阅读代码(纵向的了解单个模块,横向了解各个模块之间的联系),然后再是编码。接触开源项目,私以为最重要的就是 Linus Torvalds说的 “RTFSC”(Read The F**king
Source Code) ,虽然不够文雅,但直接说出了本质,点32个赞。所以前期的任务就是读代码,当理解的差不多了,再将自己的理解化为实际的代码。

下面是项目简介和要求:

Seafile 是国人开发、国际认可的开源企业文件云存储解决方案, 在 Github 上有 2000+ 用户关注。Seafile 提供 Windows/Mac/Linux 桌面客户端, 以及 Anroid/iOS 客户端。每天有数以万计的用户使用 Seafile 来同步、管理他们的文件。

Seafile 的服务器端采用类似 Git 的数据模型,实现了一个具有版本管理功能的文件系统。目前 Seafile 提供多种接口来访问这个文件系统,包括 Web 界面、客户端文件同步、WebDAV 以及 FUSE 虚拟文件系统。

FUSE 是 Linux 上用户态程序对外提供 POSIX 文件系统访问的标准方式,目前的 Linux 发行版都支持这个技术。目前 Seafile 的 FUSE 接口已经实现了文件的只读访问 (https://github.com/haiwen/seafile/wiki/Seafile-Virtual-Filesystem-via-FUSE),还有几个功能需要完成:

列出文件的最后修改时间信息;
不列出加密的资料库;
文件写接口的实现。

为了实现这些功能,你需要先熟悉 Seafile 的代码 (https://github.com/haiwen/seafile) 和数据模型 (https://github.com/haiwen/seafile/wiki/Seafile-data-model)。

项目地址:

csdn code:https://code.csdn.net/nyj1991/seafile_fuse

github:https://github.com/janBest/seafile

(两个一起更新,但github可能会快点,因为源项目在github上,方便完成功能后发 pull request)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: