分享
 
 
 

GmailFS - Gmail Filesystem Install and Config

王朝system·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

原文链接:

http://www.eygle.com/unix/GmailFS-Gmail.Filesystem.Config.htm

Google推出了1G的Gmail,随后很多邮件提供商都开始提供1G的Gmail,Google再一次领导了潮流.有了1G的Mail以后,怎么使用这么大的存储空间也成了一个问题:)

于是有人写出了GmailFS,Gmail Filesystem---Gmail文件系统.

你可以在以下链接找到相关内容:

http://richard.jones.name/google-hacks/gmail-filesystem/gmail-filesystem.html

我引用一下richard的说明:

GmailFS provides a mountable Linux filesystem which uses your Gmail account as its storage medium.

GmailFS提供可装载的Linux文件系统,使用Gmail帐号你可以使用Gmail作为存储介质使用.

GmailFS is a Python application and uses the FUSE userland filesystem infrastructure to help provide the filesystem, and libgmail to communicate with Gmail.

GmailFS是使用Python技术开发的应用,使用FUSE作为文件系统的基础架构,使用libgmail和Gmail通讯.

GmailFS supports most file operations such as read, write, open, close, stat, symlink, link, unlink, truncate and rename. This means that you can use all your favourite unix command line tools to operate on files stored on Gmail (e.g. cp, ls, mv, rm, ln, grep etc. etc.).

Please be gentle on the code. This is my first foray into Python and I'm sure the code is far from elegant. I'm particularly concerned with my attempts to manipulate mutable byte arrays. I'm sure that there must be a less clumsy way of doing it than the nasty list -> array -> string path I'm currently using. Python has a reputation as an excellent language choice for rapid prototyping.

The first working version of GmailFS took about 2 days of coding. There was an additional 1.5 days spent on performance tuning and bugfixing.

第一个可以使用的GmailFS版本大约花了2天时间编码,然后用了1.5天进行性能调整和Bug修正.

Given that this includes language learning curve, the reputation seems well deserved. A special mention should go to libgmail and FUSE, both greatly contributed to the short development time.

然后关注了一下Python:

Guido van Rossum于1990年开始开发Python,最初的目的无非是一个自娱的项目。作为Monty Python的飞行马戏团节目的爱好者,他给自己开发的这种编程语言起了现在这个古怪的名字,中文意思就是大蟒。Python最初设计为一种取代 Amoeba分布式操作系统ABC的脚本语言,但不久这种新型编程语言很快就发展成可以解决相当多问题的利器,现在更引入到了多种平台。

想一想,国外的开发者往往可以开发出功能强大的语言及工具.而我们国内就缺少这样的开发人员和这样的成绩.我们不缺少程序员和聪明人,我们缺少的是富于开创的天才.

言归正传,我们一起来看一下GmailFS的安装及配置.

这里涉及的所有软件的当前版本都可以从本地下载.

1.安装Python 2.3版本

How To Install Python 2.3 On Linux

然后作一个符号链接:

[root@eygle bin]# ln -s /usr/bin/python2.3 /usr/bin/python

[root@eygle bin]# ls -l python

lrwxrwxrwx 1 root root 18 Sep 24 23:35 python -> /usr/bin/python2.3

2.安装FUSE version 1.3

在以下地址可以下载: FUSE's SourceForge download page

安装步骤如下:

# tar zxf fuse-1.3.tar.gz

# cd fuse-1.3

# ./configure

# make

# make install

安装日志参考: FUSE Install LOG

3.安装python FUSE module

安装步骤如下:

# tar zxf fuse-python.tar.gz

# cd fuse-python

# python setup.py build

# python setup.py install

安装日志参考如下:

[root@eygle soft]# cd fuse-python

[root@eygle fuse-python]# ls

build code.leo CVS _fusemodule.c fuse.py INSTALL Makefile README setup.py xmp.py

[root@eygle fuse-python]# python setup.py build

running build

running build_py

running build_ext

building '_fusemodule' extension

gcc -pthread -fno-strict-aliasing -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.3 -c _fusemodule.c -o

build/temp.linux-i686-2.3/_fusemodule.o

gcc -pthread -shared build/temp.linux-i686-2.3/_fusemodule.o -L../lib -lfuse -o build/lib.linux-i686-2.3/_fusemodule.so

[root@eygle fuse-python]# python setup.py install

running install

running build

running build_py

running build_ext

running install_lib

copying build/lib.linux-i686-2.3/fuse.py -> /usr/lib/python2.3/site-packages

