Sistema de arquivos distribuídos usando Gmail

cvs

Nesse artigo vamos abordar um nova tecnologia de sistema de arquivos distribuídos usando o Gmail, famoso serviço de e-mail do Google com capacidade de 1GB. Abordaremos a forma de instalar e configurar para se usar o e-mail como um sistema de arquivos para backup ou qualquer outra coisa que deseje.

[ Hits: 41.026 ]

Por: Thiago Alves em 05/09/2004 | Blog: http://www.seeufosseopresidente.com.br


Introdução



Bom, vamos falar sobre o GmailFS - Gmail Filesystem.

GmailFS provê um sistema de arquivos Linux montável no qual se usa uma conta no Gmail1. GmailFS é uma aplicação escrita em Python e a infraestrutura "FUSE" userland filesystem é usada para auxiliar o uso desse sistema de arquivos. Por fim, a libgmail é usada para se comunicar com o sistema Gmail.

GmailFS suporta a maioria das operações, como ler, escrever, abrir, fechar, links simbólicos, links e renomear. Isso quer dizer que você pode usar seus comandos favoritos para operar os arquivos guardados no Gmail, por exemplo: cp, ls, ln, mv, rm, grep, etc.

NOTA: para quem ainda não sabe, Gmail é o serviço de e-mail gratuito com 1GB de cota para cada usuário que o Google oferece.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Baixando, instalando e configurando
   3. Conclusão
Outros artigos deste autor

Instalando OpenBSD no vmware

ProFTPD + MySQL - Servidor FTP com usuários em banco de dados

OpenBSD Proxy - Squid, SquidGuard, SquidClamAV e AdZapper

Instalação e configuração do Gkrellm

MPlayer - The Movie Player

Leitura recomendada

20 passos para aumentar o espaço de armazenamento de um cluster CentOS 6

fstab - Sua função e parâmetros

Sistemas de arquivos EXT3 e ReiserFS no GNU/Linux

File Globbing ou Englobamento - Introdução

Configuração do Samba no Debian Server

  
Comentários
[1] Comentário enviado por lowpis em 05/09/2004 - 17:43h

pro primeiro curioso q nao tiver gmail ainda, la vai um convite:
https://gmail.google.com/gmail/a-5e1853eeab-8d1f15f39e-750d923e23

[2] Comentário enviado por removido em 05/09/2004 - 18:13h

Eai galera .. vai uma dica de como conseguir sua conta gmail ;)

no começo poderá parecer um pouco estranho mas se você fazer exatamente como vou falar abaixo, perdendo ai.. 1 hora vc receberá comparando a mim uns 15 convites para o gmail... heheh ou então se fazer uma meia hora a metade...

1)Introdução?

Entrem em http://www.feedster.com e procurem por: "gmail","gmail invite" ou ainda "gmail accont". no meu caso eu fui mais no "gmail invite".

2) Como ter minha conta!
O esquema é simples, esse www.fedster.com, é um buscador que procura em blogs, pelo que eu entendi. e os Gordos dos Americanos(NAO CURTO ESSA RAÇA heheh) , mais enfim... você encontarra algo do tipo "Os 5 primeiros que deixar uma mensagem em meu blog receberá um invite!" pronto.. é só vc deixar algo lá em inglÊs... tipo:

<------------
Please I use an excrement of account of the hotmail of 2 megas, it sends me an invitation for the gmail.
--------------->

Eai é so aguardar.. coloque a mesmas frases em varios blogs hehehe

Que naão manja de inglês:
http://www.google.com.br/language_tools?hl=pt-BR


PS: Os três primeiros que me elogiarem pela dica ganharão 1 contive ao Gmail! heheh

Guilherme L. Stolfo
www.guinet.hpg.com.br
guinet(NOTSPAM)gmail.com





[3] Comentário enviado por cvs em 05/09/2004 - 18:15h

Quem quiser e-mail ae, manda pra mim nome, sobrenome e e-mail pra mandar o convite, tenho alguns sobrando :-)

Tem os problemas, claro, que tem qualquer sistema novo, alguns bugs... então nem venham me xingar senão funcionar hein... hehehe :-P

[4] Comentário enviado por mbmaciel em 05/09/2004 - 18:24h

Funcionou legal ! Muito maneira a dica!
Agora tenho mais uma partição de 1gb no meu hd :-)

Também tenho uns convites, quem quiser testar a dica, pode me pedir um convite por email.

[5] Comentário enviado por bramax em 06/09/2004 - 08:22h

Alguém aí sabe como mndar uma mensagem para toda a minha lista de contatos, sem ter que ficar digitando os nomes um a um?

[6] Comentário enviado por removido em 06/09/2004 - 11:56h

Gmail eh mtooo bom !! =]

[7] Comentário enviado por engos em 06/09/2004 - 13:44h

Uma das coisas que acho mais dificil no VOL é ler um artigo nota 10 de verdade, não apenas os que são por gentileza dos outros.

Esse é um dos poucos artigos que achei que não ficou devendo nada, simplesmente perfeito.

Parabéns!

[8] Comentário enviado por brunopiaui em 06/09/2004 - 14:12h

Guilherme,

muito boa a sua dica para conseguir a conta do Gmail.
Consegui a minha em menos de 1 hora.

Valeu!!!!!!!

Bruno Piaui

[9] Comentário enviado por removido em 06/09/2004 - 16:42h

OPa!, é nois malandro... vamo arrebentar esse gmail.. como aconteceu com o orkut!.


Guilherme L. Stolfo

[10] Comentário enviado por cvs em 06/09/2004 - 17:11h

Se for pro gmail ficar igual o orkut é melhor fecharem logo antes de começar a dar dor de cabeça... Por isso não gostam de brasileiros, brasileiro acha que tudo é bagunça... tsc tsc tsc.

[11] Comentário enviado por agk em 06/09/2004 - 19:23h

Parabéns, nota dez esse artigo, quero um e-mail desses também, se alguém puder me mandar um gmail invite, eheheh.
Vlw galera.

[12] Comentário enviado por icysoul em 07/09/2004 - 03:57h

Legal mesmo o artigo 10!
Outra dica valiosa pra quem quer um convite pro gmail, e so acessar o forum http://www.gmailforums.com/ e postar la em 'Accounts and Invitations', pra convites pro gmail e facim, quase sempre tu arruma um asim meio que de imediato! rsrs lokura...

Eu ainda nao consegui foi convite pro Orkut... :|
Se alguem puder de repente me mandar um ae... do um bejo na testa!!! hihihihi

[13] Comentário enviado por removido em 07/09/2004 - 12:12h

Outra dica boa...

http://freegmailinvites.com

;)

Guilherme L. Stolfo

[14] Comentário enviado por ustrucx em 08/09/2004 - 03:03h

Alguem conseguio compilar o fuse-1.3 no Conectiva 10? aqui o ./configure da o erro:
checking kernel source directory... /usr/src/linux-2.6.5-63255U10_1cl/
checking kernel source version... Not found
configure: error:
*** Cannot determine the version of the linux kernel source. Please
*** configure the kernel before running this script

[15] Comentário enviado por cvs em 08/09/2004 - 08:31h

tenta baixar o source do kernel.org e compilar ele e não usar essas versoes patcheadas do kernel... talvez assim funcione normalmente.

[16] Comentário enviado por agk em 08/09/2004 - 09:09h

Galera dá o seguinte erro quando vou instalar o fuse-python está dando o seguinte erro:
Traceback (most recent call last):
File "setup.py", line 7, in ?
from distutils.core import setup, Extension
ImportError: No module named distutils.core

Estou utilizando Debian 3.0 sarge com kernel 2.6.7.
Alguém faz idéia do que seja?

[17] Comentário enviado por agk em 08/09/2004 - 09:18h

Ops, foi mal pessoal, já resolvi o problema, estava faltando o pacote python2.3-dev
#apt-get install python2.3-dev

[18] Comentário enviado por agk em 08/09/2004 - 09:43h

