Gmail을 1GB하드로 사용하기 – GmailFS

BlogLines 의 TopLinks에 갑자기 GmailFS 라는 글이 1등으로 올라왔습니다.

단어도 먼가 있어보이죠 ? 어쨋거나 Gmail 단어가 이슈인지라 멀까 하고 달려가 봤더니..

허.. Gmail 의 1GB 스토리지리눅스에 마운트 시켜 사용하는 방법에 대한 멋진 포스팅 입니다.



리눅스 커널에 가상파일시스템을 마운팅해주는 FUSE (Filesystem in USErspace) 를 이용하구요.

Gmail 과의 통신에는 libgmail을 이용합니다.

Python 으로 되어있는 FUSE 바인딩 라이브러리 와 mount.gmailfs 라는 python 코드가 같이 배포되었네요.



하여튼.. 설치방법은 GmailFS 링크에서 참조하시면 되구요..

(흑.. 사실은 많은 난관이.. python-dev 패키지가 있어야 해서리.. python을 몽창 2.3.4로 업데잇까지 하구..

업데이트후에도 array.so 가 unicode 어쩌구 에러나서 몽창 재컴파일까지.왕삽질 -_-;)



결과화면은 이렇습니다.



gmail 이 /mnt/gmail 에 마운트 되었습니다. 여유공간 1GB

여기다 1.c 라는 파일을 복사했습니다. 이제.. GMail 에 로그인 해보죠.
–MORE–



복사하고 나서 Gmail 에 로그인 해보면 파일하나당 요런 이상한 메시지들이 생깁니다.



중간에 첨부파일이 있는 놈을 클릭해보면 파일이 하나 첨부되어 있는데요

얘를 다운받아서 보면~



요렇게 제대로 보입니다. 하핫



아직 초기단계이지만.. 아주 재미난 시도인듯 합니다.

속도만 빠르다면 간단한 웹하드로도 쓸수 있지 않을까요 ^^


Leave a comment ?

