Zhlw.com - 中华龙网

站长资讯通告:
搜索: 您的位置中华龙网 > 计算机网络 > 操作系统 > Linux > 文章列表

GmailFS网络硬盘在linux下的安装使用

作者:bear  来源:转载  发布时间:2006-3-30 20:54:27
按此在新窗口浏览图片
Richard Jones用Python写了一个程序——GmailFS,它能通过普通的文件操作功能,如读,写,打开,关闭,连接,改名等来存储文件。这意味着大家可以使用所有unix命令行工具(如cp, ls, mv, rm, ln, grep)来存储文件到Gmail中。
GmailFS提供可装载的Linux文件系统,使用Gmail帐号你可以使用Gmail作为存储介质使用.
GmailFS是使用Python技术开发的应用,使用FUSE作为文件系统的基础架构,使用libgmail和Gmail通讯.

1.FUSE userland filesystem infrastructure 一个写文件系统的架构,所以Richard Jones 用python就能完成写文件系统的工作
2.libgmail 可以于Gmail系统通讯.

安装:
首先,你得有一个gmail账号,你必须有Python 2.3以上的环境,安装FUSE 2.x。

安装python:1.下载相应的rpm包

wget http://www.python.org/ftp/python/2.3.4/rpms/fedora-1/python2.3-2.3.4-3pydotorg.i386.rpm
wget http://www.python.org/ftp/python/2.3.4/rpms/fedora-1/python2.3-devel-2.3.4-3pydotorg.i386.rpm
wget http://www.python.org/ftp/python/2.3.4/rpms/fedora-1/python2.3-tools-2.3.4-3pydotorg.i386.rpm
wget --passive ftp://rpmfind.rediris.es/sites2/fedora.us/fedora/fedora/1/i386/RPMS.os/db4-4.1.25-14.i386.rpm
[root@eygle soft]# rpm -ivh db4-4.1.25-14.i386.rpm 
warning: db4-4.1.25-14.i386.rpm: V3 DSA signature: NOKEY, key ID 4f2a6fd2
warning: python2.3-2.3.4-3pydotorg.i386.rpm: V3 DSA signature: NOKEY, key ID 95ccbcff
Preparing...                ########################################### [100%]
        file /lib/libdb-4.1.so from install of db4-4.1.25-14 conflicts with file from package db4-4.1.25-8
        file /usr/lib/libdb_cxx-4.1.so from install of db4-4.1.25-14 conflicts with file from package db4-4.1.25-8

[root@eygle soft]# rpm -ivh python*.rpm
warning: python2.3-2.3.4-3pydotorg.i386.rpm: V3 DSA signature: NOKEY, key ID 95ccbcff
Preparing...                ########################################### [100%]
   1:python2.3              ########################################### [ 33%]
   2:python2.3-devel        ########################################### [ 67%]
   3:python2.3-tools        ########################################### [100%] 
 


然后作一个符号链接:

[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

 


使用 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 -kFilesystem           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% /optnone                    515296         0    515296   0% /dev/shm/dev/sda2              4127108   2268464   1648996  58% /usr/dev/sda6              2063504    138360   1820324   8% /vargmailfs                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]# 

你可以通过fstab或在命令提示行进行挂接 Gmail 文件系统
为使用 fstab, 须创建一个 /etc/fstab 条目,如下:

/usr/local/bin/gmailfs.py /path/of/mount/point gmailfs noauto,username=gmailuser, password=gmailpass, fsname=zOlRRa 
注意: 如果你剪切粘贴该条目,记得去掉逗号后的空格。 

用户名和密码表明自身。 fsname是google的文件系统。在这里选择一个难被猜测的名字很重要-因为如果其他人能猜出 fsname, 他们就能通过在你的收件箱中注入伪造欺骗信息的方式来冒用你的Gmail 文件系统。 

在命令行进行挂接: 

mount -t gmailfs /usr/local/bin/gmailfs.py /path/of/mount/point -o username=gmailuser, password=gmailpass, fsname=zOlRRa 
注意:如果你剪切粘贴该条目,记得去掉逗号后的空格。


警告: 这两种方式都有严重的安全性问题。如果你用的是多用户系统, 其他人可以很容易的看到你的用户名和密码。如果你有此问题,那么你需要适当修改 gmailfs.py , 更改默认用户名,默认密码和默认Fsname。GmailFS 的未来版本将会采取从用户根目录下的配置文件中获取这些数值的办法。

GmailFS 也有块大小选项. 默认块大小为 5MB。小于最小块大小的文件将仅仅占用需要的空间, 而不是整个块空间。注意,上一次挂接时创建的不同块大小的文件将保持他们的原始块大小不变,直到被删除。
当你删除文件时, GmailFS 将把文件移动到垃圾箱。libgmail 暂时不支持清空垃圾箱内的项目。 所以你需要登录gmail后手工进行该工作。
为避免看到你的Gmail文件系统已创建的信息,你可能想创建一个过滤,以便当GmailFS信息进入到收件箱时能被自动保存。最好的办法可能是搜索 fsname 值;它在所有 GmailFS 信息的主题中。 

        用户名: 验证码: 验证码,看不清楚?请点击刷新验证码 (注“”为必填内容。)


文章评论: [ 查看全部 ] 网友评论
关于本站 - 网站帮助 - 广告合作 - 友情连接 - 网站地图