olha eu denovo aqui, depois de tudo instalado sem erros quando vou montar o sistema de arquivos me retorna isso:
File "/bin/gmailfs.py", line 818, in ?
server = Gmailfs()
File "/bin/gmailfs.py", line 402, in __init__
self.ga.login()
File "/usr/lib/python2.3/site-packages/libgmail.py", line 255, in login
pageData = self._retrievePage(req)
File "/usr/lib/python2.3/site-packages/libgmail.py", line 280, in _retrievePage
resp = urllib2.urlopen(req)
File "/usr/lib/python2.3/urllib2.py", line 129, in urlopen
return _opener.open(url, data)
File "/usr/lib/python2.3/urllib2.py", line 326, in open
'_open', req)
File "/usr/lib/python2.3/urllib2.py", line 306, in _call_chain
result = func(*args)
File "/usr/lib/python2.3/urllib2.py", line 908, in https_open
return self.do_open(httplib.HTTPS, req)
File "/usr/lib/python2.3/urllib2.py", line 886, in do_open
raise URLError(err)
urllib2.URLError: <urlopen error (113, 'No route to host')>

Eu uso proxy, tem alguma coisa haver?

[19] Comentário enviado por Nick em 08/09/2004 - 11:34h

Dois pacotes ai não estão mais no souceforge: o fuse e o libgmail. onde posso encontrar?

[20] Comentário enviado por agk em 08/09/2004 - 12:00h

Eu procurei eles no google e achei com bastante facilidade.

Bem o link do fuse parece que já voltou a funcionar, o do libgmail vc pode pegar aqui:
http://sourceforge.net/project/showfiles.php?group_id=113492

[21] Comentário enviado por bluedog em 08/09/2004 - 14:07h

o pacote libgmail eh pra ser descompactdado e entao copiar os arkivos para akelas pastas como tem no artigo ou eu posso instalar a lib direto ja q uso o Slackware e o pacote esta no formato tgz?

[22] Comentário enviado por cvs em 08/09/2004 - 14:45h

cara, eh pacote tgz mas num é package slackware não... tem que fazer do jeito que tá no tutorial.

[23] Comentário enviado por coronel em 08/09/2004 - 19:26h

cara, massa D+ a dica.. estou doido pra testar no meu linux
mas nao tenho uma conta..
se puder me convidar!! muito obrigado!

abraço!

[24] Comentário enviado por bluedog em 09/09/2004 - 01:23h

caras eu fiz tudo como ta escrito mas n hora de montar apareceu a seguinte mensagem

[email protected]:/home/bluedog/Desktop/Appz/libgmail-0.0.8# FATAL: Module fuse not found.
fusermount: unable to open fuse device /proc/fs/fuse/dev: No such file or directory

se alguem souber como resolver por favor me avisem

[25] Comentário enviado por leandrosampaio em 10/09/2004 - 12:29h

Quando vou fazer o primiero passo do toturial dá esse erro..

checking for C compiler default output file name... configure: error: C compiler cannot create executables

[26] Comentário enviado por leandrosampaio em 10/09/2004 - 12:36h

estou no kurumin linux 3.2 esse n é o primireiro programa q tento instalar e da erro no ./configure :( o q devo fazer?

[27] Comentário enviado por victsa em 10/09/2004 - 16:34h

Por favor, alguém me mande um "invitation for gmail".. Obrigada, victsa.

[28] Comentário enviado por agk em 10/09/2004 - 21:03h

Galera seguinte eu ainda não consegui fazer isso funcionar, eis o erro
urllib2.URLError: <urlopen error (113, 'No route to host')>

Tenho quase certeza que é porque eu só tenho acesso via proxy, daí a minha dúvida aonde eu mexo eu coloco as váriaveis do proxy?
Please help-me.

[29] Comentário enviado por leandrosampaio em 12/09/2004 - 00:38h

*leandrosampaio usa Kurumin 3.2 instaldo no hd.

O erro enfrentado é:

[email protected]:/home/kurumin# mount -t gmailfs /bin/gmailfs.py /mnt/gmail/ -o username=*****,password=******,fsname=ZdkfE
[email protected]:/home/kurumin# Traceback (most recent call last):
File "/bin/gmailfs.py", line 21, in ?
from fuse import Fuse
ImportError: No module named fuse
[email protected]:/home/kurumin#

O que devo fazer??

[30] Comentário enviado por mfa81 em 13/09/2004 - 11:28h

tb tive esse problem um tempo depois do mount


File "/bin/gmailfs.py", line 818, in ?
server = Gmailfs()
File "/bin/gmailfs.py", line 402, in __init__
self.ga.login()
File "/usr/lib/python2.3/site-packages/libgmail.py", line 255, in login
pageData = self._retrievePage(req)
File "/usr/lib/python2.3/site-packages/libgmail.py", line 280, in _retrievePage
resp = urllib2.urlopen(req)
File "/usr/lib/python2.3/urllib2.py", line 129, in urlopen
return _opener.open(url, data)
File "/usr/lib/python2.3/urllib2.py", line 326, in open
'_open', req)
File "/usr/lib/python2.3/urllib2.py", line 306, in _call_chain
result = func(*args)
File "/usr/lib/python2.3/urllib2.py", line 908, in https_open
return self.do_open(httplib.HTTPS, req)
File "/usr/lib/python2.3/urllib2.py", line 886, in do_open
raise URLError(err)
urllib2.URLError: <urlopen error (110, 'Connection timed out')>