copying build/lib.linux-i686-2.3/_fusemodule.so -> /usr/lib/python2.3/site-packages

byte-compiling /usr/lib/python2.3/site-packages/fuse.py to fuse.pyc

4.安装libgmail

这里下载,注意这里下载的文件格式为gz,但实际上是个tgz文件.

安装步骤为:

# tar zxf libgmail-0.0.8.gz

# cd libgmail-0.0.8

# cp libgmail.py constants.py /usr/lib/python2.3/site-packages

5.安装gmailfs

gmailfs可以在这里下载

安装步骤为:

# tar zxf gmailfs.tar.gz

# cd gmailfs

# cp gmailfs.py /usr/local/bin

# cp mount.gmailfs /sbin

# ln -s /sbin/mount.gmailfs /sbin/mount.fuse

6.开始使用gmailfs文件系统

你可以使用如下命令mount你的GmailFS:

mount -t gmailfs /usr/local/bin/gmailfs.py /mount_point -o username=gmailuser, password=gmailpass, sname=zOlRRa

在使用之前,你可以修改 /usr/local/bin/gmailfs.py 中的 DefaultUsername, DefaultPassword,以便可以简化gmailfs的使用.

[root@eygle /]# mkdir gmail

[root@eygle /]# mount -t gmailfs /usr/local/bin/gmailfs.py /gmail -o fsname=eygle

[root@eygle /]# mount: warning, should mount with username=gmailuser option, using default

mount: warning, should mount with password=gmailpass option, using default

[root@eygle /]# df -k

Filesystem 1K-blocks Used Available Use% Mounted on

/dev/sda1 5154852 3421812 1471184 70% /

/dev/sda7 101089 66140 29730 69% /home

/dev/sda5 4127076 3347860 569572 86% /opt

none 515296 0 515296 0% /dev/shm

/dev/sda2 4127108 2268464 1648996 58% /usr

/dev/sda6 2063504 138360 1820324 8% /var

gmailfs 1024000 17408 1006592 2% /gmail

接下来我们就可以使用GmailFS了:

[root@eygle /]# cd /home/gqgai/soft

[root@eygle soft]# ls -l

total 10929

-rw-r--r-- 1 root root 1480750 Sep 24 18:40 db4-4.1.25-14.i386.rpm

drwxrwxrwx 8 1001 1001 1024 Sep 24 23:48 fuse-1.3

-rw-r--r-- 1 gqgai gqgai 563200 Sep 24 17:35 fuse-1.3.tar

drwxr-xr-x 4 1002 1002 1024 Sep 24 19:06 fuse-python

-rw-r--r-- 1 gqgai gqgai 71680 Sep 24 17:35 fuse-python.tar

drwxr-xr-x 2 1002 1002 1024 Aug 30 08:24 gmailfs

-rw-r--r-- 1 gqgai gqgai 61440 Sep 24 17:35 gmailfs.tar

drwxr-xr-x 3 root root 1024 Sep 25 00:14 libgmail-0.0.8

-rw-r--r-- 1 gqgai gqgai 18803 Sep 24 19:37 libgmail-0.0.8.gz

-rw-r--r-- 1 root root 7565683 Jul 23 10:59 python2.3-2.3.4-3pydotorg.i386.rpm

-rw-r--r-- 1 root root 678130 Jul 23 11:00 python2.3-devel-2.3.4-3pydotorg.i386.rpm

-rw-r--r-- 1 root root 690451 Jul 23 11:00 python2.3-tools-2.3.4-3pydotorg.i386.rpm

[root@eygle soft]# cp libgmail-0.0.8.gz /gmail

[root@eygle soft]# cd /gmail

[root@eygle gmail]# ls -l

total 19

-rw-r--r-- 0 root root 18803 Sep 25 00:32 libgmail-0.0.8.gz

[root@eygle gmail]#

7.其他

在网上这个问题引起了广泛的讨论,参考这里.

有人认为既然有人可以用2天时间就开发出这样的程序,那么自然可以很轻易的把更多的Gmail连接起来作为网络存储.如果Google认为有必要来解决这个问题

那么所有的连接都可能被马上中断.那么这种技术就不具有稳定及可靠性.

也有人认为,这对于Google未尝不是一件好事,他们可以有更多的数据用以分析.

有人从实际观点出发,认为由于网络的问题,不具有实际价值.

这些都不是我关心的,我想说的是,这才是我们应该学习的专业精神.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有