86 Comments.

  1. [+^^님] 정확한 에러메시지가.. -_-?

  2. Usage: mount -V : print version
    mount -h : print this help
    mount : list mounted filesystems
    mount -l : idem, including volume labels
    So far the informational part. Next the mounting.
    The command is `mount [-t fstype] something somewhere’.
    Details found in /etc/fstab may be omitted.
    mount -a [-t|-O] … : mount all stuff from /etc/fstab
    mount device : mount device at the known place
    mount directory : mount known device here
    mount -t type dev dir : ordinary mount command
    Note that one does not really mount a device, one mounts
    a filesystem (of the given type) found on the device.
    One can also mount an already visible directory tree elsewhere:
    mount –bind olddir newdir
    or move a subtree:
    mount –move olddir newdir
    A device can be given by name, say /dev/hda1 or /dev/cdrom,
    or by label, using -L label or by uuid, using -U uuid .
    Other options: [-nfFrsvw] [-o options] [-p passwdfd].
    For many more details, say man 8 mount .

  3. [+^^님] noauto 다음에는 빈칸이 하나도 오면 안됩니다.
    콤마 사이에 빈칸을 다 지워주세요. ^^

  4. 이제 실행은 되는데
    실행후 다음과 같은 메시지가 뜨네요 ㅡㅡ
    FATAL: Module fuse not found.
    fusermount: unable to open fuse device /proc/fs/fuse/dev: No such file or directory

  5. [+^^님] fuse 설치가 제대로 안된것 같은데용 ^^;

  6. Basic Installation 이부분만해 주면 되나요?

  7. [+^^님] 예.. 저도 그걸 따라 한것 같은데요.

  8. 1번은 했는데 2번 부터어떻게 하라는건지…
    make???
    2번부터 좀 설명좀 해주시면 안될까요?

  9. [+^^님] 일반적인 설치처럼 ./configure 하신후 문제없이 종료가 되었다면,
    make 하신후 에러체크하시고, 끝까지 문제없이 빌드되었다면
    make install 까지 진행하면 되는건데요.
    3,5번은 무시하셔도 됩니다.

  10. 뭐를 make해야 하나요??
    그냥 쉘상태에서 make하면
    make: *** 타겟이 지정되지 않았고 메이크파일이 없습니다. 멈춤.
    make install은
    make: *** 타겟 `install’를 만들 규칙이 없음. 멈춤.
    이렇게 이렇게 나오고 아무것도 안되던데요…

  11. [+^^님] ./configure 가 에러없이 종료된거 맞나요 ?
    에러가 나서 Makefile 이 제대로 생성 안된것 같은데요

  12. checking for a BSD-compatible install… /usr/bin/install -c
    checking whether build environment is sane… yes
    checking for gawk… no
    checking for mawk… mawk
    checking whether make sets $(MAKE)… yes
    checking for gcc… gcc
    checking for C compiler default output file name… a.out
    checking whether the C compiler works… yes
    checking whether we are cross compiling… no
    checking for suffix of executables…
    checking for suffix of object files… o
    checking whether we are using the GNU C compiler… yes
    checking whether gcc accepts -g… yes
    checking for gcc option to accept ANSI C… none needed
    checking for style of include used by make… GNU
    checking dependency style of gcc… gcc3
    checking for ranlib… ranlib
    checking kernel source directory… Not found
    configure: error:
    *** Please specify the location of the kernel source with
    *** the ‘–with-kernel=SRCDIR’ option
    마지막에 에러가 하나 나오긴 했는데….

  13. [+^^님] 네.. 커널소스 디렉을 못찾아서 그렇네요
    강제로 –with-kernel= 인자에 소스디렉토리를 지정하셔야 할듯

  14. 어떻게 지정해줘야 하는데요??

  15. [+^^님] ./configure –with-kernel=/usr/src/kernel 이런식으로요
    먼저 님 커널소스가 어디있는지를 찾으셔서 위에 /usr/src/kernel 부분에 바꿔주세요

  16. 경로를 지정해서 실행하고 나니 오류는 발생 안하네요…
    make를 실행하니깐 뭐가 쭉~ 뜨구여
    make도 실행하니깐 마찬가지로 쭉~ 뜨네여…
    그런데 마운트를 시키면
    FATAL: Module fuse not found.
    fusermount: unable to open fuse device /proc/fs/fuse/dev: No such file or directory
    가 또 발생하네여 ㅠ.ㅠ
    이거 하나 하는데 왜이렇게 힘든지…

  17. [+^^님] make 의 메시지를 잘 보셔야 할듯..
    fuse 가 제대로 설치안되면 수 없습니다 ^^;

  18. make실행했을때
    Making all in include
    make[1]: Entering directory `/root/fuse-1.3/include’
    make all-recursive
    make[2]: Entering directory `/root/fuse-1.3/include’
    Making all in linux
    make[3]: Entering directory `/root/fuse-1.3/include/linux’
    make[3]: `all’를 위해 할 일이 없습니다
    make[3]: Leaving directory `/root/fuse-1.3/include/linux’
    make[3]: Entering directory `/root/fuse-1.3/include’
    make[3]: Leaving directory `/root/fuse-1.3/include’
    make[2]: Leaving directory `/root/fuse-1.3/include’
    make[1]: Leaving directory `/root/fuse-1.3/include’
    Making all in patch
    make[1]: Entering directory `/root/fuse-1.3/patch’
    make[1]: `all’를 위해 할 일이 없습니다
    make[1]: Leaving directory `/root/fuse-1.3/patch’
    Making all in kernel
    make[1]: Entering directory `/root/fuse-1.3/kernel’
    make[1]: `all’를 위해 할 일이 없습니다
    make[1]: Leaving directory `/root/fuse-1.3/kernel’
    Making all in lib
    make[1]: Entering directory `/root/fuse-1.3/lib’
    make[1]: `all’를 위해 할 일이 없습니다
    make[1]: Leaving directory `/root/fuse-1.3/lib’
    Making all in util
    make[1]: Entering directory `/root/fuse-1.3/util’
    make[1]: `all’를 위해 할 일이 없습니다
    make[1]: Leaving directory `/root/fuse-1.3/util’
    Making all in example
    make[1]: Entering directory `/root/fuse-1.3/example’
    make[1]: `all’를 위해 할 일이 없습니다
    make[1]: Leaving directory `/root/fuse-1.3/example’
    make[1]: Entering directory `/root/fuse-1.3′
    make[1]: `all-am’를 위해 할 일이 없습니다
    make[1]: Leaving directory `/root/fuse-1.3′
    이렇게 나오구여

  19. make install했을때
    Making install in include
    make[1]: Entering directory `/root/fuse-1.3/include’
    Making install in linux
    make[2]: Entering directory `/root/fuse-1.3/include/linux’
    make[3]: Entering directory `/root/fuse-1.3/include/linux’
    make[3]: `install-exec-am’를 위해 할 일이 없습니다
    make[3]: `install-data-am’를 위해 할 일이 없습니다
    make[3]: Leaving directory `/root/fuse-1.3/include/linux’
    make[2]: Leaving directory `/root/fuse-1.3/include/linux’
    make[2]: Entering directory `/root/fuse-1.3/include’
    make[3]: Entering directory `/root/fuse-1.3/include’
    make[3]: `install-exec-am’를 위해 할 일이 없습니다
    /bin/sh ../mkinstalldirs /usr/local/include
    /usr/bin/install -c -m 644 fuse.h /usr/local/include/fuse.h
    make[3]: Leaving directory `/root/fuse-1.3/include’
    make[2]: Leaving directory `/root/fuse-1.3/include’
    make[1]: Leaving directory `/root/fuse-1.3/include’
    Making install in patch
    make[1]: Entering directory `/root/fuse-1.3/patch’
    make[2]: Entering directory `/root/fuse-1.3/patch’
    make[2]: `install-exec-am’를 위해 할 일이 없습니다
    make[2]: `install-data-am’를 위해 할 일이 없습니다
    make[2]: Leaving directory `/root/fuse-1.3/patch’
    make[1]: Leaving directory `/root/fuse-1.3/patch’
    Making install in kernel
    make[1]: Entering directory `/root/fuse-1.3/kernel’
    /usr/bin/install -c -m 644 fuse.o /lib/modules/2.4.26/kernel/fs/fuse/fuse.o
    /sbin/depmod -a
    make[1]: Leaving directory `/root/fuse-1.3/kernel’
    Making install in lib
    make[1]: Entering directory `/root/fuse-1.3/lib’
    make[2]: Entering directory `/root/fuse-1.3/lib’
    /bin/sh ../mkinstalldirs /usr/local/lib
    /usr/bin/install -c -m 644 libfuse.a /usr/local/lib/libfuse.a
    ranlib /usr/local/lib/libfuse.a
    make[2]: `install-data-am’를 위해 할 일이 없습니다
    make[2]: Leaving directory `/root/fuse-1.3/lib’
    make[1]: Leaving directory `/root/fuse-1.3/lib’
    Making install in util
    make[1]: Entering directory `/root/fuse-1.3/util’
    make[2]: Entering directory `/root/fuse-1.3/util’
    /bin/sh ../mkinstalldirs /usr/local/bin
    /usr/bin/install -c fusermount /usr/local/bin/fusermount
    make install-exec-hook
    make[3]: Entering directory `/root/fuse-1.3/util’
    chown root /usr/local/bin/fusermount
    chmod u+s /usr/local/bin/fusermount
    make[3]: Leaving directory `/root/fuse-1.3/util’
    make[2]: `install-data-am’를 위해 할 일이 없습니다
    make[2]: Leaving directory `/root/fuse-1.3/util’
    make[1]: Leaving directory `/root/fuse-1.3/util’
    Making install in example
    make[1]: Entering directory `/root/fuse-1.3/example’
    make[2]: Entering directory `/root/fuse-1.3/example’
    make[2]: `install-exec-am’를 위해 할 일이 없습니다
    make[2]: `install-data-am’를 위해 할 일이 없습니다
    make[2]: Leaving directory `/root/fuse-1.3/example’
    make[1]: Leaving directory `/root/fuse-1.3/example’
    make[1]: Entering directory `/root/fuse-1.3′
    make[2]: Entering directory `/root/fuse-1.3′
    make[2]: `install-exec-am’를 위해 할 일이 없습니다
    make[2]: `install-data-am’를 위해 할 일이 없습니다
    make[2]: Leaving directory `/root/fuse-1.3′
    make[1]: Leaving directory `/root/fuse-1.3′

  20. [+^^님] 훔.. 메시지만 봐서는 문제가 없어 보이는데요..

  21. /proc/fs/fuse/dev 이 디렉토리가 없던데…
    혹시 fuse설치하면 같이 생겨야 되는 디렉토리 하닌가요?

  22. [+^^님] modprobe fuse 하신다음 해보시겠어요 ?

  23. modprobe fuse 하면 module fuse not found 라고 나오는데요 이건 어떻게 해야 하나요??? 모듈이 업는건지 아니면 안올라가는것인지 알수가 업네요. 가르쳐 주세요

  24. [+^^님] 훔.. 점점 알수없는 상황으로 흘러가는군요 -_-;
    FUSE 모듈을 못찾는다면 커널에 제대로 설치가 안된건데.. 이해가 안되네요. 쩝.

  25. 그럼 fuse설치를 다시 해야 하나요??
    ./configure –with-kernel=/usr/src/kernel ☜ 이부분여

  26. [+^^님] configure/make는 잘된거 같은데.. fuse 가 안되는건 이해가 잘안되네요. fuse 관련 forum 에도 내용이 별로 없네요.

  27. Bamsaemi Blog - trackback on 2004년 10월 6일 at 12:35 오후
  28. 허접 개발자 비텐펠트 - trackback on 2004년 10월 9일 at 4:22 오전
  29. 우선 저의 환경은 데비안 사지 그놈 2.6, 커널 2.6.9를 사용하고 있습니다
    GmailFS라는걸 우연히 접하게 되었는데요 설치를 제대로 했다고 생각하는데 이상하게 안되네요…
    우선 설치 순서부터 쭉 적어보겠습니다

    1. apt-get install gmailfs

    2. apt-get install python2.3-dev

    3. fuse-1.3.tar.gz 다운받아 압축풀고 ./configure;make;make install

    4. fuse-python.tar.gz 다운받아서 압축을 푼후에 터미널에서 # python setup.py build 해준후 # python setup.py install 해줬음

    5. libgmail.py 와 constants.py 를 다운받은후 /usr/local/lib/python2.3/site-packages/ 디렉토리에 두파일을 복사..

    6. gmailfs-0.3.tar.gz파일을 다운받은후 압축풀고 gmailfs.py 이파일을 /usr/local/bin 여기에 복사 그리고 mount.gmailfs 이파일은 /sbin 여기에 복사..

    7. mkdir /mnt/gmailfs

    8. /etc/fstab 여기에
    /usr/local/bin/gmailfs.py /mnt/gmailfs gmailfs noauto,username=내계정, password=내비번, fsname=zOlRRa 을 추가..

    9. 리부팅

    이렇게 하고 확인했는데 마운트가 안되어있더군요…
    그래서 직접 마운트를 해보았습니다 이렇게…

    mount -t gmailfs /usr/local/bin/gmailfs.py /mnt/gmailfs -o username=내계정, password=내비번, fsname=zOlRRa
    Usage: mount -V : print version
    mount -h : print this help
    mount : list mounted filesystems
    mount -l : idem, including volume labels
    So far the informational part. Next the mounting.
    The command is `mount [-t fstype] something somewhere’.
    Details found in /etc/fstab may be omitted.
    mount -a [-t|-O] … : mount all stuff from /etc/fstab
    mount device : mount device at the known place
    mount directory : mount known device here
    mount -t type dev dir : ordinary mount command
    Note that one does not really mount a device, one mounts
    a filesystem (of the given type) found on the device.
    One can also mount an already visible directory tree elsewhere:
    mount –bind olddir newdir
    or move a subtree:
    mount –move olddir newdir
    A device can be given by name, say /dev/hda1 or /dev/cdrom,
    or by label, using -L label or by uuid, using -U uuid .
    Other options: [-nfFrsvw] [-o options] [-p passwdfd].
    For many more details, say man 8 mount .
    debian:/home/ekdlwk#

    이렇게 나오네요…
    뭐가 빠지거나 잘못되어있는게 있나요???

  30. 구루님 감사드립니다 콤마사이에빈칸을 지우니까 마운트는 잘되네요…그런데 /etc/fstab 여기에
    /usr/local/bin/gmailfs.py /mnt/gmailfs gmailfs noauto,username=내계정,password=내비번,fsname=zOlRRa
    여기도 콤마사이에 빈칸을 지웠는데 부팅하고나면
    마운트가 안되어있네요 혹시 여기서도뭐가 잘못되어있나요?

  31. 구루님 지금 보니까 root로 로그인했을때는 마운트가 되어있네요 그런데 리부팅하고 일반계정으로 로그인하면 마운트가 안되어있구요…gmailfs는 오직루투로만 마운트가능한가요? 일반계정에서도 마운트 할수있는 방법이있을까요?

  32. Gmail이라 ..
    아주 신비감을 가져다주는존제네요 ..
    써보고 싶은데 혹시 .. 초대장 가지신분 있으신가요
    First Name: namsa
    Last Name: park
    E-mail: me1024@empal.com

  33. 저도 초대장좀

    gmail정말 인기 많군요. 말도 많고 탈도많은 지멜 저도 써보면 않될까요
    First Name: joonyoung
    Last Name: oh
    E-mail: ojy0412@empal.com

  34. gmail
    지멜 저도 써보면 않될까요
    First Name: jinsoo
    Last Name: choi
    E-mail: abrahamchoi@hotmail.com

  35. 아직도 오질않았습니다.
    다시 송부를 부탁드립니다.
    오늘도 즐거운 하루되시기 바랍니다.
    그럼….

  36. 클릭 세번으로 Gmail 계정 만들기
    http://offree.net/index.php?pl=278
    이제 이곳에서 편하게 만들어요

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Trackbacks and Pingbacks: