GmailFS - Gmail Filesystem Install and Config

Google推出1G Gmail后,有人开发出GmailFS,它是基于Python的可装载Linux文件系统,使用Gmail帐号作为存储介质。文中介绍了GmailFS的开发情况、Python语言背景,还详细说明了GmailFS的安装及配置步骤,最后提及了关于它的一些讨论。

原文链接:

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未尝不是一件好事,他们可以有更多的数据用以分析.

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

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

当前,全球经济格局深刻调整,数字化浪潮席卷各行各业,智能物流作为现代物流发展的必然趋势和关键支撑,正迎来前所未有的发展机遇。以人工智能、物联网、大数据、云计算、区块链等前沿信息技术的快速迭代与深度融合为驱动,智能物流不再是传统物流的简单技术叠加,而是正在经历一场从自动化向智能化、从被动响应向主动预测、从信息孤岛向全面互联的深刻变革。展望2025年,智能物流系统将不再局限于提升效率、降低成本的基本目标,而是要构建一个感知更全面、决策更精准、执行更高效、协同更顺畅的智慧运行体系。这要求我们必须超越传统思维定式,以系统化、前瞻性的视角,全面规划和实施智能物流系统的建设。本实施方案正是基于对行业发展趋势的深刻洞察和对未来需求的精准把握而制定。我们的核心目标在于:通过构建一个集成了先进感知技术、大数据分析引擎、智能决策算法和高效协同平台的综合智能物流系统,实现物流全链路的可视化、透明化和智能化管理。这不仅是技术层面的革新,更是管理模式和服务能力的全面提升。本方案旨在明确系统建设的战略方向、关键任务、技术路径和实施步骤,确保通过系统化部署,有效应对日益复杂的供应链环境,提升整体物流韧性,优化资源配置效率,降低运营成本,并最终为客户创造更卓越的价值体验。我们致力于通过本方案的实施,引领智能物流迈向更高水平,为构建现代化经济体系、推动高质量发展提供强有力的物流保障。
电源题电赛单相并网离网软件硬件锁相环单极性双极性调制等代码及仿真环路计算资料+原理图PCB内容概要:本文档是一份关于电力电子与能源系统仿真研究的技术资料集合,涵盖单相并网/离网系统、软件与硬件锁相环设计、单极性与双极性调制技术、虚拟同步机控制建模、P2G-CCS耦合系统、微电网优化调度、光伏风电联合运行、储能配置及需求响应等多个电力系统核心主题。文档提供了大量基于Matlab/Simulink的代码实现与仿真模型,包括LLC谐振变换器小信号分析、永磁同步电机控制、DC-AC变换器设计、光伏阵列故障仿真、直流微电网建模等,并附有原理图与PCB设计资源。同时整合了智能优化算法(如遗传算法、粒子群、灰狼优化器)、机器学习模型(如LSTM、CNN-GRU-Attention)在负荷预测、故障诊断、路径规划等领域的应用案例,形成一个跨学科的科研资源包。; 适合人群:电气工程、自动化、能源系统及相关专业的研究生、科研人员以及从事电力电子、微电网、新能源控制方向的工程师;具备Matlab/Simulink编程基础和一定电力系统理论知识者更佳。; 使用场景及目标:① 支持电赛或科研项目中对并网逆变器、锁相环、调制策略的设计与验证;② 用于复现高水平论文(如EI/SCI)中的优化调度、控制算法与仿真模型;③ 辅助开展微电网能量管理、储能配置、需求响应策略等课题的研究与代码开发;④ 提供可直接调用的算法模板与仿真平台,提升科研效率。; 阅读建议:建议按照文档结构逐步浏览,优先下载并整理网盘中的完整资源包,结合具体研究方向选取对应代码与模型进行调试与二次开发;对于复杂算法(如NSGA-II、ADMM、MPC),应配合文献理解其数学原理后再实施仿真;关注其中“论文复现”类内容以提升学术研究规范性与技术深度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值