[31] Comentário enviado por cleberbrasil em 19/09/2004 - 22:47h

O comentario de nosso amigo Guilherme L. Stolfo não poderia ser melhor,

Valeu Camarada...

ai galera demorei 3 minutos para descolar um mote de cadastro....

[32] Comentário enviado por ustrucx em 08/10/2004 - 23:03h

Ninguem q usa conectiva tentou essa dica?
Alguem conseguio compilar o fuse-1.3 no Conectiva 10? aqui o ./configure da o erro:
checking kernel source directory... /usr/src/linux-2.6.5-63255U10_1cl/
checking kernel source version... Not found
configure: error:
*** Cannot determine the version of the linux kernel source. Please
*** configure the kernel before running this script
Nao acho que baixar e copilar um kernel seja a melhor saida =\

[33] Comentário enviado por ustrucx em 08/10/2004 - 23:17h

Resolvido:
#touch /usr/src/linux/include/version.h

[34] Comentário enviado por mafioso em 16/12/2004 - 01:39h

Acredito que deu tudo certo, o problema é que, quando tento enviar um arquvio, recebo a seguinte mensagem de erro:

ERROR:gmailfs:Send failed too many times
cp: cannot create regular file `/mnt/gmail/WHM.jpg': No space left on device

Mas se eu dou um df -h, recebo a mensagem:

Filesystem Size Used Avail Use% Mounted on
/dev/hda6 6.7G 5.7G 988M 86% /
/dev/hda1 20G 18G 1.7G 92% /mnt/win_c
/dev/hda5 12G 11G 1.5G 88% /mnt/win_d
gmailfs 1000M 1.0M 999M 1% /mnt/gmail

Pelo que pesquisei na internet, parece que não sou só eu que estou com esse problema... alguém sabe como solucionar???

[35] Comentário enviado por raphazero em 23/01/2005 - 21:04h

na instalação ocorreu tudo certo, nenhum erro, porém qdo dou um "df"
aparece o seguinte resultado.
uso slackware
agradeço desde já!

File "/bin/gmailfs.py", line 818, in ?
server = Gmailfs()
File "/bin/gmailfs.py", line 402, in __init__
self.ga.login()
File "/usr/lib/python2.3/site-packages/libgmail.py", line 255, in login
pageData = self._retrievePage(req)
File "/usr/lib/python2.3/site-packages/libgmail.py", line 280, in _retrievePage
resp = urllib2.urlopen(req)
File "/usr/lib/python2.3/urllib2.py", line 129, in urlopen
return _opener.open(url, data)
File "/usr/lib/python2.3/urllib2.py", line 326, in open
'_open', req)
File "/usr/lib/python2.3/urllib2.py", line 306, in _call_chain
result = func(*args)
File "/usr/lib/python2.3/urllib2.py", line 908, in https_open
return self.do_open(httplib.HTTPS, req)
File "/usr/lib/python2.3/urllib2.py", line 886, in do_open
raise URLError(err)
urllib2.URLError: <urlopen error (110, 'Connection timed out')>

[36] Comentário enviado por pscnuke em 02/02/2005 - 17:43h

Caros,
estou com o problema abaixo em meu Slackware 10 qdo tento instalar o fuse-python. Alguém pode me ajudar ???

[email protected]:~/download/fuse-python# python setup.py build
running build
running build_py
running build_ext
building '_fusemodule' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -O3 -march=i486 -mcpu=i686 -fPIC -I/usr/include/python2.3 -c _fusemodule.c -o build/temp.linux-i686-2.3/_fusemodule.o
_fusemodule.c:312: warning: `struct fuse_statfs' declared inside parameter list
_fusemodule.c:312: warning: its scope is only this definition or declaration, which is probably not what you want
_fusemodule.c: In function `statfs_func':
_fusemodule.c:333: error: dereferencing pointer to incomplete type
_fusemodule.c:334: error: dereferencing pointer to incomplete type
_fusemodule.c:335: error: dereferencing pointer to incomplete type
_fusemodule.c:336: error: dereferencing pointer to incomplete type
_fusemodule.c:337: error: dereferencing pointer to incomplete type
_fusemodule.c:338: error: dereferencing pointer to incomplete type
_fusemodule.c: In function `Fuse_main':
_fusemodule.c:441: warning: assignment from incompatible pointer type
_fusemodule.c:444: warning: passing arg 2 of `fuse_new_compat2' makes pointer from integer without a cast
_fusemodule.c: In function `init_fuse':
_fusemodule.c:484: error: `FUSE_DEBUG' undeclared (first use in this function)
_fusemodule.c:484: error: (Each undeclared identifier is reported only once
_fusemodule.c:484: error: for each function it appears in.)
error: command 'gcc' failed with exit status 1


Paulo
PSCNuke

[37] Comentário enviado por lhukaz em 15/02/2005 - 14:19h

estou precisando dos seguintes pacotes:

http://mesh.dl.sourceforge.net/sourceforge/avf/fuse-1.3.tar.gz
http://unc.dl.sourceforge.net/sourceforge/libgmail/libgmail-0.0.8.tgz

o link ai no artigo nÃo ta funcionando. : /

[38] Comentário enviado por pscnuke em 16/02/2005 - 09:41h

Caro lhukaz,

os dois links mudaram, procure no Google e entre no link da Sourceforge. No meu caso, usei os links abaixo:

http://sourceforge.net/projects/fuse
http://sourceforge.net/project/showfiles.php?group_id=113492

Paulo
PSCNuke

[39] Comentário enviado por pscnuke em 16/02/2005 - 11:18h

Caros,
o meu problema acima era causado porque estava tentanto usar uma versão mais atual do Fuse, mas como diz o próprio artigo do Richard Jones deve-se usar a versão 1.3.

Agora estou com outro problema. Executo o comando de montagem e aparece a seguinte mensagem:
[email protected]:~/download# fuse: warning: library too old, some operations may not not work

Qdo tento acessar a filesystem recebo a mensagem :
[email protected]:/mnt/gmail# ls
/usr/bin/ls: .: Transport endpoint is not connected

Alguém sabe o que está acontecendo ?

Paulo
PSCNuke

[40] Comentário enviado por montaro em 15/04/2005 - 23:44h

eu uso slack10 e segui passo a passo o artigo so que to com essa msg de erro ->>
lsERROR:gmailfs:Exception getting query:n=__c____d__ p=__a____fs____b__

alguem teria a solucao???

[41] Comentário enviado por removido em 21/04/2006 - 00:32h

Já não existe um RPM pra isso?
Abs

[42] Comentário enviado por rbn_jesus em 23/03/2007 - 17:11h

Estou com um problema em LVM, creio que vc possa me ajudar...
tenho uma configuração lvm em apenas 1 dispositivo, da seguinte forma:
xda1 - /boot - ext3
xda2 - lvm (lvm1 - / - ext3; lvm2 - swap)

como recupero as informações da 1ª partição do lvm neste despositivo?


Contribuir com comentário